跳到主要内容

KV 压缩与「稀疏」的边界(MQA / GQA / MLA)

公式、示意图与实现细节注意力变体:MQA、GQA、MLA 为准。本章说明它们为何 不是 token 级稀疏,以及如何与 DSA叠加

核心结论(先读)

手段是否减少 attended token 数是否减小 KV Cache注意力 FLOPs 渐近阶
MQA / GQA / MLAO(L2)O(L^2)(常数改善)
SWA / DSA / NSA常同时降低<O(L2)< O(L^2)
命名建议

称 MQA/GQA/MLA 为 「KV 压缩注意力」「高效注意力」 比统称为 「稀疏注意力」 更准确,避免与掩码稀疏混淆。

MQA → GQA → MLA 递进

MQA(Multi-Query Attention)

  • 所有 query 头共享同一组 K,VK,V
  • KV Cache 相对 MHA 约减至 1/H1/HHH 为头数);
  • 表达力可能下降,适合推理吞吐优先场景。

GQA(Grouped-Query Attention)

  • HH 个 Q 头分为 GG 组,每组共享一组 K,VK,V
  • KV 体积质量 之间插值;Llama 2/3、Qwen 等广泛采用。
  • 图示与计算逻辑见 注意力变体

MLA(Multi-head Latent Attention)

  • K,VK,V 投影到低维 latent 再缓存,解码时恢复;
  • DeepSeek V2/V3/R1 核心组件;KV 可比 MHA 再降 数倍(配置相关);
  • 配合 解耦 RoPE;详见 注意力变体DeepSeek 稀疏路线

为何不算 token 稀疏

对长度 LL 序列,GQA/MLA 在计算 softmax(QK)V\text{softmax}(QK^\top)V 时,仍对(几乎)每个历史位置计算注意力分数(可能在压缩后的 KK 表示上),连接图仍是 稠密 的。

节省发生在

  • 存储:每个位置 cache 的 bytes ↓;
  • 带宽:推理每步读取的 KV ↓;
  • 部分实现中 FLOPs 常数项 ↓(头维/投影变化)。

不发生在

  • L2L^2 渐近阶改为 LkL\cdot k(需 DSANSA 等)。

工业组合建议

目标常见栈
8K–32K ChatGQA + Flash Attention
128K 推理省显存MLA 或 GQA + Flash
128K+ Agent 省 FLOPsMLA + DSA(V3.2)
1M AgentCSA/HCA(V4)+ 推理框架跟进
训练单卡装不下Ring + 上表推理优化

与总览表的关系

稀疏注意力总览MQA/GQA/MLA 一行指向本章;DSA/NSA/SWA 一行指向 token 稀疏专章。阅读技术报告时建议 先分清类型再对号入座

参考链接