技术指南

长上下文的位置插值

位置插值 (PI) 是一种简单、有影响力的技术,它通过将新的位置索引压缩到模型已知的范围内来扩展 Transformer 的上下文窗口。

概述

位置插值 (PI) 是一种简单、有影响力的技术,它通过将新的位置索引压缩到模型已知的范围内来扩展 Transformer 的上下文窗口。它不是推断到看不见的位置,而是在经过训练的位置内进行插值,只需要进行简短的微调。

长上下文的位置插值是一个技术构建块,会大规模影响模型质量、基础设施成本、延迟和可靠性。

深入探讨

位置插值由 Meta 研究人员(Chen 等人)于 2023 年推出,解决了使用 RoPE 的模型在外推到训练之外的位置时会发生灾难性失败的事实。这种见解是违反直觉的:PI 不是要求模型处理它从未见过的更大的位置值,而是将传入的位置索引除以比例因子,以便将 8K 的目标长度映射回原始的 2K 范围。由于模型是在该范围内进行训练的,因此旋转保持分布状态。仅经过 1,000 个微调步骤,LLaMA 模型就以这种方式扩展,可处理多达 32K 的上下文。该论文表明,外推法可以将注意力分数提高到巨大的值,而插值法可以使注意力分数保持有界和稳定,这就是为什么插值法比外推法效果好得多。

技术洞察

PI 将位置 m 重新调整为 m/s,其中 s 是扩展因子(例如,新长度除以原始长度)。对于 RoPE,这有效地缩小了相邻位置之间的旋转步长,将更多位置打包到训练的角度范围内。论文中的理论界限表明插值注意力分数保持良好控制,而朴素外推法可以产生比训练中看到的分数大几个数量级的分数,从而破坏了 softmax 的稳定性。

掌握长上下文的位置插值

位置插值 (PI) 是一种简单、有影响力的技术,它通过将新的位置索引压缩到模型已知的范围内来扩展 Transformer 的上下文窗口。它不是推断到看不见的位置,而是在经过训练的位置内进行插值,只需要进行简短的微调。长上下文的位置插值是一个技术构建块,会大规模影响模型质量、基础设施成本、延迟和可靠性。为了建立深入的理解,请将长上下文的位置插值视为一种操作模型,而不是单个功能:定义所需的结果,澄清假设,并将系统可以可靠地执行的操作与仍需要专家判断的操作分开。

在实践中,使用长上下文位置插值的强大团队可以根据可靠性和成本来优化架构、数据和基础设施选择。他们记录明确的成功标准,根据实际数据和工作流程进行测试,并根据观察到的失败模式而不是一次性基准测试胜利进行迭代。这就是理论理解转变为跨产品、政策和运营的持久能力的地方。

多年来,架构决策决定着性能和运营成本。与此同时,优化一个基准测试可以隐藏更广泛的系统弱点。最具弹性的方法是将实验速度与治理规则结合起来:运行试点、捕获证据、发布决策日志,并随着模型行为、用户期望和监管要求的发展不断更新保障措施。

战略影响

多年来,架构决策决定着性能和运营成本。

多年来,架构决策决定着性能和运营成本。在高质量部署中,这会转化为可衡量的操作规则、所有权边界和定期审查仪式,以便团队可以增强信心,而不是扩大模糊性。

技术教育帮助团队选择正确的堆栈,而不仅仅是最新的堆栈。

技术教育帮助团队选择正确的堆栈,而不仅仅是最新的堆栈。在高质量部署中,这会转化为可衡量的操作规则、所有权边界和定期审查仪式,以便团队可以增强信心,而不是扩大模糊性。

更好的工程选择可以减少生产中的可靠性事故。

更好的工程选择可以减少生产中的可靠性事故。在高质量部署中,这会转化为可衡量的操作规则、所有权边界和定期审查仪式,以便团队可以增强信心,而不是扩大模糊性。

长上下文位置插值的未来

位置插值成为一系列后续产品的基础,包括 NTK 感知缩放和 YaRN,它们更有选择性地进行插值以保留局部细节。发展轨迹是需要很少或不需要微调的方法,以及将长上下文处理融入到预训练中。 PI 仍然是一个有价值的基线,并且通常与更新的频率感知方案相结合,以有效地达到 128K 以上的上下文窗口。

现实世界的实施

通过大约 1,000 个微调步骤扩展 2K 上下文 LLaMA 模型以处理 8K-32K 令牌

调整现有的聊天模型以进行长文档摘要,而无需从头开始重新训练

作为 NTK 感知扩展和 YaRN 改进的概念基线

对最初使用短窗口训练的模型启用长上下文代码或法律文档分析

实施模式

实践中长上下文的位置插值

通过大约 1,000 个微调步骤扩展 2K 上下文 LLaMA 模型以处理 8K-32K 令牌。

通过大约 1,000 个微调步骤扩展 2K 上下文 LLaMA 模型以处理 8K-32K 令牌 当团队预先定义质量阈值、为边缘情况保留人工升级路径并随着时间的推移跟踪生产力增益和错误成本时,通常会获得更好的结果。

实践中长上下文的位置插值

调整现有的聊天模型以进行长文档摘要,而无需从头开始重新训练。

调整现有的聊天模型以进行长文档摘要,而无需从头开始重新训练当团队预先定义质量阈值、为边缘情况保留人工升级路径并随着时间的推移跟踪生产力增益和错误成本时,通常会获得更好的结果。

实践中长上下文的位置插值

作为 NTK 感知扩展和 YaRN 改进的概念基线。

作为 NTK 感知扩展和 YaRN 改进的概念基线 当团队预先定义质量阈值、为边缘情况保留人工升级路径并随着时间的推移跟踪生产力增益和错误成本时,通常会获得更好的结果。

实践中长上下文的位置插值

对最初使用短窗口训练的模型启用长上下文代码或法律文档分析。

对最初使用短窗口训练的模型启用长上下文代码或法律文档分析当团队预先定义质量阈值、为边缘情况保留人工升级路径并随着时间的推移跟踪生产力增益和错误成本时,通常会获得更好的结果。

风险与防护栏

!

优化一项基准测试可以隐藏更广泛的系统弱点。

!

基础设施和维护成本常常被低估。

!

随着系统变得更加复杂,安全性和可观察性差距可能会扩大。

实施路线图

1

在实施之前定义延迟、质量和成本目标。

在实施之前定义延迟、质量和成本目标。将每个步骤视为证据门:如果不满足标准,则暂停推出,缩小差距,然后再扩大使用。

2

在实际负载和数据条件下进行基准测试。

在实际负载和数据条件下进行基准测试。将每个步骤视为证据门:如果不满足标准,则暂停推出,缩小差距,然后再扩大使用。

3

仪器监控错误、漂移和用户影响。

仪器监控错误、漂移和用户影响。将每个步骤视为证据门:如果不满足标准,则暂停推出,缩小差距,然后再扩大使用。

4

在扩展之前准备回滚和事件响应路径。

在扩展之前准备回滚和事件响应路径。将每个步骤视为证据门:如果不满足标准,则暂停推出,缩小差距,然后再扩大使用。

不断探索