Transformer 与模型架构
面试问题 高级 重要度 5/5 知识骨架 提取阶段

MHA、MQA 与 GQA 如何影响质量和 KV Cache?

围绕MHA、MQA 与 GQA 如何影响质量和 KV Cache,覆盖口述答案、公式推导、工程权衡、故障定位和连续追问。

发布于 2026-08-31 · 更新于 2026-08-31

当前显示参考答案
本文目录

    Transformer attention head module。用于辅助理解本题的数据流或工程结构。

    图:用于辅助理解本题的数据流或工程结构。来源:Transformer attention head module,作者 Cosmia Nebula,许可 CC BY-SA 4.0。

    考察意图

    面试官希望确认候选人能否解释“MHA、MQA 与 GQA 如何影响质量和 KV Cache”中的因果关系,并把公式或流程落实到可测量的工程结果。

    60–90 秒口述答案

    MHA 为每个 query 头提供独立 K/V 头;MQA 让所有 query 头共享一组 K/V;GQA 把 query 头分组,每组共享 K/V。Decode 阶段常受读取 KV Cache 的带宽限制,因此减少 KV 头数能近似按比例降低缓存和读带宽。MQA 最省但可能损失表达,GQA 通常取得质量与服务效率的折中。

    深入解释

    缓存字节近似 2×L×T×B×H_kv×D_head×bytes。若 32 个 Q 头改为 8 个 KV 头,其他条件不变,KV 部分约为 MHA 的 1/4。

    白板回答时先声明输入规模、张量或请求状态,再推到输出与瓶颈;不要只罗列术语。

    工程权衡

    比较不能只看理论字节:kernel、并行切分、batch、上下文分布和模型是否原生训练为 GQA 都会影响收益。把 MHA checkpoint 改为 GQA 需要 uptraining,不能简单平均后假设质量不变。

    关键指标包括:参数量、激活显存、KV Cache 字节数、训练 FLOPs、HBM 读写量与端到端延迟。

    完整复习答案

    从张量关系开始

    围绕“MHA、MQA 与 GQA 如何影响质量和 KV Cache”,这类题要把模型定义和实现优化分开。先沿张量形状说明运算,再判断改动是否改变模型函数;复杂度、显存和墙钟时间分别回答三个不同问题。

    把公式落到数量级

    32 个 Q 头、8 个 KV 头的 GQA 中,每 4 个 Q 头共享一组 K/V。相对 32 KV 头的 MHA,缓存主体约降到 1/4;但输出仍有 32 个 query 头,不能说注意力头整体只剩 8 个。

    这个估算给出量级。代入项目参数时需要写明忽略项,并保持单位一致。

    实现与验证

    围绕“MHA、MQA 与 GQA 如何影响质量和 KV Cache”,以标准注意力为基准核对前向输出和梯度,再按序列长度分别测 Prefill、Decode、峰值显存与 P95。优化结论只适用于被测模型、精度和硬件。

    追问参考

    若序列长度翻倍,时间、激活和 KV Cache 各如何变化?

    对“MHA、MQA 与 GQA 如何影响质量和 KV Cache”而言,序列长度翻倍时,标准注意力分数计算和矩阵中间量约增至四倍,KV Cache 随长度约增至两倍;FlashAttention 可降低中间存储,但不消除二次算术量。

    该优化改变模型函数、数值实现,还是仅改变内存调度?

    回到“MHA、MQA 与 GQA 如何影响质量和 KV Cache”,需要区分:判断优化层次:输出分布相同而访存改变属于实现优化;头共享、稀疏连接或位置缩放会改变模型结构或行为,需要质量回归。

    怎样判断方案已经达到上线条件?

    “MHA、MQA 与 GQA 如何影响质量和 KV Cache”进入发布方案前,验证至少包含数值对拍、短长序列分桶、Prefill/Decode 分测、峰值显存与目标硬件上的 P95。

    常见错误回答

    • 只复述“MHA、MQA 与 GQA 如何影响质量和 KV Cache”涉及的术语,没有说明输入、运算和输出之间的关系。
    • 讨论 Attention 时省略模型规模、数据分布或硬件条件,使结论失去适用范围。
    • 只讲收益,没有检查 MHA、GQA、KV Cache 带来的精度、资源或可靠性代价。

    连续追问

    • 若改变 MHA 的关键配置,哪些中间量会先发生变化?
    • 如何设计对照,检验观察到的差异是否来自 Attention?
    • 哪类输入或负载最容易使这一方案失效?

    项目结合

    准备一个与 Attention 直接相关的测量或排障案例。讲清基线、异常指标、被排除的假设和最终判定;没有亲历时,说明会采集哪些数据,不虚构结果。

    复习自测

    1. 能否脱离笔记解释 MHA、MQA 与 GQA 如何影响质量和 KV Cache 的关键运算?
    2. 能否把文中的数量级例子换成自己的模型或业务参数?
    3. 能否指出一种不适用场景,并给出可观测的判定条件?

    来源与关联知识

    输入关键词,查找全部技术文章。

      搜索范围:正文、标题、分类和标签