kimi chat 大模型的200万长度无损上下文可能是如何做到的?
在知乎上搜索“长上下文”,你会发现大量回答实际上是某款产品的软文。真正从技术角度梳理的工作并不多。这里直接列出一份关键文献清单,帮助快速定位长文本大模型的核心技术脉络。需要先说明一点:这里讨论的长上下文是指纯模型输入场景,基于RAG的方式虽然能部分解决问题,但在类似“大海捞针”的测试中表现往往不尽人意。

长文本大模型的技术支点,主要集中在相对位置嵌入、旋转位置嵌入、位置插值、线性偏置等几个方向。有两个判断值得注意:
第一,long context的核心是长文语义和逻辑的一致性,而不是KV cache或推理速度。好比写一篇上百页的论文,前后自洽才是难点,时间反而不是最大瓶颈。
第二,KV cache优化也好,ring attention也好,都是计算效率优化技术,改变不了长文的语义一致性。
下面通过几篇代表性论文,勾勒出长文本技术的发展路线(附论文地址)。
1. 旋转位置嵌入类
1.1 《RoFormer: Enhanced Transformer with Rotary Position Embedding》
旋转位置嵌入(RoPE)利用旋转矩阵对绝对位置编码,同时在自注意力中融入明确的相对位置依赖。它保持了序列长度的灵活性、随相对距离衰减的token间依赖,以及对线性自注意力的适配能力。
https://arxiv.org/abs/2104.0986
旋转位置嵌入(RoPE)示意图
1.2 《LongRoPE: Extending LLM Context Window Beyond 2 Million Tokens》
LongRoPE通过搜索识别并利用位置插值中的两种非均匀性,为微调提供更好的初始化,在非微调场景下实现8倍扩展。它引入渐进扩展策略:先微调256k长度的LLM,再对扩展模型进行第二次位置插值,达到2048k上下文窗口,同时通过8k长度重新调整恢复短上下文性能。
https://arxiv.org/abs/2402.1375
LongRoPE示意图
2. 相对位置嵌入类
2.1 《A Length-Extrapolatable Transformer》
该工作引入相对位置嵌入来最大化注意力分辨率,并在推理时使用blockwise注意力进一步提升分辨率。
https://arxiv.org/abs/2212.1055
Blockwise注意力示意图
3. 线性偏置方法
3.1 《Train Short, Test Long: Attention with Linear Biases Enables Input Length Extrapolation》
线性偏置注意力(ALiBi)不添加位置嵌入,而是通过与距离成正比的惩罚来偏置查询键值注意力分数。方法简单但有效。
https://arxiv.org/abs/2108.1240
4. 长文本训练方法
4.1 《YaRN: Efficient Context Window Extension of Large Language Models》
RoPE虽然好用,但模型无法泛化到训练序列长度之外。YaRN(另一种RoPE扩展方法)将所需的标记数量减少10倍,训练步骤减少2.5倍,高效实现上下文窗口扩展。
https://arxiv.org/abs/2309.00071
4.2 《Extending Context Window of Large Language Models via Positional Interpolation》
位置插值(PI)可以将基于RoPE的预训练LLM上下文窗口扩展到32768,仅需最小微调(1000步以内)。扩展模型在原始上下文窗口内的任务上质量保持良好,且能复用大部分现有优化方法。
https://arxiv.org/abs/2306.15595
4.3 《PoSE: Efficient Context Window Extension of LLMs via Positional Skip-wise Training》
PoSE使用固定上下文窗口智能模拟长输入:将原始窗口分成多个语块,为每个语块设计不同的跳过偏置项,并针对每个训练示例调整偏置和语块长度。相比全长微调,内存和时间开销大幅降低,性能影响很小。
https://arxiv.org/abs/2309.1040
Skip-wise方法示意图
长文本处理一直是自然语言处理领域的核心挑战:信息量大,上下文连贯性要求高。上述几类技术——从旋转位置嵌入的灵活适应,到位置插值的扩展能力,再到线性偏置的创新思路——共同推动了长文本模型在实用性和效率上的突破。
-
- 关于宇宙的好的网名有哪些
- 角色扮演 | 1
- 网名