14.1 高效注意力:突破平方复杂度的瓶颈
标准自注意力的 复杂度(2.5 节已详细分析)是 Transformer 处理超长序列的根本瓶颈。本节讨论针对这一瓶颈的各种高效注意力方案。
需要区分两类“高效”:一类改变注意力的数学结构,如稀疏注意力、线性注意力和状态空间模型;另一类保持精确注意力但优化 IO、缓存和部署形态,如 FlashAttention、PagedAttention、MQA/GQA、MLA 和分块/Ring Attention。到 2026 年,生产 LLM 服务中后者尤其关键,因为许多近似注意力方法虽然降低理论复杂度,却未必在真实 GPU kernel、质量和生态兼容性上优于精确注意力优化栈。
14.1.1 稀疏注意力
稀疏注意力的核心思想是:不是让每个位置关注所有位置,而是只关注一个精心选择的子集。
局部窗口注意力:每个词元只关注前后固定大小窗口内的邻近词元。代表模型:Longformer(12.3 节)。复杂度 。
分块注意力:将序列分为固定大小的块,块内使用标准全注意力,块间使用选择性注意力或完全不交互。FlashAttention 的分块策略虽然不改变数学性质,但体现了类似的分块思想。
哈希注意力:Reformer 提出使用局部敏感哈希(LSH)将相似的 Q 和 K 分到同一个桶中,只在桶内计算注意力。复杂度 。
可训练稀疏注意力:上面三种的稀疏模式都是人手设计、与内容无关的——窗口开多大、块怎么切、哈希怎么分桶,都由架构师事先定死。2025—2026 年的转向是把“关注哪里”本身变成学出来的、随内容变化的决策:模型自带一个轻量索引器,为每个查询动态挑出最相关的少数块,再只在这些块上做精确注意力。
MiniMax 的 MiniMax Sparse Attention(MSA,2026 年 6 月)是一个清晰的样本。它建立在 GQA 之上,分成两支:索引分支用一个极轻量的头为所有 KV 块打分,为每个查询、每个 GQA 组各自选出 Top-k 个块;主分支只在选中的块上做精确的块稀疏注意力。在 MiniMax-M3 的官方配置中,块大小为 128、每次保留 16 个块。
这里有一个值得留意的训练难点:Top-k 选择不可导,语言建模损失无法直接训练索引器的投影矩阵。MSA 的解法是给索引分支加一个 KL 对齐损失,让它去拟合主分支的注意力分布,并用梯度截断把这个信号与主干隔离;同时强制保留查询所在的局部块,避免退化成完全忽略邻域的选择。论文在一个 109B 的 MoE 模型上报告,在 100 万词元上下文下 MSA 与 GQA 质量相当,而每词元的注意力计算量降低约 28.4 倍。
换句话说,稀疏注意力正从“预设形状”走向“学习选择”,代价是要额外设计一路训练信号来监督这个选择器。
14.1.2 线性注意力
线性注意力的目标更激进——将 降至 。关键转换是避免显式计算 的注意力矩阵。
标准注意力:,需要先计算 ()。
线性注意力通过核函数近似将 Softmax 分解为特征映射 的乘积:
通过先计算括号内部分 (),再左乘 ,避免了 的中间矩阵。
Performer(Choromanski 等人,2021 年)使用随机特征映射近似 Softmax 核。Linear Transformer 直接使用 ELU 激活函数替代 Softmax。
线性注意力的主要限制是精度——在标准长度序列上,它通常不如精确的 Softmax 注意力。早期的纯核近似方案(Performer、Linear Transformer)也因此长期停留在特殊场景。
但 2025—2026 年出现了两点变化,使线性注意力真正进入了旗舰模型。第一是机制本身的升级:以 Gated DeltaNet 为代表的新一代方案不再只做核函数近似,而是引入 delta 规则(对记忆做纠错式更新,而非简单累加)与门控(自适应地衰减旧记忆),显著改善了有限状态记忆的利用效率。Moonshot 的 Kimi Delta Attention(KDA,见 Kimi Linear)进一步在 Gated DeltaNet 基础上引入更细粒度的门控。第二是不再追求纯线性——实践中的赢家是把线性层与少量全注意力层混合(详见 14.1.3 与 14.3.4 节):绝大多数层用线性注意力以换取效率,再保留少量全注意力层来守住精确检索能力。
以 Kimi Linear 为例,该 48B/3B 模型采用 KDA 与全注意力 MLA 按 3:1 分层交替的结构,在 100 万词元上下文下将 KV 缓存降低最多 75%、解码吞吐提升最多约 6 倍。也就是说,线性注意力的定位已经从“精度不够的替代品”变成“混合架构里的高效组件”。
这一配方随后被搬到了旗舰规模:Kimi K3(2.8T 总参 / 104B 激活)沿用同一个 KDA 与 Gated MLA 的 3:1 交替。它暴露并处理了一个纯数学推导上看不出、只有做到这个规模才会咬人的工程问题:KDA 的分块并行形式需要用累积衰减的倒数 $1/\Gamma$ 去缩放每个块内的键,而 $\Gamma$ 是一串 $(0,1)$ 区间内保留因子的乘积,其倒数可以无界增长,在有限精度下直接溢出。Kimi Linear 的对策是在对数空间计算相对衰减、并把块再切成 16 词元的次级小块,让非对角小块可以直接用稠密矩阵乘在 Tensor Core 上算;代价是对角小块仍需按位置对显式计算,这也成了块内的主要瓶颈。K3 在此基础上给衰减加了下界(lower-bounded decay)来约束这个数值范围(arXiv:2607.24653)。把它单独讲出来,是因为它代表了线性注意力落地时的一类典型代价:理论上省下的计算,往往要用额外的数值稳定性工程换回来。
14.1.3 混合方案
实际最有效的策略往往是混合方案——在不同层使用不同类型的注意力。上一小节的 Kimi Linear 与 K3 已经给出了当前落地的配方:绝大多数层用线性注意力换效率,按固定比例(KDA 与全注意力 MLA 为 3:1)逐层交替,保留少量全注意力层守住精确检索能力。注意这与早期文献常见的「底层全注意力、高层稀疏」思路不同:后者按深度分区,前者按比例交替,且交替方案在旗舰规模上被验证过。共同点是都放弃了「全模型统一一种注意力」这个隐含前提——这也是本节真正的结论。
最后更新于
