从 KV 缓存本质讲透 MHA/MQA/GQA/MLA 四种注意力变体的区别
techNmak · x · 2026-09-13
一篇从第一性原理梳理注意力架构的长文,核心观点:MHA、MQA、GQA、MLA 的真正区别不在「头的数量」,而在解码时 key/value 状态如何存储。
- MHA:每个 query 头独享 K/V 头;MQA:所有 query 头共享一个 K/V 头;GQA:介于两者,多个 query 头分组共享 K/V 头——query 头数不变,但解码时需缓存的 K/V 状态大幅减少。
- MLA(DeepSeek-V2)路线不同:不是问缓存几个 K/V 头,而是把 K/V 压缩进低维隐表示,另存一个小的解耦 RoPE 位置分量——改变的是被缓存的表示本身,不是「头更少的 GQA」。
- 这些选择直接影响 KV-cache 容量、投影宽度、解码带宽,以及表达自由度与推理效率的权衡。
- 作者还指出「GQA 让注意力便宜 4 倍」这类说法太模糊:32 个 query 头 / 8 个 KV 头时缓存缩 4 倍,但 32 个 query 头的注意力输出计算一个不少。
配套的技术手册覆盖:单头注意力、KV-cache 公式、decode 带宽、GQA uptraining、MLA 潜空间压缩与投影吸收、解耦 RoPE、缓存对比算例、FlashAttention 与 PagedAttention、实现细节与常见误区,均以原始论文和框架文档为依据。
「Infra」频道最新
- krishnan:2030 年医疗进步将来自可查询数据库,别 banning 数据中心 — krishnan · 2026-09-13
- A20 将内存移出热路径,苹果高管谈「thermal shadow」设计 — BenBajarin · 2026-09-13
- 社区将实验性 DeepSeek V4.1 steering 移植进 antirez 的 ds4 CLI — antirez · 2026-09-13
- Threadripper 3975WX 跑 Qwen 27B Q5 仅 10 tok/s,求助调优 — ifjo · 2026-09-13
- 前 OpenAI 员工:「哪家实验室赢下 AGI」是个过时概念 — GregCook2011 · 2026-09-13
- 实测 Docker 跑 ComfyUI 零性能损失,但默认 /dev/shm 会触发 OOM — fluxdraw · 2026-09-13