Connect with us

思想领袖

大型语言模型(LLM)将如何驱动未来应用

mm

生成式AI,特别是语言风格的ChatGPT无处不在。大型语言模型(LLM)技术将在未来应用的开发中发挥重要作用。LLM在理解语言方面非常出色,因为它们的基础模型已经在数万亿行的公共领域文本(包括代码)上进行了广泛的预训练。像监督微调和强化学习与人类反馈(RLHF)这样的方法可以使这些LLM更加高效地回答特定问题和与用户交谈。当我们进入下一个由LLM驱动的AI应用阶段时,以下关键组件将对这些下一代应用至关重要。下面的图表显示了这一进展,随着您向上移动链条,您在应用中构建更多的智能和自主性。让我们来看看这些不同的层次。

LLM调用

这些是直接调用完成或聊天模型的LLM提供商,如Azure OpenAI或Google PaLM或Amazon Bedrock。这些调用具有非常基本的提示,并且主要使用LLM的内部内存来产生输出。

示例:要求一个基本模型,如“text-davinci”,“讲一个笑话”。您提供很少的上下文,模型依赖于其内部预训练内存来生成答案(在下面的图中用绿色突出显示 – 使用Azure OpenAI)。

提示

下一个智能层次是将更多上下文添加到提示中。有技术可以应用于LLM的提示工程,可以使它们提供定制的响应。例如,当生成电子邮件发送给用户时,用户的一些上下文信息,过去的购买和行为模式可以作为提示来更好地定制电子邮件。熟悉ChatGPT的用户将知道不同的提示方法,例如提供示例,这些示例由LLM用来构建响应。提示可以增强LLM的内部内存,添加更多上下文。示例如下。

嵌入

嵌入将提示提升到下一个层次,通过搜索知识存储以获取上下文并追加到提示中。在这里,第一步是创建一个带有未结构化文本的文档存储,并通过索引文本和填充向量数据库使其可搜索。为此,使用OpenAI的“ada”嵌入模型,该模型接受一块文本并将其转换为n维向量。这些嵌入捕获了文本的上下文,因此在向量空间中,相似的句子将具有接近的嵌入。当用户输入查询时,该查询也被转换为嵌入,并将该向量与数据库中的向量进行匹配。因此,我们获得了前5或10个匹配的文本块作为上下文。查询和上下文被传递给LLM,以类似人类的方式回答问题。

今天,链是最先进和成熟的技术,正在被广泛用于构建LLM应用。链是确定性的,其中一系列LLM调用被连接在一起,一个LLM的输出流入一个或多个LLM。例如,我们可以有一个LLM调用查询SQL数据库并获取客户电子邮件列表,然后将该列表发送到另一个LLM以生成个性化电子邮件发送给客户。这些LLM链可以集成到现有的应用程序流中以生成更有价值的结果。使用链,我们可以用外部输入(如API调用和与知识图的集成)来增强LLM调用,以提供上下文。此外,今天有多个LLM提供商可用,如OpenAI、AWS Bedrock、Google PaLM、MosaicML等,我们可以将LLM调用混合到链中。对于链元素具有有限智能的元素,可以使用较低的LLM,如“gpt3.5-turbo”,而对于更高级的任务,可以使用“gpt4”。链为数据、应用和LLM调用提供了抽象。

代理

代理是一个在线辩论的话题,特别是在人工通用智能(AGI)方面。代理使用高级LLM,如“gpt4”或“PaLM2”,来规划任务,而不是预定义的链。现在,当有用户请求时,基于查询,代理决定要调用的任务集,并动态构建链。例如,当我们配置代理使用命令“当贷款年利率由于政府法规更新而更改时通知客户”时,代理框架会使LLM调用来决定采取的步骤或要构建的链。在这里,它将涉及调用一个应用程序来抓取监管网站并提取最新的年利率,然后LLM调用搜索数据库并提取受影响的客户电子邮件,最后生成电子邮件来通知每个人。

最后的思考

LLM是一种迅速演化的技术,每周都有更好的模型和应用被推出。从LLM到代理的智能阶梯,随着我们向上移动,我们构建了更复杂的自治应用。更好的模型将意味着更有效的代理,下一代应用将由这些驱动。时间会告诉我们下一代应用将会有多先进,以及它们将被什么模式所驱动。

Dattaraj Rao, Persistent Systems的首席数据科学家,是书籍“Keras to Kubernetes: The Journey of a Machine Learning Model to Production”的作者。在Persistent Systems,Dattaraj领导人工智能研究实验室,探索计算机视觉、自然语言理解、概率编程、强化学习、可解释性人工智能等领域的最先进算法,并展示其在医疗保健、银行和工业领域的应用性。Dattaraj在机器学习和计算机视觉领域拥有11项专利。