AI Infra Academy
返回题库
中等AttentionAttentionGQAMQA字节跳动面试高频

MHA、MQA、GQA 有什么区别?为什么现在主流用 GQA?

11 0 0

参考答案

三者是注意力头在 K、V 上的共享程度不同: - **MHA(Multi-Head Attention)**:每个 Query head 都有独立的 K、V head。效果最好,但 KV Cache 显存最大,解码受内存带宽限制。 - **MQA(Multi-Query Attention)**:所有 Query head 共享同一组 K、V。KV Cache 降为 1/h(h 为头数),推理最快,但信息压缩过度,长文本/复杂任务效果有明显折损。 - **GQA(Grouped-Query Attention)**:把 Query head 分成 g 组,每组共享一组 K、V。KV Cache 降为 g/h。 **为什么主流用 GQA**:它在 MHA 的效果和 MQA 的速度/显存之间取得平衡。例如 64 个 Query head 分 8 组,KV Cache 只有 MHA 的 1/8,效果接近 MHA。Llama-2/3、Qwen2、Mistral 等主流模型都用 GQA。 **面试延伸**:GQA 减少 KV head 数 → 直接减小 KV Cache → 提升解码时的算术强度(arithmetic intensity),缓解 memory-bound 问题,从而提高吞吐。

讨论区(0)

还没有评论,来做第一个发言的人吧