15

请解释MHA (Multi-Head Attention)、MQA、GQA的区别,以及GQA为什么能平衡效果和效率。

大模型基础理论中等

📋 面试问题

请解释MHA (Multi-Head Attention)、MQA、GQA的区别,以及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之间折中

对KV Cache的影响(以LLaMA-2 70B为例,80层、8192维、64个Head为例): 方法K/V Head数KV Cache大小相对MHA MHA64最大1x GQA(=8)8减少~8x~0.125x MQA1减少~64x~0.016x GQA为何是最好的折中:
  • 效果接近MHA(组内共享K/V基本不影响注意力模式的质量)
  • KV Cache大幅减少(8组时减少8倍),显著降低长文本生成时的显存压力
  • 已经成为LLaMA-2、LLaMA-3、Mistral等主流模型的标准配置
#GQA#MHA#KV Cache