/ 杂谈
杂谈:MLA、Linear Attention 与长上下文记忆路线
从 KV Cache、历史可寻址性和推理基础设施出发,比较 GQA、MLA、Linear Attention 与 Sparse Attention,并讨论混合记忆架构为何正在成为主流。
长上下文模型当前最重要的矛盾之一,是传统 Softmax Attention 的 KV Cache 和 Attention 计算如何继续降下来。
讨论这个问题时,人们经常把 MLA 和 Linear Attention 当成两条完全对称的技术路线。这个分类并不准确:MLA 主要解决“每个历史 token 要缓存多少 KV”,Linear Attention 则进一步追问“是否还要为每个历史 token 保存独立状态,并在 decode 时逐个读取”。
如果把观察范围放宽,主流路线至少可以分成四类:
| 路线 | 代表方法 | 主要压缩对象 | 历史是否逐 token 保存 |
|---|---|---|---|
| KV Head 共享 | MQA、GQA | KV Head 数量 | 是 |
| KV 低秩压缩 | MLA | 每个 token 的 KV 维度 | 是 |
| 线性或递归 Attention | Lightning Attention、Gated DeltaNet、KDA | 整段历史的表示 | 通常否 |
| 稀疏或局部 Attention | SWA、NSA、DSA、Block Sparse | 实际访问的历史 token 数量 | 通常仍保存 |
更值得关注的是,越来越多有竞争力的模型没有选择“纯 MLA”或“纯 Linear”,而是在走一条混合路线:
这篇文章不只比较算法复杂度,也试着从模型能力、记忆形态和 serving 系统三个角度,解释这些路线到底在交换什么。
1. 传统 Attention 的瓶颈#
普通 Softmax Attention 在 decode 阶段计算:
为了生成第 个 token,系统必须保存此前所有 token 的 key 和 value:
因此:
- KV Cache 随上下文长度 线性增长;
- 每生成一个 token,都要读取长度为 的 KV;
- 单步 decode 的 Attention 复杂度是 ;
- 生成整段长度为 的序列,Attention 累计计算接近 。
在大 batch、长上下文 decode 中,真正限制性能的往往不是计算单元,而是从 HBM 反复读取 KV Cache 的内存带宽。MQA、GQA、MLA 和 Linear Attention 都在解决这个问题,但它们动的是不同层次。
2. MLA:保留完整 Attention,压缩每个 token#
2.1 联合压缩 Key 和 Value#
Multi-head Latent Attention(MLA)不直接缓存完整的 和 ,而是先将它们联合压缩成一个 latent:
需要使用时,再通过不同的升维矩阵恢复 key 和 value 表示:
于是缓存对象从 变成了 。DeepSeek-V2 还将位置相关的 RoPE 部分单独拆出,实际缓存:
这样既能压缩 KV,又能保留 RoPE 的位置表达。DeepSeek-V2 报告称,其 MLA 配置的 KV Cache 大致相当于仅有 2.25 个 KV Group 的 GQA;与 DeepSeek 67B 使用的 MHA 相比,KV Cache 减少了 93.3%。[1]
2.2 MLA 没有改变 Attention 的本质#
MLA 仍然保留如下关系:
每个历史 token 依然拥有可以独立访问的表示。因此 MLA 的本质是:
显式、逐 token、可寻址的压缩记忆。
它把每个 token 的记忆从较大的 向量压缩成较小的 latent,却没有取消逐 token 记忆:
- KV Cache 仍然是 ;
- dense decode 仍然需要扫描历史 token;
- dense prefill 仍然是 ;
- 但每个 token 需要存储和读取的数据显著减少。
这使 MLA 尤其适合当前 GPU、MLU 上常见的 memory-bound decode。
3. Linear Attention:把历史折叠成固定状态#
早期 Linear Attention 通常利用矩阵乘法结合律,把 Attention 近似或改写为:
在 causal decode 中,可以维护递归状态:
并通过当前 query 读取:
这样便不需要保留所有 ,只需保存固定大小的状态矩阵 。对于 Linear Attention 层:
- 状态大小与上下文长度 无关;
- decode 单步相对于 是 ;
- 整段 prefill 可以做到 ;
- 不再需要传统意义上的逐 token KV Cache。
经典 Linear Transformer 已经说明,这类结构可以同时被理解为 Transformer 和 RNN:训练时采用并行或 chunkwise 计算,decode 时采用递归状态更新。[2]
3.1 现代 Linear Attention 更像门控 RNN#
Qwen、Kimi、MiniMax 等模型采用的现代 Linear Attention,已经不只是早期的 kernel approximation。它更接近一种可并行训练的门控 RNN 或 State Space Memory。
以 Gated DeltaNet 为例,状态更新可以抽象为:
其中:
- Gate 决定哪些旧信息需要遗忘;
- Delta Rule 根据当前 key 修正已经写入的内容;
- Query 从更新后的状态中读取信息。
普通累加式 Linear Attention 会让相似 key 对应的信息不断叠加,产生 memory collision。Delta Rule 的直觉则是:先检查当前状态已经为这个 key 记住了什么,再写入预测误差。Gating 进一步允许模型快速清除无用信息。Gated DeltaNet 也提供了面向训练的并行算法,因此 decode 时的递归形式并不意味着训练必须严格逐 token 串行。[3]
Kimi Delta Attention(KDA)继续扩展了这条路线:它引入更细粒度的 gating 和更有表达力的状态转移,并使用适合硬件实现的 Diagonal Plus Low-Rank(DPLR)结构。Kimi Linear 采用 3:1 的 KDA 与 MLA 混合结构,而不是纯 Linear Attention。其报告称,在 1M 上下文实验中,相较全 MLA,KV Cache 最多减少 75%,decode 吞吐最高提高约 6 倍。[4]
4. 两种不同的记忆系统#
MLA 与 Linear Attention 最本质的区别,不是公式里有没有 softmax,而是历史以什么形式存在。
4.1 MLA 像压缩数据库#
MLA 保存:
每个 token 仍然有独立记录。查询时,模型可以根据当前 query,对全部历史 token 做内容寻址。它更像一个压缩后的数据库或向量库,可以直接寻找“第 89372 个 token 中与当前 query 最相关的信息”。
4.2 Linear Attention 像固定容量工作记忆#
Linear Attention 保存:
此前所有 token 都被折叠进一个有限大小的状态。模型无法天然回到某个独立历史 token,只能询问当前状态综合保留了什么。它更像工作记忆或 RNN hidden state。
两者的核心权衡可以归纳如下:
| 维度 | MLA | Linear Attention |
|---|---|---|
| 历史表示 | 每个 token 一个压缩 latent | 整段历史一个固定状态 |
| 历史可寻址性 | 强 | 较弱 |
| KV 或状态随长度增长 | Linear 层约 | |
| Decode 单步随长度增长 | 约 | |
| Dense Prefill | 理论上 | |
| 精确检索 | 较强 | 容易受状态容量限制 |
| 多跳推理 | 通常更稳 | 对状态更新机制敏感 |
| 数值稳定性 | 接近成熟 Softmax 栈 | 递归状态更敏感 |
| Prefix Cache | 自然 | 可缓存状态,但分支复用更复杂 |
| Speculative Decoding | 接近传统 KV 模型 | 状态回滚和分叉更难 |
| Paged Attention | 容易兼容 | Linear 层不再需要分页 KV |
| 基础设施成熟度 | 较高 | 仍在快速建设 |
5. 它们的共同目标与共同约束#
5.1 都在降低 decode memory bandwidth#
MLA 减少每个历史 token 的读取量;Linear Attention 则试图取消对全部历史 token 的读取。可以把它们看成不同激进程度的压缩:
越向右,历史状态通常越小、压缩越激进,但模型能力与基础设施面临的挑战也越大。这不是一条严格的优劣排序,而是一条记忆表示逐渐从“显式”走向“状态化”的轴线。
5.2 都需要模型原生训练#
MLA 不是简单地对已有 MHA 权重做一次无损压缩;现代 KDA、Gated DeltaNet 也不能在推理阶段直接替换 Softmax Attention。它们都需要在预训练中让模型学会:
- 如何压缩信息;
- 什么信息应该保留;
- 什么信息可以遗忘;
- 如何从受限记忆中读取。
5.3 都依赖软硬件协同#
理论 FLOPs 低,不等于真实吞吐一定高。工程上仍需共同考虑:
- kernel 的 arithmetic intensity;
- 状态在 SRAM、L2、HBM 中的布局;
- chunk size 与 batch scheduler;
- TP 分片和跨卡通信;
- 状态精度与数值稳定性;
- CUDA Graph、prefix caching 和 speculative decoding。
MiniMax 在解释 M2 为什么回到 Full Attention 时,特别提到了低精度状态、Prefix Cache、Speculative Decoding、实际 kernel 利用率和基础设施成熟度等问题,也指出小规模 benchmark 可能无法暴露复杂多跳推理的损失。[5]
6. MLA 的优势与边界#
6.1 优势:模型能力相对稳健#
MLA 保留了 Softmax Attention 的全局内容寻址能力。对于 Needle-in-a-Haystack、精确复制、代码变量追踪、跨文档引用、多跳推理、超长 CoT 和 Agent 历史轨迹回溯,它通常比纯固定状态结构更容易做好。
关键不在于 MLA 完全无损,而在于它仍保留了“历史 token 作为独立对象存在”的结构。
6.2 优势:容易兼容现有推理系统#
MLA 仍然拥有 KV Cache,只是缓存元素的结构发生了变化,因此可以继续适配:
- Paged KV Cache;
- Prefix Caching 与 Radix Cache;
- KV Offload、量化与迁移;
- Prefill-Decode 分离。
对于 vLLM、SGLang 一类 serving 系统,它需要显著调整 kernel 和 layout,却不必彻底抛弃现有的缓存管理抽象。
6.3 边界:线性缓存和二次 Prefill 仍然存在#
即使每 token KV 压缩十倍,缓存仍满足:
到了 1M、10M token,问题只是被推迟,并未消失。若没有稀疏 Attention,dense prefill 依然满足:
FlashAttention、Sequence Parallel 和 Context Parallel 可以改善 IO 与并行扩展,但不会改变 dense attention 的渐进复杂度。
7. Linear Attention 的优势与边界#
7.1 优势:超长 Decode 的理论上限高#
Linear 层生成每个 token 时只更新固定状态:
它不会随上下文增长而读取越来越大的 KV Cache,因此特别适合百万 token 上下文、长时间运行的 Agent、超长 thinking、流式多模态输入和大量 decode token 的 RL rollout。
7.2 优势:状态迁移与长期生成成本小#
在 Prefill-Decode 分离架构中,MLA 需要把长度为 的 latent KV 从 Prefill 节点传给 Decode 节点;纯 Linear 层只需要传递一个固定状态:
同样,MLA 每生成一个 token,缓存仍会增长;Linear 层的状态大小保持不变。当然,在混合模型里,全局 Attention 层依然需要传输和追加 KV。
7.3 边界:有限状态瓶颈#
无论更新规则多复杂,Linear Attention 都在把不定长历史压入固定容量:
当上下文的信息密度不断上升,可能出现信息覆盖、key collision、错误遗忘、相似实体混淆、精确复制下降或多跳链路断裂。Delta Rule、gating 和结构化状态是在缓解这个问题,而不是从数学上彻底消除它。
7.4 边界:无法在查询后重新查看原文#
Softmax Attention 可以针对每个 query 动态生成长度为 的权重分布。固定状态模型无法等到查询出现后,再回头检查所有原始 token。如果某条信息在写入状态时没有被正确编码,查询时就无法完整恢复。
7.5 边界:数值路径更敏感#
递归状态可能经历数十万甚至数百万次更新:
工程上需要处理累计误差、状态尺度漂移、FP8 或 INT8 精度、不同 chunk 算法的一致性,以及训练和逐 token decode 数值路径不完全相同等问题。这也是 Linear Attention 的理论速度经常比工业系统中的实测速率更漂亮的原因之一。
8. 几个模型阵营应该如何归类#
8.1 DeepSeek:从 MLA 走向 MLA + Sparse#
DeepSeek-V2 和 V3 的主线是 MLA。后续 DeepSeek-V3.2 在 MLA 基础上加入 DeepSeek Sparse Attention,通过 learned indexer 选择少量历史 token,再执行主 Attention。[6][14]
这说明 DeepSeek 的路线正在从纯 dense MLA 走向:
8.2 Qwen:常规 Transformer 与 Hybrid 分支并存#
不能把整个 Qwen 家族归为 Linear Attention。Qwen、Qwen2 和常规 Qwen3 主要仍是 MHA 或 GQA Transformer;Qwen3-Next、Qwen3.5 等新分支才明确采用类似如下的混合结构:
也就是约 75% Linear 层和 25% Full Attention 层,且 Full Attention 本身也采用较少 KV Head 的设计。[7][13]
8.3 Kimi:MLA 主线与 KDA 探索并行#
Kimi 同样不能被统一归为 Linear 阵营。Kimi K2.5 等主线模型仍采用 MLA,Kimi Linear 则使用 3:1 KDA + MLA 的混合结构。[4][8]
更准确的描述是,Moonshot 同时在推进 MLA 与 KDA,而不是简单地用 Linear Attention 替换 MLA。
8.4 MiniMax:一次有价值的路线往返#
MiniMax-Text-01 和 MiniMax-M1 使用 Lightning Attention 与 Softmax Attention 的混合结构,其中 Text-01 每七层 Lightning Attention 插入一层 Softmax Attention。[9]
MiniMax M2 后来回到 Full Attention。官方复盘涉及复杂多跳推理、RL 训练数值稳定性、Prefix Cache、Speculative Decoding、kernel 实际利用率和 benchmark 覆盖不足等原因。[5] 随后 MiniMax 又继续探索基于 GQA 的 Sparse Attention。[10]
这段演进恰好说明:Linear Attention 还没有形成全面取代 Full Attention 的确定性路线。
9. 不能忽略的其他路线#
9.1 MQA 与 GQA#
这是目前最成熟、最普遍的 KV Cache 优化。GQA 让多个 Query Head 共享 KV Head:
相较 MHA,其 KV Cache 大致按 缩小。它没有 MLA 激进,但实现简单、kernel 成熟、模型质量稳定,是 MHA 与单 KV Head 的 MQA 之间很实用的折中。[11]
9.2 Sliding Window 与 Local Attention#
每个 token 只关注最近 个 token:
这样 KV Cache 和 decode 计算都可以限制在 ,代价是远距离信息可能丢失。因此常见设计是若干 Local 层搭配少量 Global 层,其思路与 Linear + Full Attention 的混合结构相似。
9.3 Sparse Attention#
Sparse Attention 不一定减少 KV Cache 的存储,而是减少真正参与 Attention 的 token:
典型方案包括 block sparse、top-k token、compression token、learned indexer,以及 local + selected global tokens。DeepSeek 的 Native Sparse Attention(NSA)结合了粗粒度压缩、细粒度 token 选择和局部窗口,并从训练阶段原生采用稀疏模式。[12]
需要注意,Sparse Attention 可能把主 Attention 从 降到 ;但如果索引器仍需扫描全部历史,索引过程本身可能成为新的瓶颈。
9.4 SSM、Mamba、RWKV 与 RetNet#
这些结构不一定被称为 Attention,但都在解决同一个序列记忆问题:
它们与现代 Linear Attention 的边界正在变得模糊。Gated DeltaNet 本身就处在 Linear Attention、RNN 与 State Space Model 的交汇处。
9.5 KV Cache 后处理#
另一类技术不改变 Attention 架构,却直接影响部署成本:
- KV INT8、FP8、INT4 量化;
- token eviction 与 heavy-hitter 保留;
- KV pooling 和 CPU/SSD offload;
- prefix caching 与跨请求 KV 复用;
- layer-wise mixed precision。
这些方法可以与 GQA、MLA 和 Sparse Attention 组合使用。
10. 下一阶段可能出现什么#
10.1 Hybrid 会比纯 Linear 更快成为主流#
当前最明显的共同模式是:
Linear 层负责低成本的信息流动和长期状态;Full 或 MLA 层负责精确检索、归纳、复制和跨段关联。Qwen3-Next 与 Kimi Linear 都选择接近 3:1 的混合比例,并非偶然。[4][13]
未来模型可以被理解为分层记忆系统:
| 记忆层级 | 可能结构 |
|---|---|
| 最近局部细节 | Conv、Sliding Window |
| 长期压缩状态 | KDA、Gated DeltaNet、SSM |
| 精确全局记忆 | MLA、GQA Full Attention |
| 超长历史搜索 | Sparse Indexer、Retrieval |
10.2 MLA 会与 Sparse Attention 深度结合#
这是一条非常现实的路线:
- MLA 降低每个历史 token 的缓存大小;
- Sparse Attention 降低每次读取的 token 数;
- KV 量化进一步降低存储和带宽;
- Prefix Cache 避免重复 prefill。
可以把总成本粗略理解为:
MLA 优化第二项,Sparse Attention 优化第三项。DeepSeek-V3.2 的 DSA 正体现了这类组合。[14]
10.3 Attention 可能变成动态路由系统#
更进一步,未来的模型未必规定“这一层永远是 Linear”或“这一层永远是 Full Attention”,而可能根据 token 与任务动态选择:
简单 token 只走 Linear,检测到 retrieval query 时进入 Sparse Global,重要 reasoning token 使用 Full Attention,视觉和代码 token 则选择不同的 memory path。它类似 MoE,只是路由对象从 FFN Expert 变成 Attention Expert。
10.4 Linear State 会变大,也会更结构化#
固定的小状态容量有限,下一步可能包括多组 memory state、head-specific state、low-rank + diagonal state、fast state + slow state、外部可写 memory、跨层共享 memory 与 hierarchical recurrent state。KDA 的 DPLR 转移已经在朝更有表达力的结构化状态演进。[15]
10.5 架构优劣将越来越依赖 Serving 系统#
未来不能只比较 和 ,还需要同时追问:
- 是否支持 continuous batching;
- state 能否高效复制、分叉与回滚;
- speculative decoding 如何提交状态;
- prefix sharing 如何组织;
- PD 分离时需要传输多少状态;
- TP/CP 如何分片和通信;
- FP8 状态是否稳定;
- kernel 能否充分利用 Tensor Core;
- 短请求与长请求能否高效混部。
Attention 路线的竞争,最终会成为模型架构、kernel、scheduler、cache manager 与集群拓扑的联合竞争。
11. AI Infra 应该关注什么#
11.1 对 MLA 模型#
重点是:
- latent KV 的 layout 与分页;
- decoupled RoPE cache;
- absorb 与 non-absorb 模式;
- MLA kernel 和 TP 分片;
- PD 分离时 latent KV 的传输;
- Sparse MLA 的索引器成本。
MLA 的核心优化目标仍然是:
11.2 对 Linear 模型#
重点则变成:
- recurrent state 的大小与 dtype;
- chunkwise prefill 与 scan kernel;
- state 在 TP Rank 间是否需要通信;
- batch 内不同序列状态的布局;
- prefix state snapshot;
- speculative branch 的状态回滚;
- CUDA Graph 下状态地址是否固定;
- hybrid Full Attention 层的 KV 管理。
Linear Attention 的核心优化目标是:
它不再以传统 Paged KV Cache 管理为中心,但混合模型也不会让 KV 管理彻底消失。
12. 最终判断#
可以把目前的 Attention 技术路线总结成三个层次:
- GQA/MLA 压缩每个 token;
- Sparse Attention 减少实际访问的 token;
- Linear/KDA/Gated DeltaNet 把历史 token 转化为固定状态。
MLA 的核心优势,是保留精确、显式、可寻址的历史记忆,模型与工程风险相对较低。Linear Attention 的核心优势,是让线性层的状态不再随上下文增长,理论上更适合百万级上下文和超长输出。
近期最可能胜出的并不是二选一,而是:
这是一种由短期局部细节、长期压缩状态和精确全局检索共同构成的多层记忆架构。它也意味着,未来评价一种 Attention 设计时,不能只看论文中的复杂度,还要看它保存了什么、忘记了什么,以及整套 serving 系统能否真正把理论优势兑现出来。
参考资料#
- DeepSeek-AI, DeepSeek-V2: A Strong, Economical, and Efficient Mixture-of-Experts Language Model.
- Katharopoulos et al., Transformers are RNNs: Fast Autoregressive Transformers with Linear Attention.
- Yang et al., Gated Delta Networks: Improving Mamba2 with Delta Rule.
- Moonshot AI, Kimi Linear.
- MiniMax, Why Did MiniMax M2 End Up as a Full Attention Model?.
- DeepSeek-AI, DeepSeek-V3 Technical Report.
- Qwen Team, Qwen3.5: Towards Native Multimodal Agents.
- Moonshot AI, Kimi K2.5.
- MiniMax, MiniMax-01: Scaling Foundation Models with Lightning Attention.
- MiniMax, MiniMax Sparse Attention.
- Ainslie et al., GQA: Training Generalized Multi-Query Transformer Models from Multi-Head Checkpoints.
- DeepSeek-AI, Native Sparse Attention: Hardware-Aligned and Natively Trainable Sparse Attention.
- Qwen Team, Qwen3-Next-80B-A3B-Instruct.
- DeepSeek-AI, DeepSeek-V3.2: Pushing the Frontier of Open Large Language Models.
- Moonshot AI, Kimi Linear: An Expressive, Efficient Attention Architecture.