LLM面试题:MHA,MQA,GQA的区别

Q:你知道MHA,MQA,GQA的区别吗?详细解释一下。

难度:⭐⭐⭐

岗位:通用(开发岗也需了解)

公司:字节、阿里(真题)

标准答案:

这三者都是 Attention 机制的变体,核心区别在于 K/V 的头数设计

1. MHA (Multi-Head Attention) - 标准多头注意力

  • 每个头都有独立的 Q/K/V
  • 参数量:heads × d_k × d_model × 3 (Q/K/V各一份)
  • 显存占用:最大(推理时需要缓存所有 K/V)

2. MQA (Multi-Query Attention) - 多查询注意力

  • 所有头共享同一组 K/V,每个头只有独立的 Q
  • 参数量:heads × d_k × d_model (Q) + d_k × d_model × 2 (共享K/V)
  • 显存占用:最小(KV Cache 只需存储一份)
  • 优点:推理速度快(KV Cache 小),适合推理部署
  • 缺点:精度可能略有下降

3. GQA (Grouped-Query Attention) - 分组查询注意力

  • 折中方案:将heads分成G组,每组共享K/V
  • 例如:8个head,分成2组,每组4个head共享一套K/V
  • 参数量:介于 MHA 和 MQA 之间
  • 精度 vs 速度的平衡点

对比表格:

类型 K/V头数 Q头数 KV Cache 精度 速度 代表模型
MHA H H 最大 最高 BERT、GPT-3
MQA 1 H 最小 略降 最快 PaLM、Falcon
GQA G (1<G<H) H 中等 平衡 平衡 LLaMA-2、Mistral

算法岗深入理解:

  • MQA 为什么能work?理论上信息瓶颈在K/V,但实验表明共享K/V影响不大
  • GQA 如何选择分组数 G?通常设为 H/4 或 H/8,兼顾精度和效率

开发岗实际应用:

  • 推理场景优先选 MQA/GQA(减少显存,加速推理)
  • 训练场景可以用 MHA(精度优先)
  • LLaMA-2 70B使用 GQA,8个head分成2组

面试技巧:

  • 画图说明三者区别(K/V头数)
  • 提及 KV Cache 对推理的影响
  • 举例说明哪些模型用了哪种方案
#AI求职记录#
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务