复旦OpenMOSS团队:滑窗与线性注意力之争,混合架构全都要
本文第一作者柳潇然,复旦大学、上海创智学院 2022 级硕博连读生,导师邱锡鹏、何子薇。研究方向为长上下文大语言模型,曾在 ICLR、ICML、AAAI、EMNLP 等国际顶级人工智能会议发表论文十余篇。背景介绍长上下文已经成为大语言模型重要的基础能力,但长上下文也给模型架构带来了一个现实问题:全注意力能够直接建模任意
柳潇然,复旦大学、上海创智学院 2022 级硕博连读生,导师为邱锡鹏、何子薇。其研究方向是长上下文大语言模型,曾在 ICLR、ICML、AAAI、EMNLP 等国际顶级人工智能会议发表论文十余篇。
背景介绍
长上下文如今已是大型语言模型的一项关键基础能力。不过它也给模型架构提出了一道现实难题:全注意力能直接建模任意两个位置之间的关系,代价是计算和显存开销随序列长度明显上涨;滑窗注意力和线性注意力虽然更省,可效果上短板也很突出。正因如此,混合架构慢慢成了当前大语言模型设计的主流选择。
滑窗注意力和线性注意力都属于计算与存储复杂度固定的高效路线。那么混合架构该让全注意力跟其中哪一种搭配?复旦大学与上海创智学院邱锡鹏团队的新成果《混合架构的长文力学》(Mechanics of Long-Context Hybrid Models)给出的答案颇为有趣:两种都要。
这篇论文站在混合位置的角度,系统对比了基于 RoPE/NoPE 全注意力、滑窗注意力(SWA)以及 GLA/GDN 等门控线性注意力的混合架构在长上下文任务里的表现,并对不同注意力之间的协同机制做了进一步分析。
Paper:https://arxiv.org/abs/2610.10114
GitHub:https://github.com/OpenMOSS/Hybrid-Mechanics
知乎:https://zhuanlan.zhihu.com/p/2092654065377457038
观察
实验覆盖 376M、776M、1B 和 3B 四档参数量。流程分两步:先用 4k 上下文做短文预训练,再用 32k 上下文做长文续训。评测对象包括 PG19 PPL、LongPPL、RULER、BABILong 和 LongBench,既看短文训练阶段的长度外推,也看长文续训之后的扩长表现。层混合(LH)与头混合(HH)两种方案也在比较之列。
论文最先给出的观察是,位置信息的搭配方式决定了混合架构的长文能力。RoPE、滑窗和门控线性注意力各自带有显式或隐式的位置偏置,NoPE 注意力则不带。把 NoPE 与这些带偏置的注意力混在一起,既能抬高长文训练时的扩长表现,也能做到即插即用的长度外推。
SWA/GLA/GDN-NoPE-LH 的长度外推表现与长文续训表现,分别见下图。
各混合架构之间的性能差异依然存在。短文预训练结束后,SWA-NoPE 组合的长度外推能力通常很突出,训练上下文只有 4k,模型在更长的上下文上也能维持不错的表现。
可外推强并不等于扩长训练强。长文续训一完成,局面就调转过来:SWA-NoPE 被 GLA-NoPE 或 GDN-NoPE 反超,层混模型里这一反转尤其明显。
团队把这种现象叫作滑窗混合扩长的跷跷板效应。反过来看,线性混合模型在长文续训中拟合得更强,长度外推却不及滑窗混合模型。由此得到另一个核心结论:线性混合没有免费午餐效应。
滑窗混合在扩长上的改进情况如下图。
团队还追踪了长文续训前后的困惑度曲线与参数变化。以 SWA-NoPE 层混模型为例,续训之后短文位置的损失降得很明显,长文位置的损失却没多少起色。模型在训练中更愿意去学滑窗注意力够得着的局部信息,对更远上下文的利用始终没学会。
这就是所谓的短上下文学习陷阱:滑窗分支拿到的训练优化更多,可固定窗口限定了它所能建模的依赖范围,长文训练最终还是过度盯住了短上下文。
再往细看,短窗口在短文预训练阶段反而更利于长度外推;到了长文续训阶段,短窗口又成了模型学习长上下文依赖的阻碍。论文把这两种走向概括为短窗口疲惫与长窗口懒惰。
长文预训练中,SWA-NoPE-LH 的长文表现随窗口增大而变化的趋势如下图:窗口越大,扩长训练表现越好,这正是短窗口疲惫的体现。
短文预训练阶段,SWA-NoPE-LH 的长文表现会随窗口加大呈现怎样的走向,下图给出了趋势。窗口越小,长度外推反而越稳,长窗口的“懒惰”由此显现。
针对这一现象,论文的做法是把滑窗窗口调大,再引入 LongCE 损失,SWA-NoPE/RoPE 层混模型的长文续训表现因此明显抬升,多个规模上已经逼近、甚至追平线性混合模型。
SWA-NoPE-LH 扩长训练后的改进结果
SWA-RoPE-LH 扩长训练后的改进结果
线性混合在外推上的改进
长文续训里,线性注意力的拟合能力确实不错。可一旦推到训练长度之外,它的表现就落在滑窗混合后面。研究团队换了个角度,从相对位置信息重新看这件事:GLA 和 GDN 没有用传统 RoPE,门控本身却带着隐式的位置偏置。距离一拉长,状态更新里的门控不断累积,跑到训练长度之外,分布就可能变样。
顺着这个猜想,论文给出滑窗线性注意力(Sliding-Window Linear Attention,SWLA):推理阶段对 GLA/GDN 的有效相对位置范围加一道滑窗约束,同时给 NoPE 注意力做对数校正,把它的全局聚合能力提上来。
这套做法一边收窄带位置偏置注意力的相对位置感知范围,一边补强无位置偏置模块的全局感知,外推效果相当好,团队称之为混合位置外推的马太效应。实验里,GLA-NoPE、GDN-NoPE 混合的长度外推改善明显。RULER 的 NIAH-SK1 任务上,模型从 4k 训练长度推到 64k,做到 16 倍免训练外推,准确率仍是 100%。
GLA-NoPE-LH 的长度外推改进结果
GDN-NoPE-LH 的长度外推改进结果
混合位置之间怎么配合
混合架构为何管用,论文进一步拆开各注意力模块的注意力特征来看。NoPE 注意力偏向粗粒度的全局聚合,长上下文里检索命中率能维持较高水平;RoPE、SWA 和线性注意力更多是靠位置偏置压住噪声,对长文任务的下游表现影响也更大。
拿 RoPE-NoPE 混合来说,NoPE 全注意力的注意力分数命中率比 RoPE 全注意力更高,注意力熵也更大,做的是粗粒度但管用的全局聚合。混合比例一动,NoPE 和带位置偏置的注意力在熵—命中率空间里的分布边界也跟着挪。团队把这种配合叫作混合位置的潮汐效应。
图为不同混合比例的 RoPE-NoPE-HH 对比
所以,混合架构的要害不在于把几个模块塞进同一个模型,而在于让它们搭出彼此补位的位置信息结构,这样才做出了超过单一注意力的效果。
结语
整项工作盯着两个看着不难的问题:混合架构凭什么有效,以及怎么设计才更有效?由此给出六条结论。
结论 1,从混合注意力走向混合位置。所谓混合位置,就是 NoPE 注意力与其它带位置偏置的注意力混在一起,在长度外推和长文训练中更管用。
结论 2,滑窗混合扩长时的跷跷板效应。滑窗混合(SWA-NoPE)长度外推更占优,可扩长训练比不过线性混合(LA-NoPE),在层混模型里尤其明显。
结论 3,线性混合没有免费午餐。线性混合(LA-NoPE)扩长训练更行,长度外推却不如滑窗混合(SWA-NoPE)。
结论 4,混合位置协同的潮汐效应。混合位置要有效协作,得靠少数 NoPE 注意力做粗糙聚合、多数带位置偏置注意力压住噪声,两边才配合得起来;它们在熵—命中率散点图上的分布边界随比例起落。
结论 5,短窗口疲惫、长窗口懒惰。滑窗混合的长上下文训练里藏着短上下文学习陷阱:短窗口在短文预训练时有利于长度外推,长窗口则在长文续训时有利于扩长训练。
结论 6,混合位置外推的马太效应。混合位置模型里,带位置偏置的注意力用滑窗把局部感知收窄,无位置偏置的注意力靠对数校正把聚合加强,外推效果因此很好。
团队是从训练推理阶段的长文效果差异和注意力内部行为分析入手,串起从现象到机制再到改进的分析链条。结果显示,混合架构的好处来自不同注意力模块之间的功能互补,并非某个模块在所有场景下都更强。
线性注意力擅长高效学习和拟合长上下文,滑窗机制擅长在推理时控制相对位置、做出长度外推,NoPE 注意力则能给出更粗糙但有效的全局聚合。把这几种能力组织到一起,大概正是长上下文混合架构接着要走的路。
论文关注的是滑窗注意力、线性注意力这类高效注意力与全注意力搭成的混合架构,考察它们在文本预训练阶段的长文表现。下一步,团队还会探索后训练阶段、多模态训练阶段这些混合架构的表现,以及相同阶段稀疏注意力混合架构、压缩注意力混合架构的表现。