微软LongRoPE v2:几乎无损的上下文扩展!

发布于 2025-3-6 09:15
浏览
0收藏

论文笔记,LongRoPE2: Near-Lossless LLM Context Window Scaling, https://arxiv.org/pdf/2502.20082。 longrope v1的升级工作,应对长度外推的。

longrope v1简单回顾,核心思想是非均匀插值+渐进式微调:

  • 对比 NTK、YaRN 之类的插值方式,LongROPE 的每个频率都有自己的缩放因子。所以先进行基于困惑度的进化搜索,得到每个 rope 维度的最佳缩放因子。
  • 在应用当前阶段的 Rescaled RoPE 后,对模型进行 微调,让模型权重适应新的上下文窗口大小和位置编码方式。
  • 4k -> 256k -> 2048k,上一阶段微调后的模型作为下一阶段的 起始模型,重复这个过程。

微软LongRoPE v2:几乎无损的上下文扩展!-AI.x社区

v2 觉着 v1版本,忽略了对高维度位置编码的重点训练,传统的困惑度,是对整个文档的所有 token 计算平均值,这存在两个问题:

  • 噪音干扰: 长文档通常包含大量不重要或低依赖的 token,这些 token 的困惑度对评估长上下文能力贡献不大,反而会干扰对关键 token 的评估。
  • 无法有效捕捉长上下文能力: 平均困惑度无法有效区分模型是否真正理解了长上下文,并提取了关键信息。

所以v2提出了,“针驱动” 的 困惑度,更聚焦于聚焦于长文档中需要深度上下文理解的关键 “针” (Needle) token,只计算这些 “针” token 的困惑度。从而更精准地评估模型的长上下文能力。

最后,为了解决 LongRoPE v1 中存在的短上下文性能下降问题,LongRoPE2 引入了 混合上下文窗口训练 方法。。

  • 短上下文窗口:用于训练模型在原始短上下文下的性能,使用原始 RoPE 编码,通过注意力掩码防止跨文档的注意力。
  • 长上下文窗口:用于训练模型适应 rescaled RoPE 和长上下文,使用 LongRoPE2 搜索到的最佳缩放因子。

最后LongRoPE2 是第一个能够 在扩展上下文窗口到 128k 的同时,仍然保持超过 97% 原始短上下文性能 的 RoPE rescaling 方法。

且只需 10B tokens 的微调数据 即可将 LLaMA3-8B 的上下文窗口扩展到 128k,而 Meta 的 LLaMA3.1 扩展到 128k 需要 800B tokens 的训练。

微软LongRoPE v2:几乎无损的上下文扩展!-AI.x社区

本文转载自​​NLP前沿​​,作者:NLP前沿

收藏
回复
举报
回复
相关推荐