共计 4601 个字符,预计需要花费 12 分钟才能阅读完成。
明天在 LLM 上构建产品的技术。
古代指令调整语言模型(LLM)是软件工程师工具箱中的最新工具。退出数据库、网络、超文本和异步 Web 应用程序等经典技术,咱们当初有一种新的使能技术,它看起来十分弱小,但其最佳应用程序尚不分明。
ChatGPT 让你发现这些可能性。您能够在 GPT-4 驱动的聊天窗口中制作一些狂野而乏味的体验原型。有时感觉就像你在与 AI 交谈的体验。
ChatGPT 还能够帮忙您更好地理解 LLM 的许多弱点:他们无限的数学能力、他们遗记的偏向、他们一次遵循许多指令的挣扎,以及他们制作狗屎的偏向。
ChatGPT 不是很有用的是理解如何将 LLM 与其余工具组合成面向用户的精美产品。你晓得,你能够建设业务的货色。基于 ChatGPT 的原型最后往往令人兴奋,而后当您达到该环境的极限时会令人悲观。(或者,或者,当您意识到您的概念非常简单,您的潜在客户应该间接应用 ChatGPT 时。
这可能会误导人们认为超过 ChatGPT 的能力须要某种迷信冲破。
ChatGPT 是一个功能强大但很小的沙盒。
尽管目前的 LLM 不能齐全取代人类在许多工作中的技能,但它们曾经可用于大大减速和降级许多人类的致力。窍门是将它们与其余工具组合在一起,以加重模型的弱点,而不仅仅是简略的聊天工作流程。
侥幸的是,这能够通过一些业务流程胶水代码来实现。你能够本人构建它,或者应用像 LangChain 或 Semantic Kernel 这样的新兴工具。无论哪种形式,一旦您通过编程环境与 LLM 进行交互,您就能够应用多种办法来突破 ChatGPT 的小盒子。
让咱们只看其中的十个。
1. 转动旋钮
首先,语言模型具备不同的生成设置,这可能会导致齐全不同的后果。尽管大多数参数只会逐渐改善(或好转)后果,但这里有一个弱小的性能:近确定性。
LLM 有一个温度参数,在其默认程度下,将激发更多创造性和乏味的后果。然而,温度设置为 0 将批示模型始终为给定输出生成最可能的输入。基本上,无聊。
零温度对于正确和统一比乏味和引人入胜更重要的利用十分有用。
LLM 善于语言,但在计算机通常善于的一些工作方面很弱。侥幸的是,通过提供 LLM 工具来缓解这种状况在概念上很简略。
例如,家喻户晓,LLM 在数学方面并不善于。这仿佛是一个很大的限度,但你能够提醒模型不应用语言推理来执行数学运算,而是通过调用过程 计算器
您提供的函数。这相似于人类做数学的形式:如果它很简略,咱们可能会在脑海中做,兴许是谬误的。如果计算器很不便,咱们会应用它。
这概括了:给 LLM 一个新的工具,而后砰!你的语言模型能够做语言的事件,而你的过程代码(便宜地)计算货色。它能够是天作之合。
此办法实用于您能够为其定义 API 的大多数内容。你能够给 LLM 提供调用 Zapier 的工具,调用 shell 脚本,搜寻互联网,查看天气,从数据库中读取或写入,或者调用任何简略的函数或查问。ChatGPT 插件将这种办法产品化,LangChain 反对工具应用曾经有一段时间了。几周前,GPT-3.5 和 GPT-4 进行了更新,以更好地了解自定义函数调用,因而这些 API 当初具备一流的反对,能够通知 LLM 它可用的工具。
让咱们看一下工具应用的一种家养案例。
3. 给你的法学硕士一个口译员
软件界正在进行的争执之一是:LLM 会使软件开发快 10% 还是快 10 倍?偏向于 10% 答案的人通常还没有以下两种经验:
- 应用 GPT-4 帮忙构建 GPT-4 十分理解的软件
- 应用主动解释 LLM 代码输入的工作流
例如,您能够让 LLM 生成一个新类,而后按程序查看该类是否通过了您的自动化测试套件。如果失败,请将谬误反馈到模型中重试。这不会产生 100% 的自主编码,但它能够让您比将内容粘贴到 ChatGPT 中更快。
更一般地说,让 LLM 应用代码进行推理可能十分弱小。家喻户晓,通过要求 LLM“一步一步地思考”并在最终答案之前输入他们的思维链,您能够从 LLM 那里取得更好的答案。该技术的一个降级是让它将思维链转换为 Python 脚本,该脚本在执行时将确定答案。
当然,你能够让 ChatGPT 生成 Python 并将其手动粘贴到解释器中。但在相似 LangChain 的脚本环境中,代码评估能够成为工作流的一部分。反过来,这个循环能够成为咱们尚未齐全构想的性能和产品的构建块。
(外科医生的正告:给 LLM 一个代码解释器和同时拜访互联网应该只在衰弱剂量的偏执狂的状况下实现。
4. 链接提醒
链接是在 LLM 上构建应用程序的根本技术。尽管 GPT-4 在遵循多局部和多阶段指令方面比 GPT-3.5 好得多,但足够简单的提醒依然会导致规定和细节被抛弃在地板上。以后的 LLM 在范畴狭隘的工作和示例中做得更好,因而开发人员通常将其多局部提醒拆分为两个或多个链式申请。
例如,在游戏中,您能够首先让模型以极大的创意激情形容玩家背后的精彩场景,而后让第二个提醒在给定该场景的状况下为玩家精心生成正当的多项抉择选项。或者,如果用户的问题是对于迷信的,你能够先问一个便宜的模型,如果是,而后问一个低廉的迷信意识模型来思考他们的问题。
链接的一个十分有用的利用是有一个提醒来评估另一个提醒的输入。尽管依附模型来评估本人必定会给你带来麻烦,但在许多状况下,GPT-4 能够对另一个提醒的工作进行有用的评分,无论是启动重试、进行还是人工审查标记。
您还能够应用自评分来取得更多创意或乏味的输入,尤其是当品质比速度或老本更重要时。你能够问一个 LLM“为这个故事生成 20 个潜在的题目”,将其输出到“依据这四个规范对这些题目中的每一个进行评分”,而后以编程形式抉择最有心愿的一个。
当然,LLM 对最有前途的题目的想法可能偶然依然是蠢笨的垃圾。稍后会具体介绍。
5. 让你的法学硕士机密思考
ChatGPT 生成的所有内容都会显示给用户。对于某些用例来说,这很好,但它可能会毁坏某些产品指标。例如,如果您心愿 LLM 促成杰出的辅导课程,游戏或任何其余流动,其中人类会在谈话前记笔记或收集他们的想法,您心愿尝试雷同工作的模型可能在生成用户可见的货色之前生成“外部思维”。
这能够像通知模型一样简略,首先输入其思维链或暗藏的推理。< 暗藏 >
,而后追随其面向用户的输入。出现后果时,只需显示非暗藏文本。
因为这可能有点容易出错,因而理论应用程序通常应用提醒链接来容许暗藏工作 – 两头提醒产生长期“想法”,这些“想法”被输出到生成用户可见输入的提醒中。
6. 动静提醒模型
ChatGPT 的另一个大限度是提醒是您粘贴的动态文本。为了在这项技术上构建理论产品,产品工程师通常应用某种模板零碎在运行时为其模型提供提醒的不同变体。
动静提醒通常包含用户上下文、已知良好的输入示例、知识库文章、文档等变量 – 所有大小都适宜相干的上下文窗口和生产中的老本限度。
模板化作为一种疾速的工程工具是不言而喻的,但它很好地阐明了为什么来到 ChatGPT 并进入代码能够解锁一些十分根本的试验和迭代工具。
7. 提供事实
事实是工程师放入其提醒模板中最常见的内容。家喻户晓,LLM 偏向于虚构在不确定时仿佛正当的事实信息。在模型级别上夯实这一点是一个乏味的踊跃钻研畛域,但明天咱们能够通过将相干的实在事实增加到咱们的输出中来提供帮忙。
例如,要响应用户输出,例如“Slurm 是如何制作的?”,您能够首先查问填充了嵌入的向量数据库。这使您能够提取与用户输出语义类似的事实。输出那些通过审查的 Slurm 事实以及用户的问题能够大大减少模型对其预训练的依赖,这可能对与 Slurm 相干的见解造成了灾难性的鄙视。
通过这种形式,咱们通常能够应用 LLM 来取得良好的输入,这些主题要么艰涩难懂,比模型的数据截止日期更新,特定于您的产品,要么只是在您的模型训练的现有数据集中代表性有余。
如果我的指南对你来说还不够企业,A16Z 有这个 LLMOps 的架构图和一个不便的产品列表 他们投资了 你能够应用。
为模型提供事实的一个特例是建设“记忆”。ChatGPT 执行一种特定的操作:当您进行新查问时,它会将聊天线程中最近的几千字文本发送到模型。通过这种形式,ChatGPT 有一些短期记忆。
回到现代 – 四个月前 – 我揣测大型上下文窗口对于有一天创立一个 LLM 驱动的代理是必要的,感觉它有一个长期稳固和一直增长的内存。在 Anthropic 新的 100k 令牌上下文窗口和让模型存储和检索要害事实的程序工具之间,当初齐全有可能建设一个伙伴或教练,就如同它有一个长期记忆一样。
抓住你的屁股。
8. 构建相似聊天的体验
尽管聊天体验将是微小的,并且变得越来越有用,但聊天只是咱们能够用 LLM 构建的一件事。产品设计师的想象力才刚刚开始涉及这里可能的外表。
才华横溢的设计师玛吉·阿普尔顿(Maggie Appleton)对这些用户体验的可能性进行了很好的摸索,题目为“为什么我厌恶聊天机器人”。其核心思想是,语言模型能够帮忙咱们剖析、揭示、倡议、分类、挑战、标记、自动化,以及以其余形式加强与聊天甚至撰写文本无关的生存品质性能。
如果你发现你的团队想晓得,“咱们能够让 LLM 生成文本到咱们产品中的哪些文本字段?”那么挑战本人,跳出这个框框。
9. 更换模型
截至 2023 年 6 月,大多数基于 LLM 构建的产品团队都在应用 OpenAI 的 GPT API。(也就是说,如果他们的公司法律和合规霸主容许他们这样做。否则,他们可能很难从以后的开源代替计划中取得可比的货色。
一旦可用的模型和咱们的 LLMOps 技能成熟,这种状况就会扭转。有几千——几万?– 明天尝试微调开源模型以在特定工作上取得足够好的性能的团队。从实践上讲,调整的较小模型能够防止围绕 OpenAI 的 GPT API 的老本,合规性或法律问题。尽管微调已经是一种低廉的光明艺术,但 LoRA 等参数高效微调办法正在使其更具老本效益,并且入站工具将使微调更加用户敌对。
目前,OpenAI 的 GPT API 目前不反对微调。据报道,这只是因为他们还不能足够快地购买 GPU 来满足需要。到 2024 年,LLM 驱动的产品仿佛可能会常常对其局部提醒(或输出查问类别)应用不同的微调模型,这些模型明天已被原型化为一个大型通用 ChatGPT 提醒。
更进一步,LLM 非常适合原型设计和发现 ML 的用例,但“传统”ML 技术可能做一些同样的事件。一旦你用 LLM 证实了一个概念,并心愿在生产中扩充它,那么 LLM 是否是扩大和迭代该性能的最佳形式,以及更传统的机器学习办法是否能够更快,更便宜地取得雷同的后果。
10. 让一个人参加循环
尽管法学硕士将以粗浅的形式扭转常识工作,但它们实质上依然是人类致力的加速器。在很多状况下,基于 ChatGPT 的产品原型会绊倒,因为它们被提醒排除人为因素,并在没有帮忙的状况下间接跳到最终答案。
Github Copilot 和备受期待的 GPT- 4 驱动的 Copilot X 是 LLM 的突破性杀手级应用程序的局部起因是它们基本上是人类加速器。GPT 甚至无奈自行近程构建和保护大型软件应用程序,但 Copilot 是一个很好的编码搭档——您现有技能和用意的放大器。通过提出倡议并在工作中创造性较低的局部进行第一次尝试,Copilot 使其人类飞行员更无效。
这样的案例很多。明天的 LLM 在齐全自动化的工作流程中挣扎,但通常能够为人类提供引人注目的选项或终点。
在原型设计和摸索 LLM 驱动的产品时,我激励您不仅摸索咱们如何实现自动化,而且如何减速和赋予人们势力。古代机器学习模型能够帮忙咱们学习、发现和获得比以前更多的成就。