> For the complete documentation index, see [llms.txt](https://yeasy.gitbook.io/llm_internals/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://yeasy.gitbook.io/llm_internals/di-si-bu-fen-mo-xing-yu-qian-yan-pian/14_future_trends/14.1_efficient_attention.md).

# 14.1 高效注意力：突破平方复杂度的瓶颈

标准自注意力的 $$O(n^2)$$ 复杂度（[2.5 节](/llm_internals/di-yi-bu-fen-ji-chu-pian/02_attention/2.5_complexity_limits.md)已详细分析）是 Transformer 处理超长序列的根本瓶颈。本节讨论针对这一瓶颈的各种高效注意力方案。

需要区分两类“高效”：一类改变注意力的数学结构，如稀疏注意力、线性注意力和状态空间模型；另一类保持精确注意力但优化 IO、缓存和部署形态，如 FlashAttention、PagedAttention、MQA/GQA、MLA 和分块/Ring Attention。到 2026 年，生产 LLM 服务中后者尤其关键，因为许多近似注意力方法虽然降低理论复杂度，却未必在真实 GPU kernel、质量和生态兼容性上优于精确注意力优化栈。

## 14.1.1 稀疏注意力

稀疏注意力的核心思想是：**不是让每个位置关注所有位置，而是只关注一个精心选择的子集。**

**局部窗口注意力**：每个词元只关注前后固定大小窗口内的邻近词元。代表模型：Longformer（[12.3 节](/llm_internals/di-si-bu-fen-mo-xing-yu-qian-yan-pian/12_encoder_models/12.3_longformer_bigbird.md)）。复杂度 $$O(n \cdot w)$$。

**分块注意力**：将序列分为固定大小的块，块内使用标准全注意力，块间使用选择性注意力或完全不交互。FlashAttention 的分块策略虽然不改变数学性质，但体现了类似的分块思想。

**哈希注意力**：Reformer 提出使用局部敏感哈希（LSH）将相似的 Q 和 K 分到同一个桶中，只在桶内计算注意力。复杂度 $$O(n \log n)$$。

**可训练稀疏注意力**：上面三种的稀疏模式都是**人手设计、与内容无关**的——窗口开多大、块怎么切、哈希怎么分桶，都由架构师事先定死。2025—2026 年的转向是把“关注哪里”本身变成**学出来的、随内容变化的决策**：模型自带一个轻量索引器，为每个查询动态挑出最相关的少数块，再只在这些块上做精确注意力。

MiniMax 的 [MiniMax Sparse Attention](https://arxiv.org/abs/2606.13392)（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 线性注意力

线性注意力的目标更激进——将 $$O(n^2)$$ 降至 $$O(n)$$。关键转换是避免显式计算 $$n \times n$$ 的注意力矩阵。

标准注意力：$$\text{Attn} = \text{softmax}(QK^T)V$$，需要先计算 $$QK^T$$（$$O(n^2)$$）。

线性注意力通过**核函数近似**将 Softmax 分解为特征映射 $$\phi$$ 的乘积：

$$\text{Attn} \approx \phi(Q)(\phi(K)^T V)$$

通过先计算括号内部分 $$\phi(K)^T V$$（$$O(n \cdot d^2)$$），再左乘 $$\phi(Q)$$，避免了 $$O(n^2)$$ 的中间矩阵。

**Performer**（Choromanski 等人，2021 年）使用随机特征映射近似 Softmax 核。**Linear Transformer** 直接使用 ELU 激活函数替代 Softmax。

线性注意力的主要限制是精度——在标准长度序列上，它通常不如精确的 Softmax 注意力。早期的纯核近似方案（Performer、Linear Transformer）也因此长期停留在特殊场景。

但 2025—2026 年出现了两点变化，使线性注意力真正进入了旗舰模型。第一是机制本身的升级：以 **Gated DeltaNet** 为代表的新一代方案不再只做核函数近似，而是引入 **delta 规则**（对记忆做纠错式更新，而非简单累加）与**门控**（自适应地衰减旧记忆），显著改善了有限状态记忆的利用效率。Moonshot 的 **Kimi Delta Attention**（KDA，见 [Kimi Linear](https://arxiv.org/abs/2510.26692)）进一步在 Gated DeltaNet 基础上引入更细粒度的门控。第二是**不再追求纯线性**——实践中的赢家是把线性层与少量全注意力层混合（详见 14.1.3 与 [14.3.4 节](/llm_internals/di-si-bu-fen-mo-xing-yu-qian-yan-pian/14_future_trends/14.3_ssm_hybrid.md)）：绝大多数层用线性注意力以换取效率，再保留少量全注意力层来守住精确检索能力。

以 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](https://arxiv.org/abs/2607.24653)）。把它单独讲出来，是因为它代表了线性注意力落地时的一类典型代价：**理论上省下的计算，往往要用额外的数值稳定性工程换回来**。

## 14.1.3 混合方案

实际最有效的策略往往是混合方案——在不同层使用不同类型的注意力。上一小节的 Kimi Linear 与 K3 已经给出了当前落地的配方：**绝大多数层用线性注意力换效率，按固定比例（KDA 与全注意力 MLA 为 3:1）逐层交替，保留少量全注意力层守住精确检索能力**。注意这与早期文献常见的「底层全注意力、高层稀疏」思路不同：后者按深度分区，前者按比例交替，且交替方案在旗舰规模上被验证过。共同点是都放弃了「全模型统一一种注意力」这个隐含前提——这也是本节真正的结论。
