
LLM 上下文长度扩展:从 YARN 到 NTK-aware 插值
1. 长上下文的挑战 大语言模型的上下文长度直接决定了其处理长文档、多轮对话和复杂推理的能力。然而,扩展上下文长度面临三重挑战: 位置编码外推:RoPE 等位置编码在超出训练长度后性能急剧下降 注意力计算复杂度:标准注意力的 O(n²) 复杂度在长序列下不可接受 训练成本:长序列训练的显存和时间成本线性甚至二次增长 训练长度 4K 的模型在不同上下文长度下的表现: ┌──────────────┬──────────┬─────────────────────────┐ │ 上下文长度 │ 困惑度 │ Passkey Retrieval 准确率 │ ├──────────────┼──────────┼─────────────────────────┤ │ 4K (训练内) │ 5.82 │ 100% │ │ 8K (2x) │ 7.31 │ 12% │ │ 16K (4x) │ 12.44 │ 0% │ │ 32K (8x) │ 28.71 │ 0% │ └──────────────┴──────────┴─────────────────────────┘ 问题根源: RoPE 在超出训练范围后,旋转角度超出模型见过的范围 2. 位置插值(Position Interpolation) 2.1 核心思想 Chen 等人 (2023) 提出的 Position Interpolation (PI) 是最简单直接的方案:将推理时的位置索引压缩到训练范围内。 ...
