15
请解释MHA (Multi-Head Attention)、MQA、GQA的区别,以及GQA为什么能平衡效果和效率。
大模型基础理论中等
📋 面试问题
请解释MHA (Multi-Head Attention)、MQA、GQA的区别,以及GQA为什么能平衡效果和效率。
✅ 期望回答
三种注意力机制的区别:
方法 K/V Head数 KV Cache大小 相对MHA
MHA 64 最大 1x
GQA(=8) 8 减少~8x ~0.125x
MQA 1 减少~64x ~0.016x
GQA为何是最好的折中:
- MHA (Multi-Head Attention):每个Head有独立的Q、K、V投影 —— 最灵活但KV Cache最大
- MQA (Multi-Query Attention):所有Head共享同一组K、V,仅Q独立 —— KV Cache缩小为1/H,但效果略降
- GQA (Grouped-Query Attention):将Head分组,同组内共享K、V(如LLaMA-2 70B用8组)—— 在MHA和MQA之间折中
- 效果接近MHA(组内共享K/V基本不影响注意力模式的质量)
- KV Cache大幅减少(8组时减少8倍),显著降低长文本生成时的显存压力
- 已经成为LLaMA-2、LLaMA-3、Mistral等主流模型的标准配置
#GQA#MHA#KV Cache