花几十亿 token 把 LLM 线性化,结果输给了改一行注意力掩码?

你有没有过这种体验:辛辛苦苦把一个 Llama 蒸馏成线性注意力模型,又是 attention transfer 又是 LoRA 微调,烧了几十上百亿 token 的训练预算,最后跑分一看——还打不过一个推理时直接改注意力掩码、零训练的滑窗注意力?

这不是段子,是这篇论文的核心结论。

核心摘要:这两年"把预训练 LLM 后训练改造成线性注意力"是一条很热的研究路线,LoLCATs、MOHAWK、Llamba 这些工作一个比一个精巧。但这篇来自微软 ASG 的论文(arXiv: 2608.28444)泼了一盆冷水:作者把市面上十几种线性化方法和最简单的带 attention sink 的滑窗注意力(SWA with sinks)放到同一个擂台上,发现 SWA 在 11 个模型中的 9 个上平均分最高,而且一个 token 的训练都不用。长上下文任务上差距更夸张——Needle-in-a-Haystack 和 BABILong 上 SWA 的成绩是线性化模型的 2 到 10 倍。说实话,我读完的第一反应是:这条赛道上很多论文的 baseline 选得有点太"体贴"了。这篇论文的价值不在于提出新方法,而在于补上了那个所有人都有意无意绕开的对照实验。


论文信息

  • 标题:Sliding-window beats linear attention
  • 作者:Alexia Jolicoeur-Martineau、Rhea Sanjay Sukthanker、Pashmina Cameron、Emy Gervais
  • 机构:Microsoft / Applied Sciences Group (ASG)(Emy Gervais 为独立研究者)
  • 链接:https://arxiv.org/abs/2608.28444
  • 提交时间:2026 年 8 月 28 日

🎯 问题动机:线性化改造,到底有没有跟对 baseline 比?

先交代下背景。标准 softmax 注意力的老问题大家都熟:每多生成一个 token,KV cache 就得一直囤在显存里,成本和序列长度平方挂钩。于是社区想了很多招把它"降维"成线性复杂度,其中一条路线特别吸引人——不改预训练,直接后训练把现成的 LLM 改造成线性注意力

这条路线这两年出了不少明星工作:

  • LoLCATs(Zhang et al., 2025):两阶段——先学一个特征映射让线性注意力模仿原 softmax 注意力的输出(attention transfer),再用 LoRA 微调把误差补上。只要 40M token 就能线性化 8B 模型,还顺手在层里混了一小段 SWA。
  • MOHAWK、Llamba:把 Transformer 蒸馏成 Mamba 类的状态空间模型。
  • SUPRA、Hedgehog、DiJiang、ARWKV、QLinAtt、QRWKV 等等,各路人马都有。

听起来很美好:花点小钱,模型从平方变线性,性能还号称 SOTA。

但作者注意到了一个不太对劲的地方——这些论文几乎从来不跟"带 attention sink 的滑窗注意力"比

这里有个关键细节。普通的 SWA(只看最近 w 个 token)有个致命缺陷:一旦开头几个 token 滑出窗口,性能会灾难性崩盘。这就是 StreamingLLM(Xiao et al., 2024)当年发现的现象——开头几个 token 充当 attention sink,模型会把大量注意力质量堆在它们身上,把它们扔了,整个注意力分布就散了。所以工程实践里用 SWA 都会保留前几个 sink token。

而线性化论文们的对比对象,往往是没有 sink 的裸 SWA,或者干脆不比。赢一个注定会崩的 baseline,说服力能有多强?

这就是这篇论文要补的课:把 SWA with sinks 这个免费、免训练的方案,跟所有花真金白银训练出来的线性化方法正面刚一次

图1:三种注意力掩码的对比——全注意力(左,完整的下三角)、LoLCATs/Liger-GLA 的线性注意力+SWA 混合(中,绿色为线性注意力、红色为窗口内 softmax)、带 sink 的 SWA(右,第一列的 sink token + 对角线滑窗带)

图1:三种注意力掩码的直观对比。左边是完整的全注意力;中间是 LoLCATs 式混合——整段历史用线性注意力(绿),最近窗口叠加精确 softmax(红);右边是本文主角 SWA with sinks——保留最前面几个 sink token(第一列红块)加上一条对角滑窗带。注意右边方案一个可训练参数都不需要。


🧠 方法核心:SWA(w, s),简单到不像论文方法

本文的"方法"一句话就能讲完:推理时把全注意力的掩码换成"前 4 个 sink token + 最近 w−4 个 token 的滑窗",其他什么都不动

作者用记号 SWA(w, s) 表示这个配置:

  • w:窗口大小。短上下文实验用 64,长上下文实验用 128 / 256 / 512。
  • s:sink 数量。所有实验固定为 4,即每个 query 永远能看最开头的 4 个 token。

没有 attention transfer,没有 LoRA,没有蒸馏,没有任何训练。就是在推理的时候改一下注意力掩码,用 FlashAttention 直接跑。

为什么这个朴素的方案可能很强?作者的逻辑其实挺顺的:线性注意力的问题不只是"表达力弱",更根本的是它必须自己学会记住什么、忘掉什么——把无限长的历史压缩进一个固定大小的循环状态,这个取舍本身就是个棘手的优化问题,所以线性化才需要那么多训练 token 去补。而 SWA 的思路简单粗暴:该扔的全扔,只留下最近的和最重要的开头,模型在预训练时学到的注意力模式基本原封不动地保留下来。权重没动过,自然就没有"忘掉怎么推理"的风险。

等等,你可能会问:窗口只有 64,那窗口外的信息不就彻底丢了吗?对,这正是 SWA 的软肋,也是线性注意力理论上该赢的地方。问题是——实验会告诉我们,理论上的优势兑现了多少。


🧪 实验:11 个模型、十几种线性化方法,一张擂台

实验设置我给作者点个赞,覆盖面相当扎实:

  • 基座模型 11 个,从 Phi1.5-1.3B 一路到 Qwen2.5-72B-Instruct、Llama-3.1-70B,涵盖 Phi / Mistral / Llama / Qwen / QwQ 五大家族。附录还补了 Qwen3-8B、Phi-4-mini-reasoning、Phi-4-reasoning-plus。
  • 对手十几种:SUPRA、Hedgehog、LoLCATs(+SWA)、Liger-GLA(+SWA)、MOHAWK、Mamba in the Llama、DiJiang、ARWKV、Llamba、QLinAtt、QRWKV6/7 等,附录又加了 Gated DeltaNet、GLA、QRWKV6 的 LoLCATs 式蒸馏版本。
  • 为公平起见,不含部分全注意力层的纯线性/纯滑窗模型才上桌,混合模型不比。
  • 任务:短上下文用 MMLU (5-shot)、ARC-C/E、HellaSwag、PIQA、WinoGrande;长上下文用 S-NIAH 三种大海捞针(0.5K 到 4K 上下文)和 BABILong QA1–QA5。

短上下文:零训练的 SWA 拿了 99 分

先看最能说明问题的 Table 1——性能恢复率(线性化模型分数 ÷ 原模型分数,%):

方法 微调 Tokens 训练阶段 MMLU 恢复率 六项平均恢复率
SUPRA 100B 1 53.0 88.1
Hedgehog 40M 2 36.9 73.9
LoLCATs 40M 2 83.2 97.5
Liger-GLA 20M 1 62.2 92.0
MOHAWK 3-5B 3 56.9 92.4
Mamba in the Llama 20B 2 67.7 86.7
ARWKV 60M/830M 2/3 84.1 94.7
Llamba 8-12B 3 91.5 98.6
QRWKV6 350-700M 3 92.4 99.1
SWA(64, 4) 0 0 93.2 99.0

看到 Tokens 那一列我有点绷不住。别人烧了 20M 到 100B 不等的训练 token,SWA 那行是个大大的 0——然后恢复率排第一梯队,MMLU 恢复率 93.2% 直接全场最高。

分模型的详细结果里,SWA 在 11 个对比案例中拿下 9 个的平均分第一。仅有的两个例外:Phi-1.5-1.3B 上 LoLCATs 以 62.5 对 62.4 险胜 0.1 个点(这在噪声范围内);Qwen2.5-32B-Instruct 上 QRWKV6 拿了 77.3,SWA 是 76.6。单看 MMLU,SWA 几乎全胜,唯一输给 DiJiang 一次(39.8 对 40.7)。

有意思的是附录 A.2 那组新实验:用 LoLCATs 同款两阶段蒸馏(约 0.1B token)去线性化 Qwen3-8B 和 Phi-4 系列的新模型,Gated DeltaNet、GLA、QRWKV6 全线崩盘——恢复率只有 55–75 分水平,MMLU 从 70+ 直接掉到 24–27。而 SWA(64,4) 依然是 95 分以上的恢复率。这说明线性化方法对新架构的泛化性本身就是个大问号,训练配方换个模型可能就失灵。

长上下文:差距大到不像一个量级的比赛

短上下文只能算"打平",真正拉开差距的是长上下文。Table 3 是 Llama-3.1-8B 上的 S-NIAH 大海捞针(S-NIAH-3 是最难的一种针),window 256 这一档:

方法 S-NIAH-3 @0.5K @1K @2K @4K
SWA(256,4) 100 68.0 50.2 19.6
LoLCATs(+SWA) 100 30.6 6.0 2.2
Liger-GLA(+SWA) 97.6 1.0 3.8 0.6
全注意力(上界) 100 99.8 100 99.8

4K 上下文下,SWA 还能找回 19.6% 的针,LoLCATs 只剩 2.2%,Liger-GLA 基本归零。注意 LoLCATs 自己内部也带 SWA 窗口,但它的线性部分不但没帮上忙,反而拖了后腿——说实话这个结果挺讽刺的,线性注意力理论上能"记住"窗口外的东西,实际却好像把模型本来就有的远程检索能力给弄丢了。

BABILong(QA1–QA5 平均,window 256)也是一样的剧本:

方法 0K 1K 2K 4K
SWA(256,4) 55 20 19 15
LoLCATs(+SWA) 56 22 10 3
全注意力(上界) 74 70 67 60

4K 时 SWA 保住 15 分,LoLCATs 掉到 3 分。作者的总结是 2 到 10 倍的差距,从表里看这个数字毫不夸张。

我对这组结果的理解是:大海捞针类任务极度依赖精确的远程检索,而预训练模型的这个能力编码在 softmax 注意力的"尖峰"分布里。线性化改造无论蒸馏得多好,循环状态对历史的压缩就是有损的,针的踪迹很容易被抹掉。SWA 虽然窗口外的信息也丢了,但 sink token 稳住了注意力分布,窗口内的检索还是原汁原味的。丢得干脆,反而比"假装记得"强。

速度与显存:免费的还最快

4.3 节在 NVIDIA RTX PRO 6000 Blackwell 上测了 4 层 Transformer(embedding 1024、16 头)从 128 到 256K 上下文的解码吞吐和显存。FA 和 SWA 走 FlashAttention,线性注意力走 ThunderKittens 核。具体数字画在图里(正文 Figure 2、附录 Figure 3–4),结论很干脆:

  • 速度:全注意力过 1K 后吞吐随长度下滑,其余方法基本持平;SWA 是全场最快的(窗口 64 比 512 更快,但都比其他方案快)。
  • 显存:FA 线性增长;SWA 涨到窗口大小后恒定。显存从低到高排序是 SWA(64) \lt 线性注意力 \lt 线性+SWA 混合 \lt SWA(512)。

也就是说窗口开到 512 以内,SWA 又最快、显存又最少、成绩还最好。推理成本这关,线性化连"理论上该赢"的阵地也没守住。


📊 我的判断:这不是新方法,是一面照妖镜

坦率地讲,这篇论文没有任何"新东西"。SWA with sinks 是 StreamingLLM 2024 年就有的方案,本文只是把它当成了对照组。

但这恰恰是我觉得它值钱的地方。

它戳破了一个基准设定的系统性偏差。 线性化这条赛道的论文,对比对象长期停留在"裸 SWA"或者根本不跟 SWA 比。而裸 SWA 会在 sink token 滑出窗口后灾难性崩盘,这是 2024 年就知道的事。赢一个已知会输的对手,发出来的"SOTA"水分有多大,这篇论文用 11 个模型量化了答案。以后线性化论文再不带 SWA with sinks 当 baseline,审稿人该打回去了。

对工程实践的建议非常直白:如果你现在想在有限显存里降推理成本,别再折腾线性化改造了,直接上 SWA with sinks。零训练成本、零质量风险、FlashAttention 开箱即用。作者的措辞一点不客气——"我们强烈建议从业者改用 SWA,而不是后训练线性模型"。

当然,也要给线性注意力说句公道话,这篇论文没有否定整条路线,它否定的是"后训练改造"这条路。线性注意力的真正主场可能在两头:一是从头预训练的线性/混合架构(Kimi Linear、Qwen3-Next 这类工作已经展示了 with-scale 的竞争力),二是超长上下文下窗口内的信息确实不够用的场景。论文自己也承认局限:没测后训练的 SWA(Yu et al., 2025 已经证明 SWA 后训练还能再涨)、没碰混合架构、没测 agentic 这类更复杂的指标。

还有一个值得警惕的点:S-NIAH 和 BABILong 说到底都是"检索型"长上下文,恰好是 SWA+sink 相对最不吃亏的类型。如果是需要对全文做稠密聚合理解的任务(比如整本书的摘要一致性),线性状态的"全局摘要"会不会反而有用?这篇论文没回答,我觉得这是后续最值得追的实验。

顺嘴提一句论文里埋的彩蛋:免训练 SWA 的强基线效应不限于文本。作者引用说 Sliding Tile Attention 在 HunyuanVideo 视频生成上,用相同采样步数恢复了 97% 的 VBench 分数、提速 3.53 倍。同一个剧本在扩散模型上又演了一遍。


🔚 收尾

这篇论文给我的最大启发是个研究方法论层面的提醒:当一个方向的所有论文都默契地回避某个简单 baseline 时,那个 baseline 往往就是这个方向的皇帝新衣

如果你在部署 LLM,今天就可以做的事:把推理框架的注意力切成 sliding window + 4 个 sink token,KV cache 立刻从无限增长变成恒定大小,质量损失按这篇论文的数据平均只有 1 个点左右。如果你在做线性注意力研究,这篇论文是你绕不开的新 baseline——打不过 SWA(64,4) 的线性化方法,故事就得重新讲了。


觉得有启发的话,欢迎点赞、在看、转发。跟进最新AI前沿,关注我