滑窗注意力胜过线性注意力 Sliding-window beats linear attention
零训练的带槽滑窗注意力在短长上下文任务上追平甚至碾压昂贵的后训练线性注意力
前置知识
KV 缓存(KV Cache)
自回归解码时为避免每步重算全部历史,Transformer 会把每层每个 token 的键 $K$ 与值 $V$ 缓存下来。对二次自注意力,注意力计算为 $O(DL^2)$,且每生成一个新 token 都要向缓存追加一对 K/V,显存占用随上下文长度 $L$ 线性增长——这正是论文所说'每个 token 都比上一个更贵'的根源。
论文的核心动机就是消除这个无限增长的缓存:SWA 用固定小窗口把缓存变成常数大小,线性注意力用递归状态替代缓存,理解这一点才能明白两条路线到底在比什么。
滑窗注意力 SWA(w, s)
每个位置只对最近 $w$ 个 token 做注意力,归一化只在窗口内进行:$x_t=\frac{\sum_{i=\max(1,t-w+1)}^{t}\exp(q_t k_i^\top/\sqrt{d})v_i}{\sum_{i=\max(1,t-w+1)}^{t}\exp(q_t k_i^\top/\sqrt{d})}$。由于逐层堆叠,$l$ 层后有效感受野约为 $l\cdot w$(类似 CNN)。本文记号 SWA(w,s) 表示窗口 $w$ 中留出 $s$ 位给开头的 sink token,实际 attend 前 $s$ 个 token 加最近的 $w-s$ 个。
这是全文的零训练基线,所有实验结论都围绕 SWA(64,4) 到 SWA(512,4) 展开,必须清楚它的掩码结构与记号含义才能读懂每张表。
注意力槽(Attention Sinks)
Xiao 等人(StreamingLLM, 2024)发现 LLM 会把不成比例的大量注意力倾倒到序列开头几个语义上并不重要的 token 上,把它们当作'注意力垃圾场';一旦滑窗把这几个 token 挤出窗口,性能会灾难性崩溃。补救办法是永远保留开头 $s=4$ 个 token 参与注意力,此技巧完全不需要训练。
作者反复强调:之前线性化论文对比的是无 sink 的 SWA,那是必然失败的稻草人基线;带 sink 的 SWA 才是公平对照,这是本文立论的关键支点。
线性注意力(Linear Attention)
用核函数 $\phi$ 把 $\exp(q_t k_i^\top)$ 近似为 $\phi(q_t)\phi(k_i)^\top$,利用矩阵乘法结合律改写为 $x_t=\phi(q_t)s_t/(\phi(q_t)z_t)$,其中递归更新 $s_t=s_{t-1}+\phi(k_t)^\top v_t$、$z_t=z_{t-1}+\phi(k_t)^\top$。每步推理代价 $O(1)$、无需 KV 缓存,但状态容量有限,必须学会'记什么、忘什么'。
这是本文的被挑战方;理解其递归状态形式,才能明白为何线性化后训练虽便宜、却可能在表达能力上输给更简单的 SWA。
后训练线性化与 LoLCATs
不从头训练线性模型,而是拿现成预训练 Transformer,把二次注意力层替换为线性注意力层,再用 LoRA 少量微调恢复性能。LoLCATs(2025)证明用 Hedgehog 核 $\phi(x)=(\exp(f(x)),\exp(-f(x)))$ 并混合 SWA,仅需 4000 万 token、两阶段即可恢复教师大部分性能,引爆了这条路线。
Table 1/2 的对比对象全是这类方法,知道它们的训练成本(20M-40B token、1-3 阶段后训练)才能体会'SWA 用 0 token 打平'这一结论的冲击力。
性能恢复率(Recovery)
定义为线性化(或 SWA)模型得分除以原始教师模型得分:$R=\text{score}_{\text{student}}/\text{score}_{\text{teacher}}$,以百分比报告。例如 Table 1 中 SWA(64,4) 的 MMLU 恢复率 93.2%、六基准平均恢复率 99.0%,意味着几乎无损保留教师能力。
这是论文所有对比表格的统一度量衡,读懂它才能在 11 个模型、十几种方法之间快速横向比较。
研究动机
二次自注意力让 LLM 的推理成本随上下文无界增长:每个新 token 的键值都必须写入 KV 缓存并无限期占用显存。以论文 Figure 2 的实测为例,上下文从 128 增长到 256K 时,全注意力的 KV 缓存显存线性上升、解码吞吐在超过约 1K token 后持续下滑。热门解法之一是把预训练模型后训练成线性注意力:LoLCATs 宣称仅用 4000 万 token 的 LoRA 微调即可恢复全注意力的大部分性能,QRWKV6/QRWKV7 报告 92.4%-99.1% 的恢复率,Llamba、DiJiang、MOHAWK、SUPRA、Liger-GLA、Mamba in the Llama 等也纷纷报告 73.9%-98.6% 的成绩。作者团队带着这些承诺实际落地时却发现效果远不如宣传——排查后发现这些论文几乎都以'不带注意力槽的 SWA'为对照基线,而这种 SWA 在窗口滑过开头几个 token 后会灾难性崩溃(StreamingLLM 指出的 sink 问题),本质上是注定失败的稻草人;同时这些工作很少系统评估长上下文能力,而这恰恰是线性注意力最需要证明自己的场景。
本文的目标是本文的目标是补上这个缺失的、公平的直接对比:把'带 4 个注意力槽的滑窗注意力 SWA(w,4)'作为一个完全不需要训练的强基线,与十余种已发表的后训练线性化方法(LoLCATs、Liger-GLA、SUPRA、Hedgehog、MOHAWK、Mamba in the Llama、DiJiang、ARWKV、Llamba、QLinAtt、QRWKV6/7 等)放在同一把尺子下衡量。评测覆盖 11 个 1.3B 到 70B 的预训练模型(Phi-1.5-1.3B、Mistral-7B-v0.1、Llama 2/3 系列、Qwen2.5-7B/32B/72B-Instruct、QwQ-32B),任务包括短上下文六基准(MMLU 5-shot、ARC-C/E、HellaSwag、PIQA、WinoGrande,统一报告相对教师的恢复率)与长上下文推理(S-NIAH 与 BABILong,最长 4K),再辅以解码吞吐、显存与 FLOPs 的系统测量。作者的诉求很实际:如果 SWA 零成本就能保住性能,那么社区为线性化投入的后训练算力可能是白花的,推理降本应优先改掩码而不是换架构。
与已有工作不同的是,本文的独特切入角度是'对照基线的纠偏'。线性注意力文献的标准做法是与无 sink 的 SWA 比较,而学界早就知道无 sink SWA 在窗口滑过前几个 token 后性能彻底崩坏(Xiao et al. 2024 为此提出 attention sinks),因此这种比较天然高估线性化的价值;Cabannes 等(2026)也已证明短窗 SWA 反而有利于长期记忆,但始终没有人把'SWA+sinks'与线性化正面对决。本文填的正是这个空白:固定 $s=4$、窗口 64-512 的免训练 SWA,对抗训练成本从 2000 万到 400 亿 token 不等的各种线性化方案。此外,作者把此前被割裂的三个维度——下游性能恢复率、长上下文推理、系统吞吐与显存——首次统一进同一个比较框架,并把'0 训练 token'当作性价比的第一指标。结论因此格外锋利:不是 SWA 有了新技巧,而是线性化此前的领先建立在不当基线与缺失的长上下文评测之上。
核心方法
本文不提出新模型,而是提出一个强基线加一套系统评测。直觉是:预训练模型并未真正学会利用遥远历史,有效信息集中在局部窗口与开头的 sink token 中,因此推理时直接把注意力掩码换成 SWA(w,s)——保留前 $s=4$ 个 sink token 加最近的 $w-s$ 个 token——就能几乎无损地冻结 KV 缓存增长,归一化只在窗口内进行:$x_t=\frac{\sum_{i=\max(1,t-w+1)}^{t}\exp(q_t k_i^\top/\sqrt{d})v_i}{\sum_{i=\max(1,t-w+1)}^{t}\exp(q_t k_i^\top/\sqrt{d})}$,把 $O(DL^2)$ 的计算和线性增长的缓存变为每步常数显存。评测设计上,作者对 11 个教师模型(1.3B-70B)直接换掩码、零训练,与十余种已发表的线性化 checkpoint 在 MMLU、ARC-C/E、HellaSwag、PIQA、WinoGrande 上比较,统一计算恢复率 $R=\text{score}_{\text{student}}/\text{score}_{\text{teacher}}$;长上下文用 S-NIAH 1/2/3 与 BABILong(0.5K-4K,窗口 128/256/512);系统层面在 4 层 Transformer($D{=}1024$、16 头每头 64 维、batch=1、fp16、RTX PRO 6000 Blackwell)上测 128-256K 上下文的解码吞吐与显存,FA/SWA 走 FlashAttention,线性注意力走 ThunderKittens,LoLCATs 用其窗口 256 的融合核。
核心思想是把'SWA+sinks'立为一切线性化方法必须击败的最低门槛,而这恰是整个领域集体跳过的一步。本质区别可以用推理时的状态刻画:线性注意力把全部历史压缩进固定维度的递归状态 $s_t=s_{t-1}+\phi(k_t)^\top v_t$、$z_t=z_{t-1}+\phi(k_t)^\top$,预测为 $x_t=\phi(q_t)s_t/(\phi(q_t)z_t)$,状态容量有限且必须靠昂贵的后训练学习'记住什么、覆盖什么';SWA(w,4) 则完全不动权重,只把可见历史截断为前 4 个 sink token 加最近 $w-4$ 个 token,用'承认记不住远处细节'换取零训练、零新算子、零硬件适配。作者的创新因此是评测学的而非算法学的:第一次在 11 个模型、短长上下文、速度显存三个维度上做这场对决,并揭示线性化论文的收益主要来自'对手是无 sink SWA'这一不当基线。结果——SWA 在 9/11 个模型上平均分最高、MMLU 恢复率 93.2% 超过几乎所有线性化方法——直接动摇了后训练线性化路线的性价比叙事。
方法步骤详情
第一步,选定 11 个教师模型:Phi-1.5-1.3B、Mistral-7B-v0.1、Llama2.0-7B、Llama3.0-8B/8B-Instruct、Llama-3.1-8B/70B、Qwen2.5-7B/32B/72B-Instruct、QwQ-32B,覆盖 1.3B-70B。第二步,构造 SWA(w,s) 推理掩码:记号中窗口 $w$ 含 $s$ 个 sink,即每个位置 attend 前 $s{=}4$ 个 token 加最近 $w{-}4$ 个 token;实验固定 $s{=}4$,短上下文 $w{=}64$,长上下文 $w{\in}\{128,256,512\}$,教师权重零改动。第三步,短上下文评测:运行 MMLU(5-shot)、ARC-C(acc-norm)、ARC-E(acc)、HellaSwag(acc-norm)、PIQA(acc)、WinoGrande(acc),与公开报告的线性化模型分数对比并计算恢复率。第四步,长上下文评测:以 Llama-3.1-8B 为基座跑 S-NIAH-1/2/3(0.5K-4K)与 BABILong QA1-QA5(0K-4K),对比 LoLCATs(+SWA) 与 Liger-GLA(+SWA)。第五步,系统测量:4 层、$D{=}1024$、16 头×64 维、batch=1、fp16,在 RTX PRO 6000 Blackwell 上测 128-256K 的解码吞吐、KV 缓存/循环状态显存与 FLOPs。第六步,附录附加实验:用约 0.1B token 清洗版 Alpaca、LoLCATs 式两阶段蒸馏,在 Qwen3-8B、Phi-4-mini-reasoning、Phi-4-reasoning-plus 上自训 GLA、Gated DeltaNet、QRWKV6,再与 SWA(64,4) 对比验证。
技术新颖性
新颖性不在算法而在评测视角,具体有三点。其一,首次系统性揭示'基线不当'问题:线性化论文普遍只与无 sink SWA 比较,而后者在窗口滑过 sink 后必然崩溃;引入 SWA(64,4) 这一零成本强基线后,LoLCATs 等方法的相对优势几乎消失,这会改变该领域论文必须报告的对照组。其二,三维度统一比较:把下游恢复率(SWA 平均 99.0% 对 QRWKV6 的 99.1%)、训练成本(0 token 对 20M-40B token、1-3 阶段后训练)、推理系统性能(SWA 吞吐最高、w=64 显存最低)放进同一框架,给出此前缺失的性价比结论。其三,首次系统暴露线性化在长上下文的退化:4K 上下文时 SWA 在 S-NIAH 恢复教师精度的 17.2-23%,LoLCATs 最多 5.8%、Liger-GLA 不超过 0.8%;BABILong@4K 为 15% 对 3%。附录中作者还以统一协议自训 GLA、Gated DeltaNet、QRWKV6(各约 0.1B token),Qwen3-8B 上 SWA 平均 71.6 对 51.3-56.1,排除了'文献数字挑选偏差'的质疑,让结论更可信。
实验结果
短上下文:Table 1 显示 SWA(64,4) 以 0 token 训练取得 MMLU 恢复率 93.2%(±3.5)、六基准平均 99.0%(±0.5);最强线性化方法 QRWKV6 需 350-700M token、3 阶段后训练才达到 92.4%/99.1%,LoLCATs 用 40M token 达 83.2%/97.5%,其余 SUPRA 88.1%、Liger-GLA 92.0%、MOHAWK 92.4%、Llamba 98.6%、Hedgehog 73.9% 均不超过 SWA。Table 2 逐模型看,SWA 在 11 组对比中的 9 组取得非教师模型最佳平均分(例外:Phi-1.5 上 LoLCATs 62.5 对 62.4、Qwen2.5-32B 上 QRWKV6 77.3 对 76.6);MMLU 上 SWA 全部最优,唯一例外是 Llama2.0-7B 上 DiJiang 40.7 对 39.8。长上下文:Table 3 的 S-NIAH(基座 Llama-3.1-8B)中 SWA 在所有窗口(128/256/512)与长度(0.5K-4K)全面持平或碾压对手,w=512、4K 时 SWA 得 19.0/23.0/23.0,LoLCATs 仅 8.8/16.6/5.8,Liger-GLA 几乎全 0;4K 处 SWA 恢复全注意力精度的 17.2-23%,LoLCATs 最高 5.8%。Table 4 的 BABILong(w=256):0K 时 LoLCATs 56 略胜 SWA 55,2K 起 SWA 反超(19 对 10),4K 时 15 对 3(教师 60),恢复率 25% 对 5%。系统性能(Figure 2):SWA 吞吐全程最高且平坦,SWA(64) 显存最低且恒定,FA 显存线性增长且 1K 后吞吐下滑,Linear 状态显存最小但吞吐不及 SWA。附录 Table 5 自训实验确认:Qwen3-8B 上 SWA 平均 71.6,远高于 Gated DeltaNet 56.1、GLA 51.3、QRWKV6 53.2。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| 短上下文六基准平均(11 个模型,MMLU/ARC-C/ARC-E/HellaSwag/PIQA/WinoGrande) | 平均恢复率 (%) | SWA(64,4):99.0(0 训练 token) | QRWKV6:99.1(350-700M token、3 阶段);LoLCATs:97.5(40M token) | 零训练成本下与最贵的线性化方法打平,超过其余全部方法 |
| MMLU (5-shot) | 恢复率 (%) | SWA(64,4):93.2 | QRWKV6:92.4;LoLCATs:83.2;SUPRA:88.1 | 较最强线性化高 0.8 个百分点,且无需任何后训练 |
| S-NIAH-1/2/3 @ 4K(Llama-3.1-8B,w=512) | 准确率 (%) | SWA(512,4):19.0 / 23.0 / 23.0 | LoLCATs:8.8 / 16.6 / 5.8;Liger-GLA:≈0;全注意力:≈100 | 最高约 4 倍于 LoLCATs、数十倍于 Liger-GLA(恢复率 17.2-23% 对最高 5.8%) |
| BABILong @ 4K(Llama-3.1-8B,w=256) | 准确率 (%) | SWA(256,4):15(恢复教师的 25%) | LoLCATs:3(恢复 5%);全注意力:60 | 准确率约 5 倍于 LoLCATs |
| 解码吞吐(128-256K 上下文,4 层测试模型) | tokens/s | SWA 全程最高且平坦(w=64 快于 w=512) | FA 超过约 1K 后持续下滑;Linear 与 LoLCATs 略低于 SWA | 在全部上下文长度上保持最高吞吐 |
| 推理显存(KV 缓存或循环状态,128-256K) | MiB | SWA(64):最低且在窗口处封顶恒定 | FA 随长度线性增长;Linear 状态显存最小但速度更慢 | 固定小窗口实现最低显存,同时保住最高速度 |
局限与改进
作者承认的局限:只研究了免训练 SWA,后训练(如 SWAA、可学习 sink)可进一步提升;未考虑含全注意力层的混合架构;未扩展到极大模型、agentic 任务与多模态/视频的多维滑窗。我自己的观察:第一,长上下文推理评测上限只有 4K,而系统吞吐测试却做到 256K,两者脱节——线性注意力的甜区恰在 32K 以上流式场景,本文推理评测恰好没覆盖,外推需谨慎。第二,SWA 并非无损:MMLU 普遍掉 3-6 点(如 Llama-3.1-70B 教师 78.9 对 SWA 73.2),精度敏感场景仍有代价。第三,Table 2 中线性化对手的分数多引用自原文,评测协议、模板与超参未必统一,存在 apples-to-oranges 风险;附录自训只覆盖 3 个模型与 3 种注意力变体。第四,SWA 依赖'远距离信息不重要'的假设,S-NIAH@4K 即便 w=512 也只有 19-23%,说明检索型长任务上它与线性化一样不行,只是矮子里拔将军。第五,吞吐结论来自 batch=1 的 4 层玩具模型,未测 PagedAttention、大批量服务等真实部署配置,对 32-80 层真实 LLM 的代表性有限。
独立分析的弱点
弱点一:长上下文推理评测止步 4K,与 256K 的系统测试脱节,无法回答 SWA 在真正长文档场景的表现;改进方向是把 S-NIAH/BABILong 扩到 32K-256K,加入 RULER、LongBench、InfiniteBench。弱点二:固定窗口的遗忘是硬伤——S-NIAH-1@4K 即便 w=512 也只有 19.0%,对大海捞针类任务 SWA 只是相对更好而非真正可用;改进方向是与检索增强结合(把检索段落注入窗口),或采用分层/分块全注意力与 sink 组合。弱点三:对比公平性有瑕疵,对手分数大量引自原文,训练数据、模板与 few-shot 设置未必对齐,且只对 3 个新模型自训了线性化;改进方向是在统一 lm-eval 协议与统一蒸馏预算下复现全部方法。弱点四:短上下文基准全是多选/似然题,对全局上下文依赖低,可能系统性高估 SWA 在开放生成、代码、数学等任务上的保真度;应补充开放式生成评测与 LLM-as-judge 评分。弱点五:$w$ 与 $s$ 是全局固定超参,未探索逐层/逐头自适应窗口与 sink 数量的缩放规律;附录自训对所有线性化变体统一 0.1B token,缺少 token 预算扫描,无法给出公平的 scaling 曲线对比。
未来方向
作者明确提出的方向:研究 SWA 后训练的 scaling law,在不同 token 预算下与线性化正面对比;量化混合架构(部分层或部分 token 用全注意力)的影响;扩展到极大模型与 agentic 任务;研究多模态与视频生成的多维滑窗(如 (x,y,t) 三维窗口),并援引 Sliding Tile Attention 在 HunyuanVideo 上以 3.53 倍速恢复 97% VBench 分数的证据。基于本文可延伸:其一,把 SWA+sinks 设为高效注意力论文的强制基线并建立统一评测协议;其二,系统扫描 sink 数 $s$ 与窗口 $w$ 的缩放规律(本文固定 $s{=}4$、$w{\le}512$),探索逐层自适应窗口;其三,研究 SWA 与 KV 量化、检索增强、投机解码的叠加效应;其四,长思维链推理模型上的适用性——QwQ-32B 上 SWA 与教师得分完全相同(MMLU 均为 79.9),暗示生成长 CoT 时对远距历史的依赖低于预期,值得专门研究;其五,把'窗口+sink'思想迁移到流式语音、Agent 长轨迹等无限长输入场景,与循环状态的线性模型做真正的超长上下文对决。
复现评估
复现难度总体中等偏低。模型全部公开:Phi-1.5-1.3B、Mistral-7B-v0.1、Llama 2/3 系列(最高 70B)、Qwen2.5 系列、QwQ-32B 均可在 HuggingFace 下载;SWA+sinks 无需训练,transformers 已内置滑窗配置,StreamingLLM 的 sink 实现开源、vLLM 也支持,只需正确设置窗口与 sink 掩码。线性化对照模型权重大多开源(LoLCATs、Llamba、QRWKV6/7 等);附录自训部分(GLA/Gated DeltaNet/QRWKV6,约 0.1B token 清洗版 Alpaca、LoLCATs 式两阶段蒸馏)需自己跑 LoRA 蒸馏,单张 A100/RTX 6000 级显卡数天可完成。评测方面,六个短上下文基准可直接用 lm-eval-harness 复现;S-NIAH 可按 RULER 式模板自建,BABILong 公开。系统实验用单张 RTX PRO 6000 Blackwell Max-Q、fp16、batch=1、4 层小模型,门槛不高,但需注意后端差异(FlashAttention 与 ThunderKittens)。主要不确定性:论文未附代码链接,且 SWA(w,s) 中 $w$ 是否含 sink 的实现细节必须仔细核对——原文定义为 $w$ 中留 $s$ 位给 sink(attend 前 4 个加最近 $w-4$ 个),实现偏差会导致数字对不上。
论文图表