大型语言模型(LLMs)虽然取得了显著进展,但其在有效处理长上下文序列方面的局限性依然存在。尽管像 GPT-4o 和 LLaMA3.1 这样的模型支持长达 128K 个标记的上下文窗口,但在扩展长度上保持高性能却颇具挑战。旋转位置嵌入(RoPE)在 LLMs 中编码位置信息,但在超出其预训练限制时会出现分布外(OOD)问题。这些 OOD 值出现在高维 RoPE 嵌入中,导致性能下降。更长的上下文窗口对于多轮对话、文档分析和长篇推理等人工智能应用至关重要。在没有有效的扩展方法的情况下,LLMs 在超出其默认长度时会在效率和准确性上挣扎。
大多数现有的扩展上下文窗口的方法都依赖于基于启发式的 RoPE 重新缩放,这未能完全解决 OOD 问题,通常达不到目标有效上下文长度。像 YaRN、NTK 和 LongRoPE 这样的方法从理论模型中推导出重新缩放因子,但实际测试揭示了显著的性能权衡。例如,当 LLaMA3.1 使用 YaRN 扩展其上下文窗口时,在 RULER 基准测试中,性能在超过 64K 个标记后急剧下降。扩展上下文长度也经常降低短上下文性能,使得这些方法在短距离和长距离处理应用中不切实际。在 Phi3-mini-3.8B 等模型中,这一问题尤为严重,简单的 RoPE 扩展会使 MMLU 分数降低 7.56 分。
微软的研究人员引入了 LongRoPE2 来克服这些局限性。LongRoPE2 的设计目标是将 LLMs 的上下文窗口扩展到 128K 个标记,同时保持超过 98.5% 的短上下文准确性。它通过解决三个核心问题来实现这一目标。首先,研究团队假设高维 RoPE 在训练中不足,导致在扩展标记位置时出现意外的 OOD 值。为了缓解这一问题,LongRoPE2 引入了一种针驱动的困惑度(PPL)评估,专门针对需要深度上下文理解的标记,与传统的困惑度度量不同,后者无法区分关键和非关键标记。其次,LongRoPE2 采用了一种基于进化搜索的 RoPE 重新缩放算法,优化了超出理论假设的重新缩放因子,确保与扩展上下文更好地对齐。最后,它结合了混合上下文窗口训练,模型在短序列和长序列上都进行了微调,从而防止了短上下文任务的性能损失,同时确保了长上下文的有效适应。
LongRoPE2 的技术方法从识别 RoPE 嵌入中的真正临界维度开始。研究发现,理论临界维度低估了 RoPE 缩放的实际需求,实证观察表明,RoPE 维度需要比预测更大的缩放因子才能达到最佳性能。这促使开发了一种自适应重新缩放方法,使用迭代进化搜索来微调 RoPE 缩放因子。与以前的静态缩放方法不同,LongRoPE2 根据每个标记的困惑度评估动态调整重新缩放,确保嵌入保持在预训练范围内,同时在长上下文中最大化其有效性。该算法确定了高维 RoPE 的最佳重新缩放因子,同时对低维应用 NTK 缩放,确保了平稳的适应过程。这种方法有效地将 LLaMA3-8B 扩展到 128K 个标记,同时保持了超过 97% 的短上下文准确性,并在长上下文基准测试中超越了以前的方法。
性能评估显示 LongRoPE2 在各种基准测试中的优越性。广泛的 Phi3-mini-3.8B 和 LLaMA3-8B 测试表明,LongRoPE2 在 RULER、LongBench 和 InfiniteBench 上取得了最先进的结果。在评估 LLMs 长上下文处理能力的 RULER 基准测试中,LongRoPE2 将 LLaMA3-8B 扩展到 128K 个标记,得分 82.03,而 LongRoPE 为 73.40,YaRN 为 49.39。Phi3-mini-3.8B 的表现甚至更好,在 128K 个标记上得分为 58.81,显著优于 NTK,后者在同一上下文长度下仅达到 49.37。最引人注目的发现之一是,Meta 的方法需要 800B 个训练标记才能达到 128K 个标记,而 LongRoPE2 仅用 10B 个标记就实现了这一目标,效率提高了 80 倍。此外,LongRoPE2 在 "大杂烩中的针" 压力测试中实现了近乎完美的准确率,展示了其在长序列中检索深度嵌入信息的能力,而像 NTK 这样的以前的方法在扩展长度上经常失败。
这项研究的一个关键收获是,扩展 LLM 上下文窗口不仅仅是增加标记长度的问题,还需要解决位置嵌入中的根本局限性。研究结果表明,高维 RoPE 训练不足,需要自适应缩放而不是固定的重新缩放因子。针驱动的 PPL 评估在确定最佳 RoPE 缩放因子方面至关重要,确保模型在长距离依赖中保持准确性。混合上下文窗口训练技术确保模型保留了超过 97.6% 的短上下文性能,使 LongRoPE2 成为第一个近乎无损的扩展方法。此外,LongRoPE2 对 RoPE 重新缩放因子的进化搜索揭示了以前的分析方法低估了高维嵌入中的缩放需求,导致以前方法的性能不佳。
研究的一些关键亮点包括:
-
LongRoPE2 成功将 LLaMA3-8B 扩展到 128K 个标记,准确率为 82.03%,超越了所有以前的方法。
-
与 Meta 的方法需要 800B 个训练标记不同,LongRoPE2 仅用 10B 个标记就实现了相同的扩展,效率提高了 80 倍。
-
模型保留了 97.6% 的短上下文性能,而以前的方法显著下降。
-
针驱动的困惑度评估引入了一种确定最佳 RoPE 重新缩放因子的新方法,允许精确适应长上下文。
-
在 RULER 基准测试中,LongRoPE2 在 128K 个标记上得分为 82.03,而 LongRoPE 为 73.40,YaRN 为 49.39。
-
模型在 "大杂烩中的针" 测试中实现了近乎完美的检索准确率,显著优于基于 NTK 的方法。
-
LongRoPE2 证明了自适应进化搜索基础的缩放方法远优于静态重新缩放技术。