刚把 MHA / MQA / GQA 这块重新手撕了一遍,发现面试最容易讲乱的点其实就两个:1)三者后半段计算几乎一样(score→softmax→加权和),真正不同只在 QKV 的生成维度和 K/V 的共享方式。2)推理成本核心看 KV cache:MHA 最大,MQA 最小,GQA 是折中。我自己用一句话区分:- MHA:每个头都有自己的 K/V,表达强但贵;- MQA:所有头共享一组 K/V,最快最省;- GQA:按组共享 K/V,性能和成本更平衡。如果被追问工程落地,我会补一句:“线上一般优先 GQA,不会一刀切 MQA;要结合延迟目标和精度回归来定组数。”