什么是LLM?训练、上下文和工具解析

什么是LLM?

Scrapeless Web Unlocker 检索 LLM 应用可以作为外部上下文使用的网页内容。

一个LLM,或大型语言模型,是一种机器学习模型,它在大量语言数据上进行训练,以学习支持文本生成、摘要和分类等任务的模式。许多当前的LLM使用变换器架构。它们将文本作为标记处理,并根据学习的参数和特定请求提供的上下文生成输出。

一个 LLM 是一个应用程序的组成部分。聊天界面、对话存储、搜索连接器、文档权限和周围的工具是单独的系统。这一区别解释了为什么围绕同一模型构建的两个产品可以表现得非常不同。一个可能仅仅根据提示回答;另一个可能检索当前文档或执行授权任务。

标记和预测任务

令牌是由分词器生成的单元,它们不一定对应整个单词。一个名称、标点符号或单词片段可能占据其自身的令牌。不同的分词器以不同的方式划分相同的文本。这会影响输入长度以及应用程序估算其可以提供的上下文量的方式。

在自回归语言模型中,生成通过从可用序列中预测下一个标记开始,然后继续扩展序列。结果看起来可能像是一个完整的计划段落,即使生成是逐步进行的。应用程序可以在输出到达时将其流式传输给用户。

一个可能的延续不一定是真实的陈述。一个模型可以生成一个合理的引用或一个听起来熟悉的解释,而无需访问支持它的证据。对于依赖确切事实的工作,设计应用程序以检索来源并检查输出,而不是将语法上的信心视为事实信心。

变压器的重要性

变压器使用注意力机制来计算标记表示之间的关系。注意力帮助模型在处理语言时利用上下文:一个词的意义可能取决于其周围的词以及任务的要求。 原始变换器架构 建立了一种基于注意力的方法,这种方法成为现代语言建模的核心。

一个有用的区分是模型架构和完整模型之间的区别。架构描述了计算结构。训练数据、优化、参数值以及后来的适应性决定了完整系统行为的很大部分。知道一个模型是变换器并不能告诉你它在你特定文档上的准确性。

“large” 这个词没有一个单一的阈值使得其上方的每个模型都是 LLM,而其下方的每个模型都是其他类型。参数数量是一个特征,但任务性能还依赖于训练选择和评估条件。避免仅仅根据大小选择系统。一个较小的模型可能足够应对具有明确架构的狭窄提取任务。

预训练、适应和推理

预训练使用大量的训练集合调整模型参数。后期的适应可以形成指令遵循、首选响应风格或在专业任务上的表现。推理是使用生成的模型处理新输入并产生输出。这些阶段具有不同的成本和对系统的不同影响。

在提示中提供文档是一种推理时操作;这本身并不意味着模型的权重已经被更新。同样,应用程序提供的对话历史可以帮助模型维持上下文,而不会永久性地教给基础模型这些信息。数据保留和未来的训练使用取决于服务和配置,因此应单独检查。

研究关于 few-shot 语言模型行为 探索上下文中的示例如何在没有特定于任务的参数更新的情况下指导任务。对于应用程序设计,这提示了一个实际的首次实验:在决定需要一个自定义训练项目之前,提供清晰的指示和典型示例。

上下文窗口的作用

上下文窗口限制了模型在请求中可以考虑的标记化材料的数量,这取决于模型和服务配置。指令、用户内容、先前的消息、检索到的段落和工具结果都可能竞争该空间。大型广告窗口并不意味着每个包含的细节都会同样好地使用。

研究内容 在长上下文中的信息定位 展示为什么上下文长度和上下文的有效利用必须分别评估。不要假设将整个文档存档放置在一个提示中等同于仔细选择能够回答问题的段落。

对于政策助手,保持问题、适用的政策版本以及相关例外尽可能靠近,以便被认为是一起考虑的。删除重复的导航文本和过时的副本。如果源材料存在冲突,明确保留该冲突,而不是仅仅因为某段包含查询的关键字而选择该段。

检索提供了应用程序外部证据

检索在请求时从模型参数外部提供材料。检索系统可以搜索数据库、查询索引或收集网页。然后,应用程序将所选内容呈现给LLM。这有助于系统处理与模型训练独立变化的信息。

作为一个说明性的文档助手,源管道可以收集已批准的公共文档,提取部分内容,保留其URL并为搜索建立索引。当读者询问某个功能时,系统检索适用的部分并要求模型根据该证据进行回答。源链接应保持可用,以便检查响应。

网页解锁器 当源需要呈现的网页内容时,支持收集步骤。检索到的材料仍需进行质量检查:验证到达的页面是否正确,保留标题和资格,并排除导航或访问挑战文本。 网站文本收集工作流 涵盖源准备,这在构建检索语料库时也很重要。

工具让模型参与工作流

工具暴露出可以被周围应用程序调用的动作或信息源。模型可能会提出工具调用,但主机应用程序控制调用是否被允许以及如何返回其结果。因此,启用工具的助手可以做的不止生成散文,同时仍然依赖于普通软件进行执行。

将读取操作与更改外部状态的动作分开。阅读目录和提交订单可能涉及同一个网站,但它们需要不同的授权。工具描述应清楚地说明输入、输出和副作用,以便模型和操作员都能理解选择。

将返回的网页内容视为数据。告诉助手忽略说明或将信息发送到其他地方的文档不是经过授权的用户请求。保持任务说明与被分析材料之间的界限。检索扩展了应用程序可以读取的内容,这使得这个界限变得更加重要。

大型语言模型、嵌入和搜索系统

嵌入模型生成有助于比较的表示,而生成性大型语言模型生成诸如答案或摘要的序列。搜索引擎检索候选文档。代理应用程序可以将所有这些与工具和控制循环结合起来。名称指代不同的功能,即使一个产品将它们捆绑在一起。

选择满足任务的最小工作流。如果要求是找到确切的产品标识符,数据库查询也许就足够了。如果要求是分组语义上相似的描述,嵌入可能会有所帮助。如果是用简单的语言解释检索的政策,生成模型可以在源选择正确后做出贡献。

对于可重复的提取,定义输出字段并在模型外部进行验证。一个看似格式良好的答案仍然可能包含错误货币的价格或从无关页面部分复制的日期。使用明确的缺失值规则,并保留每个重要字段背后的证据。

评估大型语言模型应用程序

一个大型语言模型应用程序应根据用户需要完成的任务进行评估,而不仅仅是根据其响应的流利度。收集代表性问题和预期的证据,包括系统应弃用的情况。保留冲突文档、模糊说明和缺失源信息的例子。

单独评估各个阶段。是否收集到预期的页面?检索是否选择了正确的部分?模型是否遵循了请求的格式?最终答案是否仍然在证据范围内?一个单一的总体评分可能掩盖导致失败的组件,进而导致不合理的更改以修复问题。

以阶段的形式跟踪成本和延迟。收集基础设施有其自己的 定价,模型推理有单独的预算。减少无关文本可能会改善成本和答案质量。更换模型应在相同的保留任务上进行测试,以使比较反映真正的差异。

结论

大型语言模型学习语言中的模式并使用上下文生成有用的输出,但应用程序必须提供其证据、权限和质量控制。首先定义任务和能够支持它的源。然后决定模型是否需要检索、外部工具,或只是一个更清晰的提示。这种方法使改进更容易测量,也使失败更容易解释。

给你的大型语言模型工作流更好的源材料

使用Scrapeless收集已呈现的公共网页内容,并保留应用程序所需的证据。

今天注册并获得 $5免费信用 — 无需信用卡.

领取你的5美元信用→

常见问题

问:大型语言模型和聊天机器人是一样的吗?

大型语言模型是一种模型,而聊天机器人是可能使用大型语言模型的应用接口。应用程序可以添加搜索、存储的对话历史、工具和权限。这些周边功能不应假定存在于基础模型中。

问:大型语言模型会自动知道当前信息吗?

大型语言模型不会自动接收当前的外部信息。新鲜材料必须通过上下文或连接的检索工具传递。即使有检索,应用程序仍需要检查出版日期、源质量,以及检索的文本是否确实支持其答案。

问:提示和训练是一样的吗?

提示提供请求的说明或示例;训练则改变模型参数。提示可以在不更新模型权重的情况下显著影响答案。由应用程序提供的持久内存是另一种独立机制。

问:大型语言模型可以自行浏览网站吗?

大型语言模型需要应用程序提供的浏览或检索功能才能访问网站。模型可能会请求一个动作,但外部软件执行它并返回结果。网站访问、数据提取和答案生成应该逐一进行验证。

问:大型语言模型应该如何处理缺失的证据?

大型语言模型应用程序应识别缺失证据,并避免将不支持的答案呈现为确凿事实。在评估中包括无法回答的问题,并指定预期的响应。这测试了一种普通答案质量示例通常忽视的行为。

参考资料