在百万Token上下文成为开源模型新卖点的当下,真正的瓶颈从来不是把序列塞进去,而是注意力机制的计算与显存开销如何不被拉爆。传统全量注意力的代价随序列长度呈平方级增长,百万级上下文几乎无法承受,这也是滑动窗口注意力(SWA)被反复提及的根本原因。
SWA的核心取舍很直接:每个Token不再关注全部历史,而只关注邻近的一小段窗口。以近期开源的Naive-N0.5-Flash为例,其SWA层只关注邻近约128个Token,把每一步注意力的计算范围压缩成固定大小的局部运算,开销随序列长度近似线性增长。这意味着上下文从十万扩到百万,注意力部分的算力和内存不再成倍失控。
但纯局部窗口有明显短板:它天然看不到窗口之外的远距离依赖。该模型的处理方式是让SWA与轻量级的稀疏注意力(DSA)按约5:1配合,48层中39层为SWA、9层为DSA,并叠加GQA4分组。DSA的作用是从完整历史中筛出最重要的约2048个Token再做计算,相当于在局部窗口之外补上一条"远程检索"通路。两类机制交替堆叠,使整个网络没有任何一层使用全量注意力,却仍能在层间逐步传递全局信息。
为什么这套结构能撑住百万上下文
关键在于把"长"这件事从注意力的硬成本里解耦出来。局部窗口负责廉价地处理绝大多数邻近关系,稀疏层负责以可控代价覆盖关键的长程依赖,二者比例失衡会分别导致全局能力不足或成本回升。配合稀疏MoE约5%的激活比例,模型在容量与实际算力之间进一步让渡,这正是百万Token从炫技走向可用的工程前提。
需要客观看待的是,"全稀疏注意力不掉点"目前主要依据厂商自述,公开信息中缺少主流权威基准的横向评测,长上下文下的实际检索与推理质量仍需第三方数据检验。对关注这条技术路线的团队而言,架构选择已经指明方向,但是否满足自身场景,仍应以在真实长文档、长代码任务上的实测为准,而非仅凭规格参数下结论。
