长上下文的注意力之战:滑窗、外推与原生稀疏的三线会战

到 2026 年,1M token 上下文已是头部旗舰的标配:Claude 现役全线 1M,DeepSeek-V4 系列 1M,GPT-6 规格 1.05M,Qwen3 可扩到 1M。但评测社区反复给出冷水:RULER 测出宣称 32K 以上的模型近半数在 32K 就不合格,NoLiMa 测出 13 个宣称 128K 的模型有 11 个在 32K 跌破短文本基线的一半。这份「宣称与有效」的落差,正是长上下文九苦争端的缩影。本文拆解这场战争的三条战线,以及 2025 年那个改变局面的分水岭。

一、双重账单:O(n²) 与 O(n)

softmax 注意力的成本结构有两笔账:计算量随序列长度平方增长,KV Cache 随长度线性增长。两笔账打在不同的阶段——

预填充阶段是计算瓶颈。MInference 论文实测:单张 A100 上的 8B 模型处理 1M token 提示需要 30 分钟,平方复杂度是直接原因。解码阶段是访存瓶颈。NSA 论文的解码内核数据显示:64K 上下文下每个解码步需要访问的等效 token 数可以从 65,536 降到 5,632,省约 91%,对应解码加速 11.6 倍——解码快慢几乎完全取决于要读多少 KV Cache。

还有一个容易被忽视的事实:即便是最优化的精确内核也有天花板。FlashAttention-2 在 H100 上只做到约 35% 的理论峰值利用率。内核优化的尽头若只是 35%,那答案只能去算法层找——这正是三条路线的出发点。还要注意,预填充省的是计算、解码省的是访存,两笔账的省法不同,后面的技术路线必然分叉。

二、路线一:滑动窗口与局部-全局混搭

最直接的省钱法:每层只看最近的 w 个 token。Mistral 7B(2023-09)带火了这个思路:4096 的滑动窗口配 FlashAttention 改造,16K 序列下推理 2 倍加速,8K 序列下 KV Cache 显存直接减半;逐层叠加下,信息仍能跨层传播到远处——社区津津乐道的「窗口 4096、感受野十几万」说的就是这种层间叠加效应。

但滑窗有天然的「近视」,于是发展出局部-全局混搭:Gemma 2 用 1:1 交替,Gemma 3(arXiv 2503.19786)发现可以更省——每 5 层局部配 1 层全局(5:1),局部窗口压到 1024,全局层只占六分之一。Gemma 3 报告的账是:32K 预填充下全全局层要多花约 60% 显存,改 5:1 加窄窗后增量不到 15%。代价也有:128K 之外的远距离检索明显衰减,这一点官方自己在报告里承认,数字很直白——27B 版在 32K 的 RULER 得分 85.9,到 128K 掉到 72.9。消融还显示 7:1 的更极端配比困惑度损失也不大,说明「全局层少配」仍有下探空间,头部厂商只是给质量留了安全边际。

gpt-oss 用的也是这个家族的配方:128 token 的带状窗口与全注意力逐层交替。Llama 4 则交出了 iRoPE:每 4 层安排 1 层无位置编码的全局层,注意力再按序列长度做温度调节、以 8192 为单位分块,让「看得远」的责任集中在少数层——官方宣称 10M 上下文,但至今没有公开的第三方评测佐证这个数字,社区长期存疑。

三、路线二:RoPE 外推家族

第二条路不省计算、只解决「训得短、用得长」:改造 RoPE 的频谱,让训练长度之外的位置也能工作。这条线的起点是 Meta 的位置插值 PI(arXiv 2306.15595):不做外推、把位置索引线性降采样映射回训练窗口,LLaMA 只需不到 1000 步微调就从 2K 扩到 32K——理论上插值的注意力分数上界比硬外推小约 600 倍,所以稳。

随后是社区接棒的名场面:NTK-aware 缩放并非出自论文,而是 Reddit 用户 bloc97 的帖子——高频维度少插值、低频维度多插值。这个思路被 YaRN(arXiv 2309.00071)系统化:按波长分维度处理加温度修正,Llama 2 7B 从 4K 到 128K 只需约 400 步微调——扩到 32K 的开销折算下来约 128 个 A100 小时,比此前方法省 10 倍 token。微软的 LongRoPE(arXiv 2402.13753)再进一步:非均匀插值配进化搜索,8 倍内免微调,渐进训练做到 2M 上下文。落地侧的典型是 Qwen 家族:Qwen3-235B-A22B-2507 用双块注意力加 MInference 把 262K 扩到 1M,RULER 均分 92.5——但官方说明跑满 1M 约需 1000GB 显存;Qwen3-Next 则用 YaRN 4.0 倍扩到 1M,1M RULER 91.8。同一个目标,两套外推路线,成本画像完全不同。

这条线的工程成果无处不在:Llama 3.1 的 128K、Qwen3 的 1M(搭配双块注意力与 MInference)都建立在 RoPE 缩放之上。但它只解决「能看远」,不解决「看得远要花多少钱」——复杂度纹丝不动。

四、路线三:内核压常数与稀疏化

第三条路分两层。底层是内核:FlashAttention(2022)用 IO 感知的分块计算把注意力矩阵挡在显存之外,GPT-2 训练 3 倍加速;FlashAttention-2 提速一倍、A100 上跑到 225 TFLOPs;FlashAttention-3(2024)针对 Hopper 架构的异步与 FP8,做到 740 TFLOPs——但如前所述,精确计算的上限就在那里。序列维度则靠 Ring Attention(arXiv 2310.01889):KV 块在设备间环形流转、通信与计算完全重叠,把序列长度扩展到设备数的量级,实验做到百万级 token,且全程无近似、无额外通信开销。

上层是稀疏化。2023-2024 年的「事后稀疏」——H2O 保留重度 hitter、SnapKV 用提示末尾观察窗口选点、Quest 按页重要性加载、MInference 给预填充挑稀疏模式——在未稀疏训练的模型上做后处理,普遍面临召回与效率的折损:token 级方法访存不连续、固定模式方法有漏检风险。不过单点数字都相当可观:H2O 只保留 20% 的重度 hitter 缓存就把吞吐最高提 29 倍;SnapKV 生成加速 3.6 倍、显存效率 8.2 倍,在单张 A100 上处理 380K 上下文;Quest 按页重要性加载拿到 2.23 倍;MInference 把预填充最高提速 10 倍。DeepSeek 后来把 DSA 称为「首个在产品级模型实现细粒度稀疏注意力」的工作,强调的正是「事后」与「原生」的分界。

graph LR
  A["2022-05 FlashAttention:精确内核压常数"] --> B["2023 滑窗 Mistral、外推 PI 与 YaRN、淘汰 H2O"]
  B --> C["2024 FA3、LongRoPE 2M、事后稀疏 MInference"]
  C --> D["2025-02 原生稀疏分水岭:NSA 与 MoBA 同月发布"]
  D --> E["2025-09 DSA 产品化:DeepSeek-V3.2 API 降价 50% 以上"]
  E --> F["2026 头部旗舰进入 1M 上下文时代"]

五、2025 分水岭:原生稀疏注意力

2025 年 2 月,两篇论文同月发布,宣告稀疏化从「推理补丁」变成「训练原生」。

NSA(DeepSeek 与北大,arXiv 2502.11089)把注意力拆成三个并行分支:压缩分支用可学习 MLP 把 32 token 一块粗看全局,选择分支按块级重要性选出细粒度的 64 token 块(top-16),滑窗分支保留 512 的近窗,三支用 sigmoid 门控加权融合。结构参数处处为硬件让路:压缩块长 32、步长 16(步长小于块长,避免碎片化),选择分支挑 64 token 的块、取 top-16;同一 GQA 组内的 query 头共享稀疏索引,内核得以按组连续加载。它的关键贡献是把稀疏模式做成硬件友好:块内连续加载、GQA 组共享稀疏索引,Triton 内核实测 64K 上下文下解码 11.6 倍、前向 9 倍、反向 6 倍;而质量不降反升——长文本基准平均 0.469 对全注意力的 0.437。

MoBA(月之暗面,arXiv 2502.13189)走极简路线:上下文切块,轻量门控给每个 query 做块级 top-k 路由,把 MoE 的「路由」思想搬进注意力;哲学上它比 NSA 更「少结构」——不预设滑窗或 sink 等先验,让门控自己学往哪看;门控可以给所有块发通行证,从而与全注意力无缝切换。官方确认它已部署支撑 Kimi 的长上下文请求。

产品化的临门一脚在 2025 年 9 月:DeepSeek-V3.2-Exp 引入 DSA(DeepSeek Sparse Attention)——一个轻量索引器给每个 query-token 对打分,只让 top-k(config 为 2048)参与注意力,构建在 MLA 之上——索引器本身很轻,64 个头、每头 128 维,只做打分不做注意力。官方基准显示质量与 V3.1 基本持平(MMLU-Pro 双双 85.0,最难的 HLE 反而从 19.8 升到 21.7),而 API 价格直降 50% 以上;2025 年 12 月 V3.2 正式版上线,DSA 成为 DeepSeek 后续 V4 系列长上下文能力的地基。原生稀疏第一次被直接折算成了价格。

六、宣称与有效之间的鸿沟

回到开头那盆冷水。RULER(NVIDIA,arXiv 2404.06654)测出 17 个宣称 32K 以上的模型近半数在 32K 就掉出合格线,而朴素的大海捞针测试几乎人人满分——难度设计才是关键。NoLiMa(2025)更狠:去掉关键词重叠、只靠语义联想的检索任务下,13 个宣称 128K 的模型有 11 个在 32K 跌破短文本基线的 50%,表现最好的 GPT-4o 也从 99.3% 掉到 69.7%。

厂商自己也在交底:Gemma 3 报告承认 128K 之外性能迅速衰减;Anthropic 对超过 200K 的提示直接加价(输入每百万 token 从 3 美元涨到 6 美元),把超长上下文的真实服务成本写进了价目表;Llama 4 Scout 的 10M 至今停留在宣称层面。截至 2026-10,「1M 标配」更准确的读法是「1M 可用、但尾部质量随长度递减」。给使用者的建议因此很实际:把规格表当上限、把 RULER 与 NoLiMa 这类评测当基准;长文档任务优先做分段检索与摘要拼接,把「一次吞下全书」留给真正需要的场景。

结语:长上下文之争的本质,是如何不付 O(n²) 与 O(n) 的账还能看得远。2023 至 2024 年的三条路线各治一病但都收质量税;2025 年 NSA、MoBA、DSA 证明了第四种可能——训练时与稀疏共生,模型自己学会往哪看。当稀疏注意力把长上下文做成近线性,剩下的悬念就只有评测的那道鸿沟了。

参考资料

← 返回资讯列表

读者留言

COMMENTS 暂无
仅本站原创文章开放留言 · 请勿留下手机号、邮箱等个人信息

还没有留言,来说第一句?