混合架构里,高效注意力其实没在"干长程检索"这件事——它只是个优化先验

你有没有想过一个事:现在大家做长上下文模型,动不动就上混合架构——一半 full attention,一半滑动窗口(SWA)或者 Mamba 这类线性序列混合器。直觉上,你会觉得那个"高效注意力"模块的能力越强、感受野越大,模型的长程能力就越好。Mamba 理论上感受野无限,那它在长文本上不应该更能打吗?

这篇论文给的答案是:不是。而且是相当反直觉的不是。

它把六种主流混合架构拆开,从 scaling、机制、设计三个角度系统地捅了一遍,得出一个挺颠覆的结论——长程检索这活儿,基本全是 full attention 在干;高效注意力压根没在直接贡献长程能力,它的作用是当一个"优化先验",决定 full attention 学会长程检索的速度有多快。更扎心的是,窗口开得越大的 SWA,反而让 full attention "偷懒",检索头形成得越晚。作者给这个现象起了个名字,叫 Large-Window Laziness(大窗口惰性)。

arXiv ID:2606.15378 标题:Rethinking the Role of Efficient Attention in Hybrid Architectures 作者:Ziqing Qiao, Yinuo Xu, Chaojun Xiao, Zhou Su, Zihan Zhou, Yingfa Chen, Xiaoyue Xu, Xu Han, Zhiyuan Liu 机构:清华大学、OpenBMB 提交日期:2026 年 6 月 13 日 链接:https://arxiv.org/abs/2606.15378


先说为什么这个问题值得较真

混合架构现在是真的火。GPT-OSS、Gemma、还有一堆 2026 年的新模型都在用 full attention + 高效注意力的搭配,原因很简单:标准 softmax attention 在长序列上太贵了,\(O(n^2)\) 顶不住。所以大家把一部分层换成 SWA(只看局部窗口)或者 Mamba/GDN 这类 RNN 风格的混合器,省算力。

但有个问题一直没人讲清楚:这些高效模块到底是怎么影响模型能力的? 你换了个窗口大小、换了个混合器类型,长上下文能力会怎么变?是变好还是变差?为什么?

这事儿听起来像是工程调参的细节,但其实它直接决定了你该往哪个方向投入。如果高效注意力本身扛长程,那大家就该卷更强的混合器;如果不是,那卷错了方向就是白烧卡。

作者把它拆成三个研究问题:

  • RQ1 Scaling:混合架构在短上下文和长上下文上是怎么 scale 的?
  • RQ2 机制:高效注意力的设计到底怎么影响长程能力?
  • RQ3 设计:什么样的设计原则能做出更好的混合架构?

下面这张总览图把三条线索串起来了,值得先看一眼再往下读。

图1:论文整体框架——Scaling、Mechanism、Design 三条主线

图1:左边 Scaling 说的是不同高效注意力设计,短上下文 Loss 曲线几乎重合,但长上下文 log(LongPPL) 曲线差异明显——尤其大窗口 SWA 一开始很差,最终却收敛到差不多的水平;中间 Mechanism 揭示长程检索主要由 full attention 承担,高效注意力只是个优化先验,大窗口 SWA "学得少、检索差",小窗口反而"学得多、检索好";右边 Design 给出落地方案:小窗口 SWA + 对 full attention 层用 NoPE,长程指标全面提升。


实验是怎么搭的:六种混合架构 + scaling law

先交代清楚实验设置,不然后面的结论站不住。

作者拿一个纯 full attention 的 Transformer 当 baseline(就叫 Full),然后造了六个 1:1 的层级混合架构——也就是 full attention 层和高效注意力层交替排列:

  • 三个 SWA 变体:窗口大小分别是 128、512、2048,记作 SWA-128 / SWA-512 / SWA-2048
  • 三个循环序列混合器:Lightning Attention、Mamba-2、Gated DeltaNet(GDN)

模型规模从 S1 到 S5,参数量从 15M 一路到 477M(不含 embedding),训练预算覆盖 \(D \in \{100N, 200N, ..., 1000N\}\) 六档(\(N\) 是不含 embedding 的参数量)。关键的一点:所有模型都直接在 16K 上下文长度上预训练,数据是长短文本 1:1 混合,这样能同时测短上下文和长上下文能力。

配置 S1 S2 S3 S4 S5
参数(不含 embed) 15M 31M 65M 104M 477M
总参数 71M 107M 159M 217M 665M
层数 10 12 16 18 30
隐藏维度 384 512 640 768 1280
Q 头数 6 8 10 12 20
KV 头数 2 2 2 2 2

评估指标这块有个聪明的设计。下游 benchmark 分数又离散又抖,拿来拟合 scaling law 不稳。所以作者用两个连续的拟合目标:

  • validation Loss:衡量通用的短上下文建模质量
  • log(LongPPL):长上下文能力的平滑代理指标(来自 Fang et al. 2025 的工作,只在长程依赖相关的 token 上算困惑度)

这个选择我觉得挺对的。用 Loss 和 LongPPL 这种连续量去拟合 scaling law,远比拿 RULER 分数去拟合靠谱。


RQ1 的发现:短上下文曲线重合,长上下文殊途同归

先看 scaling 的结果,这是整篇论文最关键的观察。

作者用 S1–S3 的 18 个数据点拟合 scaling law,把 S4 的 6 个点留作验证集,然后外推到 S5(0.48B)看预测准不准。

图2:S5 规模下的预测 Loss 与 log(LongPPL) 随训练 token 的变化

图2:左图是 validation Loss,所有混合架构的曲线和 Full 几乎完全重叠——说明高效注意力设计对短上下文能力影响极小;右图是 log(LongPPL),架构之间差异巨大,尤其训练早期(低数据量)大窗口 SWA-2048 的 log(LongPPL) 明显偏高(更差),但随着训练充分,差距快速收窄,最终所有混合架构都收敛到和 Full 相近的水平。

两个发现摆在这儿,合起来就很有意思了:

第一,validation Loss 几乎不受高效注意力设计影响。 不管你用 SWA-128 还是 Mamba-2,短上下文建模质量都跟 Full 差不多。这说明换高效模块不怎么伤短文本能力。

第二,长程能力的差异主要体现在收敛速度上,而非最终水平。 这里说的长程能力指标是 log(LongPPL)。训练早期,SWA-2048 这种大窗口的长程能力明显拉胯;但训练越充分,差距越小,最后大家都摸到差不多的天花板。

这就引出两个看起来矛盾的谜题:

既然最终都收敛到相似水平,那为什么不同高效注意力能收敛到同一个长程能力? 既然最终一样,那为什么收敛速度差这么多,尤其是不同窗口的 SWA 之间?

作者的答案是:这俩谜题其实是同一个机制的两面。高效注意力不直接决定长程能力,它是个优化先验,塑造的是 full attention 怎么被训练出来的。

说到 scaling law 拟合,这里多嘴一句——用 log(LongPPL) 而不是直接拿 benchmark 分数来拟合,是个挺务实的选择。下游分数的离散性会让拟合的 \(R^2\) 很难看,LongPPL 平滑多了。这种"找一个平滑代理量"的思路,在做 scaling 研究时其实很值钱。


RQ2 的机制拆解:长程检索是 full attention 一个人扛的

谜题归谜题,得有证据。作者做了一组机制实验,先证明"长程信息主要由 full attention 承载",再解释"高效注意力如何当优化先验"。

证据一:推理时掐掉感受野,只有 full attention 受限会崩

这个实验设计得很干净。拿 S4 / D=1000N 训好的模型,在推理时分别限制两种注意力的感受野到约 2048 token,看 log(LongPPL) 怎么变。

图3:推理时限制感受野对 log(LongPPL) 的影响

图3:蓝色是原始模型,紫色是限制高效注意力感受野到约 2048,橙色是限制 full attention 到 2048。可以看到,限制高效注意力几乎不影响 log(LongPPL)(GDN 从 1.49 到 1.54,Lightning 从 1.47 到 1.50,基本没动);但一旦限制 full attention,所有架构的 log(LongPPL) 直接飙到 4.6 以上,彻底崩盘。

这个对比太说明问题了。把高效注意力的可见范围掐到 2048,长程能力几乎不掉;但把 full attention 掐到 2048,模型直接废掉。 注意这里高效注意力包括了理论上感受野无限的 Mamba-2、GDN。Mamba-2 限制后从 1.51 涨到 1.85,稍微敏感一点,但和 full attention 那种从 1.5 飙到 4.6 的灾难性崩溃比,完全不是一个量级。

结论很硬:长程检索这活儿,基本就是 full attention 在干。那些循环混合器虽然理论上能看全局,实际上并没有真的在承担长程检索。

证据二:逐层探测,检索能力集中在中间的 full attention 层

光看感受野还不够,作者又做了逐层探测(layer-wise probing),在 NIAH(大海捞针)任务上测每一层带来的增量准确率。

图4:S4/1000N 模型在 NIAH 上的逐层探测准确率增益

图4:每个格子显示相比上一层的增量准确率。所有混合架构里,准确率增益都集中在中间的 full attention 层(奇数层),高效注意力层的贡献很小。这进一步坐实了 full attention 是长程检索的主力。

两个证据合在一起,RQ2 的前半段就立住了:长程能力来自 full attention,而所有混合架构共享同一套 full attention 组件,所以它们最终收敛到相似的长程水平。 第一个谜题解了。

证据三:大窗口让 full attention "偷懒"——Large-Window Laziness

那收敛速度为什么差这么多?这是第二个谜题,也是我觉得这篇论文最漂亮的地方。

作者去追踪"检索头"(retrieval heads)的形成过程——具体是看训练过程中,full attention 层里检索头的 Q 投影矩阵梯度的 Frobenius 范数怎么演化。梯度范数大,说明这个头在被积极地训练去学检索。

图5:不同窗口 SWA 的检索头训练轨迹——小窗口激活得更早

图5:横轴是训练步数,纵轴是检索头 Q 投影的梯度范数。左列是 S1,右列是 S4,从上到下分别是 SWA-128、SWA-512、SWA-2048。可以清楚看到:SWA-128(小窗口)的检索头梯度在训练早期(约 500 步)就开始爬升;SWA-512 要到 1000 步左右;SWA-2048(大窗口)最晚,要到 1500-2000 步才启动。窗口越大,检索头形成越晚。

机制解释非常直观:当局部窗口已经能提供足够的上下文来预测下一个 token 时,那个推动 full attention 去学长程检索的梯度信号就被削弱了。 大窗口 SWA 把"近处的活儿"干得太好,full attention 反而没动力去学"远处的检索",于是检索头形成得晚、长程能力涌现得慢。

这就是 Large-Window Laziness。说实话,看到这个解释的时候我愣了一下——它把"窗口大反而不好"这个反直觉现象,用梯度信号的视角讲得特别顺。大窗口不是不能学长程,是"没必要学",因为短期目标已经被满足了。这其实和强化学习里 reward 太容易拿到就不探索是一个道理。

作者还做了梯度影响分析(gradient influence over distance)和检索头训练轨迹两组实验来支撑这个机制,这里不展开了,核心就是上面这条因果链。


RQ3 的落地:既然 full attention 是关键,就想办法帮它学得更快

机制搞清楚了,设计原则就自然出来了:别再卷高效注意力本身的能力了,把精力放在"怎么帮 full attention 更快学会长程检索"上。 作者从三个设计维度验证了这个思路。

维度一:full 层和高效层的比例(1:1 vs 1:3)

把主实验用的 1:1 SWA-128 和更稀疏的 1:3 变体对比。

图6:SWA-128 在 1:1 与 1:3 比例下的对比

图6:1:3 的稀疏比例在 validation Loss 上几乎和 1:1 一样;但在 log(LongPPL) 上,稀疏模型在小规模时更差(因为 full attention 层太少了),随着模型变大这个差距收窄。说明只要 full attention 层够多,full 的密度可以安全地降下来。

结论:full attention 层不用太密,但得有个下限,太少了长程会吃亏。

维度二:层级混合 vs 头级混合(Layer-wise vs Head-wise)

另一个选择是:full attention 是放在独立的层里,还是分散到每层的不同头里(head-wise / intra-layer 混合)?

图7:SWA-128 层级混合 vs 头级混合

图7:层级的 SWA-128 和头级变体 SWA-128-Headwise 对比。两者最终的 validation Loss 和 log(LongPPL) 差不多,但头级变体的 log(LongPPL) 收敛更慢。在作者的设置下,头级混合并没有比层级混合更有优势。

结论:别迷信头级混合,至少在这个设置下没占到便宜,收敛还更慢。

维度三:给 full attention 层去掉位置编码(NoPE)——真正的亮点

这是 RQ3 里最有价值的发现。最近有研究表明,对 full attention 层用 NoPE(不加位置编码)能增强长程检索。作者拿 SWA-128 当基座(因为它本来就能很好地激活 full attention 检索),给它的 full attention 层去掉 RoPE 换成 NoPE,记作 SWA-128-NoPE

图8:SWA-128 vs SWA-128-NoPE 的 scaling 对比

图8:给 full attention 层用 NoPE 后,log(LongPPL) 大幅下降(长程能力提升),而 validation Loss 几乎不变(短上下文不受影响)。这是个几乎零成本的改动。

光看 scaling 曲线还不够,作者在 S4(0.22B)和 S5(0.66B)两个规模上,用约 100B token 训了 Full、SWA-128、SWA-128-NoPE 三个模型,跑了真实的下游 benchmark。S5 的 checkpoint 还额外用 32K 序列长度续训了 5B token。

规模 模型 ShortAvg RULER (16K) RULER NIAH (16K) LongBench (16K) RULER (32K) RULER NIAH (32K) LongBench (32K)
S4 (0.22B) Full 38.13 25.09 35.95 15.09
SWA-128 38.03 35.33 49.58 15.88
SWA-128-NoPE 37.88 44.80 67.81 16.43
S5 (0.66B) Full 40.46 47.17 67.14 18.44 43.90 62.61 18.93
SWA-128 41.31 46.13 65.91 17.52 41.86 60.17 18.30
SWA-128-NoPE 41.32 52.88 82.31 19.02 46.98 70.42 19.46

这张表很能说明问题。看 S4 的 RULER NIAH:Full 是 35.95,SWA-128 涨到 49.58,SWA-128-NoPE 直接干到 67.81——比 Full 高了 30 多个点,而 ShortAvg 几乎没变(38.13 → 37.88)。S5 上 NIAH 从 67.14 涨到 82.31,32K 长度下从 62.61 涨到 70.42,短上下文还略有提升。

几乎零成本,长程指标全面起飞,短上下文不掉。 这种"免费午餐"在架构设计里不多见。

有意思的是,这里还藏着一个反直觉:SWA-128(纯小窗口混合,没 NoPE)在 RULER 上居然比 Full 还强(S4 上 35.33 vs 25.09)。结合前面的机制——小窗口反而能更好地激活 full attention 的检索头,这就说得通了。小窗口 + NoPE 双管齐下,效果叠加。


我的判断:一篇"机制讲得漂亮"的论文,但要注意它的边界

先说我喜欢的地方。

这篇论文最值钱的不是 NoPE 那个 trick,而是它把"高效注意力是优化先验"这个视角讲透了。 它用感受野限制 + 逐层探测证明 full attention 扛检索,用检索头梯度轨迹证明大窗口让 full attention 偷懒,因果链条完整、证据扎实。Large-Window Laziness 这个命名也很到位,一下子抓住了那个"窗口越大反而越慢"的反直觉点。

而且它纠正了一个行业里挺普遍的误区:大家总觉得要卷更强的高效注意力混合器(Mamba 这家伙感受野无限啊),但这篇告诉你,在混合架构里那个无限感受野基本没派上用场,长程还是 full attention 在干。这个判断如果成立,对架构设计的指导意义很大——别在高效模块上死磕长程,去想办法激活和强化 full attention。

但是,有几个边界得拎清楚,别过度外推。

第一,规模偏小。 最大才 0.66B 参数、约 100B token,离前沿工业系统的规模差得远。scaling law 虽然做了外推验证,但"亚十亿参数 + 百亿 token"得出的结论,放到几十上百 B 参数、几万亿 token 的真实大模型上还成不成立,作者自己在 Limitations 里也承认是个问号。

第二,训练配方不一样。 这篇是直接在 16K 上预训练、最多扩到 32K。而工业界主流是先短上下文预训练、再做长度扩展。这俩配方下,检索头的形成动力学很可能不一样,Large-Window Laziness 在"先短后长"的配方里会不会被改变,论文没回答。

第三,覆盖的高效注意力不全。 SWA 三档 + Lightning/Mamba-2/GDN,代表性是有,但 RWKV-7、Kimi-Linear 这些热门变体没覆盖。结论能不能推广到所有线性注意力家族,还得打个折。

还有一点我想多说一句:RQ3 那几个设计实验,作者自己也定位为"验证机制结论",而不是一个完整的设计研究。所以 NoPE 这个结果别当成"放之四海皆准的最优解",它是在这个特定设置下、为了佐证机制而做的。真要用到生产,还得在你自己的规模和配方上重新验一遍。


工程启发:如果你在做混合架构

抛开论文规模的局限,有几条思路我觉得值得在自己的项目里试试:

  1. 别盲目卷高效注意力的"长程能力"。如果这篇的机制成立,那个感受野再大也主要是当优化先验用的,真正扛长程的是 full attention。把资源投到"怎么让 full attention 更快学会检索"上,性价比可能更高。

  2. 小窗口 SWA 可能比大窗口更好。反直觉,但有机制支撑——小窗口逼着 full attention 去学长程检索,检索头形成更早。如果你在调窗口大小,不妨往小了试。

  3. 对 full attention 层用 NoPE 值得一试。几乎零成本,长程指标提升明显,短上下文不掉。当然,记得在你自己的规模上验证。

  4. full attention 层不用太密,但要有下限。1:3 的稀疏比例在足够规模下和 1:1 差不多,能省算力,但层数太少会拖累长程。

说到底,这篇论文给混合架构设计提供了一个新的思考框架:不要把长程能力寄托在高效注意力上,而要想办法激活和强化 full attention。 小窗口 SWA 和 NoPE,都是这个框架下的具体实践。这个视角本身,可能比任何单个 trick 都更有长期价值。


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