🧠 图解记忆:共享越多缓存越小,GQA 在质量与带宽间折中;点击图片可查看原图。
💡 答案要点
- MHA 为每个 Query head 配置独立的 Key/Value head,表达能力强,但 KV Cache 较大;
- MQA 让所有 Query head 共享一组 Key/Value,显著减少 KV Cache 和内存带宽,可能损失质量;
- GQA 将 Query head 分组,每组共享 Key/Value,是两者之间的折中。
KV Cache 大小与 层数 × 序列长度 × KV head 数 × head_dim × K/V × dtype 近似成正比。选型不能只说 GQA 更快,还要比较模型质量、批量大小、长上下文和硬件带宽。
📚 参考:GQA: Training Generalized Multi-Query Transformer Models(原论文)
