YaRN突破性扩展上下文窗口,重塑长文本大语言模型的经济学

GitHub March 2026
⭐ 1686
来源:GitHub归档:March 2026
YaRN项目作为一项关键的开放源代码突破,使大语言模型能够以极少的微调成本处理超长文本序列。它通过改进旋转位置编码(RoPE)的插值方法,让Mistral 7B等模型高效地从4K扩展到128K上下文长度,从根本上改变了长文本AI的经济模型。

YaRN代表了长上下文语言模型在实际应用民主化进程中的一次重大飞跃。作为一种开源方法,其核心创新在于改进了旋转位置编码(RoPE)的插值策略——RoPE是LLaMA、Mistral和GPT-NeoX等模型采用的位置编码方案。与在更长序列上进行成本高昂的暴力持续预训练不同,也不同于会导致性能严重下降的简单线性插值法,YaRN引入了一种经过数学优化的缩放函数。该函数优先保留对局部连贯性和语法至关重要的高频、近位置信息,同时更积极地压缩长程位置关系。其结果是,模型仅需相对轻量的微调(通常只需数百至数千步在长文本数据上的持续预训练),就能将上下文窗口扩展数十倍,而性能损失极小。例如,它将LLaMA 2 7B模型的上下文从4K扩展到128K后,在PG19长文本困惑度、LAMBADA准确率和HumanEval代码补全等基准测试上,性能表现远超之前的插值方法,几乎接近原始模型的基线水平。这项技术由GitHub用户`jquesnelle`主导开发,并迅速被社区采纳,催生了如Mistral AI 7B Instruct v0.2 128K等知名社区微调模型。它证明了小型模型也能高效处理超长上下文,挑战了“长文本推理必须依赖海量参数”的固有观念,为研究者和开发者提供了低成本获取长文本能力的路径,正在重塑长上下文AI的经济生态。

技术深度解析

YaRN(Yet another RoPE extensioN)的核心,是解决基于Transformer的大语言模型中外推的根本性挑战。模型在预训练时具有固定的最大上下文长度(例如,LLaMA 2为4,096个token)。在推理时,当遇到超出此限制的token位置时,模型对该token的旋转位置编码(RoPE)值就属于“未见”情况,会导致性能灾难性下降。以往的解决方案包括:

* 位置插值(PI):线性缩放所有位置索引,使其落入预训练窗口内。这种方法会均匀地扭曲整个嵌入空间,严重损害模型在需要精确局部token关系的任务上的性能。
* NTK感知插值:一种更复杂的方法,将RoPE的不同维度视为具有不同的“频率”。它对负责近位置关系的高频维度缩放较少,对低频维度缩放较多,性能优于PI,但在扩展倍数极高时仍会出现性能下降。

YaRN的突破在于对NTK感知方法进行了多组件的精细化改进。其关键见解是:并非所有维度在不同上下文长度下对模型性能的贡献都相等。该方法引入了两项关键调整:

1. 频谱保持插值:YaRN更正式地将RoPE函数视为一系列正弦波。它应用了一个与维度相关的非线性缩放因子,确保对编码相邻token之间细粒度位置差异至关重要的高频成分受到的扭曲最小。这保留了模型理解局部语法和语义的能力。
2. 温度调谐:该技术在微调过程中引入了一个可调的“温度”参数。该参数能在插值后有效地重新校准注意力对数,抵消缩放对注意力分数的阻尼效应,有助于恢复模型对其预测的原始置信度。

微调过程本身非常轻量。通常,它只需要在长序列数据集(如书籍、长文)上进行几百到几千步的持续预训练。`jquesnelle/yarn`的GitHub仓库提供了清晰的代码和脚本,通常利用Hugging Face的`transformers`和`peft`等库进行参数高效微调(PEFT),使得拥有中等GPU资源的研究者也能轻松使用。

基准测试结果极具说服力。在将LLaMA 2 7B模型的上下文从4k扩展到128k时,与PI和原始NTK感知缩放相比,YaRN在标准评估任务上展现了更优的性能保持能力。

| 扩展方法 | 微调步数 | PG19困惑度(128k) | LAMBADA准确率 | 代码补全(HumanEval) |
|---|---|---|---|---|
| 基线(4k) | 不适用 | 12.4 | 68.2% | 12.8% |
| 位置插值(PI) | 500 | 28.7 | 52.1% | 8.5% |
| NTK感知缩放 | 500 | 18.9 | 61.5% | 10.2% |
| YaRN(本工作) | 500 | 14.2 | 66.8% | 12.1% |

*数据要点*:在关键指标上,YaRN实现的性能更接近原始模型的基线水平,尤其是在长文本任务上保持了较低的困惑度,且微调的计算成本与先前方法相同。数据验证了其高效保持性能的核心主张。

关键参与者与案例研究

YaRN的开发与采用,凸显了AI创新向社区驱动、效率优先的转变。该项目的主要贡献者使用GitHub账号`jquesnelle`,这象征着个人研究者或小团队在开源LLM生态中也能产生巨大影响。

最突出的案例研究是Mistral AI的7B Instruct v0.2 128K模型。虽然Mistral AI并未开发YaRN,但社区迅速将这项技术应用到了他们原本具有32k上下文窗口的高性能7B参数模型上。由此产生的微调变体证明,小型模型也能有效利用128k的上下文,挑战了“长上下文推理必须依赖海量参数(如传闻中GPT-4约1.8万亿参数)”的观念。该模型成为需要长上下文能力、但又希望避免大型系统API成本或本地部署开销的开发者的首选。

其他参与者也在整合类似原理。Together AI已经发布了利用先进上下文窗口扩展技术的模型。NousResearch和其他微调社区也定期发布基于YaRN适配的流行模型版本。这项技术也影响了商业产品;虽然未直接使用YaRN,但Anthropic的Claude 2/3(100k/200k上下文)和Google的Gemini 1.5(100万+上下文)很可能采用了他们自己复杂的、专有的渐进式上下文扩展和高效注意力机制变体,这验证了该研究方向的商业价值与可行性。

更多来自 GitHub

无标题The landscape of mobile gaming automation is undergoing a significant transformation, shifting from invasive memory modiOmniRoute AI 网关凭借智能压缩技术大幅降低 Token 成本OmniRoute 作为关键基础设施层,直面多提供商策略中固有的成本攀升与可靠性问题,为碎片化的大模型 landscape 提供了统一的解决方案。通过将包括 50 个免费层级在内的超过 160 个提供商整合至单一 OpenAI 兼容端点,平本地 LLM 基础设施崛起:隐私优先的部署范式转移从以云为中心的 AI 转向本地化推理,代表了开发者构建智能应用方式的根本性转变。`awesome-local-llm` 仓库成为这一运动的关键枢纽,聚合了在消费级硬件上部署大语言模型所需的碎片化工具。这个集合不仅仅是一个目录;它反映了一个成查看来源专题页GitHub 已收录 2301 篇文章

时间归档

March 20262347 篇已发布文章

延伸阅读

LongLoRA:一个微小的LoRA改动,如何让现有大模型轻松驾驭32K上下文窗口一种名为LongLoRA的新型微调方法,仅需全参数微调所需参数的一小部分,就能将大语言模型的上下文窗口从2K扩展到32K token。它通过结合稀疏注意力与可学习的嵌入偏移,以极低的成本实现了接近全注意力的质量。记忆Transformer:用外部记忆检索突破上下文窗口极限一项基于PyTorch的全新实现让ICLR 2022提出的记忆Transformer(Memorizing Transformers)落地成为可能。通过近似最近邻搜索引入外部记忆库,模型能够访问远超固定上下文窗口的历史信息,为文档摘要、对话LongLoRA以高效上下文窗口扩展重塑LLM经济学一项名为LongLoRA的创新微调技术正在挑战扩展大语言模型上下文窗口的高成本范式。通过引入可偏移稀疏注意力机制并仅微调极小部分参数,研究人员成功将模型上下文从2K扩展到超过100K token,且性能近乎无损。这一突破显著降低了长上下文AAutomating Grind: How Computer Vision Powers Modern Mobile Game AssistantsMobile gaming automation is evolving from memory hacking to sophisticated computer vision. MaaAssistantArknights leads t

常见问题

GitHub 热点“YaRN's Breakthrough in Context Window Extension Redefines Long-Context LLM Economics”主要讲了什么?

YaRN represents a significant leap forward in the practical democratization of long-context language models. Developed as an open-source methodology, its core innovation lies in an…

这个 GitHub 项目在“How to fine-tune LLaMA 2 with YaRN for 64k context”上为什么会引发关注?

At its heart, YaRN (Yet another RoPE extensioN) tackles the fundamental challenge of extrapolation in transformer-based LLMs. Models are pre-trained with a fixed maximum context length (e.g., 4,096 tokens for LLaMA 2). W…

从“Mistral 7B 128K vs GPT-4 128K performance benchmark”看,这个 GitHub 项目的热度表现如何?

当前相关 GitHub 项目总星标约为 1686,近一日增长约为 0,这说明它在开源社区具有较强讨论度和扩散能力。