KV 压缩与「稀疏」的边界(MQA / GQA / MLA)
公式、示意图与实现细节 以 注意力变体:MQA、GQA、MLA 为准。本章说明它们为何 不是 token 级稀疏,以及如何与 DSA 等 叠加。
核心结论(先读)
| 手段 | 是否减少 attended token 数 | 是否减小 KV Cache | 注意力 FLOPs 渐近阶 |
|---|---|---|---|
| MQA / GQA / MLA | 否 | 是 | 仍 (常数改善) |
| SWA / DSA / NSA | 是 | 常同时降低 |
命名建议
称 MQA/GQA/MLA 为 「KV 压缩注意力」 或 「高效注意力」 比统称为 「稀疏注意力」 更准确,避免与掩码稀疏混淆。
MQA → GQA → MLA 递进
MQA(Multi-Query Attention)
- 所有 query 头共享同一组 ;
- KV Cache 相对 MHA 约减至 ( 为头数);
- 表达力可能下降,适合推理吞吐优先场景。
GQA(Grouped-Query Attention)
- 将 个 Q 头分为 组,每组共享一组 ;
- 在 KV 体积 与 质量 之间插值;Llama 2/3、Qwen 等广泛采用。
- 图示与计算逻辑见 注意力变体。