知识中等
MHA 和 GQA 的区别是什么?各自的优缺点?
MHA 每个 query 头有独立 K/V 头,质量最好但 KV Cache 最大;GQA 让一组 query 头共享一个 K/V 头,在质量与显存/带宽之间折中。
标准答案
Multi-Head Attention 中每个注意力头都有独立的 Q、K、V 投影;Grouped-Query Attention 中多个 query 头共享同一组 K/V 头(每组 G 个 query 头对应 1 个 KV 头),Multi-Query Attention 是所有 query 共享 1 个 KV 头的极端情形。GQA 把 KV Cache 体积和解码带宽需求缩小约 G 倍,精度损失很小,因此 Llama 2/3、Qwen 等主流大模型都采用。
深入理解
回答框架是「质量 vs KV Cache 容量/带宽」:MHA 质量上限最高、缓存最贵;MQA 缓存最省、质量下降最明显;GQA 是工业界默认折中,且可以从 MHA 权重上变换(mean-pool KV 头)升级得到。具身场景的落点:机载 GPU 上跑 VLA 推理时,KV Cache 常是延迟瓶颈,GQA/量化是第一梯队手段。