一句话定位

YaRN 高效扩展 RoPE 上下文窗口,比前法省 10x token、2.5x 步数,成为开源长上下文标配方法。

摘要

RoPE 有效编码位置但模型无法泛化超出训练长度。YaRN(Yet another RoPE extensioN) 计算高效地扩展上下文窗口,比已有方法少 10x token、少 2.5x 训练步。用 YaRN,LLaMA 可有效利用并外推到远超原训练长度的上下文,刷新上下文扩展 SOTA,且能外推超出微调数据集长度。

关键技术细节

  • 方法:NTK-aware + “temperature/attention scaling” 改进的 RoPE 频率插值(对不同维度频率分段处理:高频保留、低频插值)。
  • 效率:仅需前法 1/10 的 token、1/2.5 的训练步即可扩窗。
  • 结果:将 LLaMA 2 从 4k 扩到 64k/128k;困惑度优于 Position Interpolation/NTK。
  • 外推:可超出微调时见过的长度继续泛化。
  • 落地:被 Mistral、Qwen、Code Llama 等大量长上下文模型采用。

原始链接

一手源存档(sources/)

  • yarn.pdf (PDF 不入 git,走 HF bucket)