Skip to content

04 注意力表示与 KV Cache 演进(Attention Representation Evolution) ​

学习问题 ​

长上下文模型首先会遇到一个具体问题:每生成一个词元,模型要为历史保留什么状态。MHA、MQA、GQA 和 MLA 都属于注意力路径,但它们以不同粒度保存 K/V,因此会改变每个词元的状态大小、读取带宽与实现复杂度。

这里先区分三个对象:MHA/MQA/GQA/MLA 改变 KV 表示,RoPE 与稀疏模式改变位置和可见范围,递推状态则替代完整词元级历史。混淆这三类变化会使容量估算和质量归因失效。

核心机制 ​

设计压力:完整 KV 表示为何会成为问题 ​

标准自回归注意力为每一层、每个历史词元保存 K/V。长度、层数、KV 注意力头数、单头维度、批次与数据类型共同决定这份状态的体积。上下文变长或并发请求增多时,常驻状态与读取带宽可能先于计算量限制批次规模。

要固定的比较条件观察的对象不能忽略的原因
层数、隐藏维度、单头维度单层 KV 的表示尺寸否则不同模型规模会掩盖结构差异
序列长度、批次、生成长度历史状态的增长KV Cache 是随请求生命周期增长的状态
数据类型、执行后端、硬件实际显存与延迟理论字节数不等于真实执行代价
任务质量约束共享或压缩后的输出质量状态更小不自动表示可用

注意力表示与 KV Cache:从 MHA 到共享 KV,再到潜在 KV

结构机制:从复制 KV 到共享或压缩表示 ​

下表只比较 K/V 的保存方式。这些方案都可以在相同因果掩码下访问历史;“能访问哪些词元”属于局部、窗口和稀疏注意力问题,而不是注意力头共享问题。

结构保存的状态结构变化主要收益需要验证的取舍
MHA每个注意力头的完整 K/VQ、K、V 注意力头数相同表达基线明确KV 状态与带宽随注意力头数增加
MQA一组共享 K/V所有 Q 注意力头读取同一组 K/V最大幅度减少 KV 复制共享过强时的质量风险
GQA少量共享 KV 组多个 Q 注意力头对应一个 KV 组在状态成本与质量间折中分组数需要随模型和任务验证
MLA压缩后的潜在 KV保存潜在状态,再按需要参与注意力改变每个词元的状态表示尺寸投影、重建和执行后端支持带来额外路径

可将这条演进理解为两类动作:MQA/GQA 通过“少存几组 KV”减少复制;MLA 通过“把每组 KV 存得更小”改变表示。两者都不等于限制可见范围。

选择条件与验证证据 ​

先用同一组结构参数计算理论状态账本,再决定是否做真实模型比较。对于同家族、训练和实现条件可比的变体,可以讨论相对取舍;对于不同公开模型快照,只能将结果记为跨模型观察,不能把差异归因于某一个注意力改动。

证据层级可以回答的问题典型入口
理论账本MHA/GQA/MLA 的 KV 表示为何随长度、注意力头数变化Part 02 · 04 MHA / GQA、Part 02 · 71 MLA / KV Cache 结构基准
CPU 机制验证注意力头共享、潜在/位置分量和配置契约是否正确Part 02 · 04、ARCH-MLA
GPU / 执行后端观察真实显存、TTFT、TPOT、吞吐是否改变推理优化与性能优化的对应基准测试
质量对照状态压缩是否保留目标任务能力同家族变体或明示为跨模型观察的长度阶梯

代码练习先计算不同注意力头数、KV 注意力头数和潜在维度下的状态账本,再用输入契约与边界用例验证分组关系。真实执行测量还要固定模型版本、数据类型、上下文长度、批次和执行后端,才能把理论账本与实际结果并排解释。

入口验证责任学习者应留下的证据
Part 02 · 04 注意力(MHA / GQA)Q/K/V 注意力头的形状、分组与 KV 账本分组正确性、状态公式与边界测试
Part 02 · 71 MLA / KV Cache 结构基准MHA、GQA、MLA 的表示账本与对照协议基线、候选、证据等级与决策
ARCH-MLA 机制页潜在状态、位置分量与读取路径配置、状态字节数与表示不变量
推理优化将 KV 表示放入请求生命周期Cache 管理、TTFT、TPOT 与吞吐
性能优化检查状态、带宽与实现开销显存、性能分析记录与成本证据

相关阅读 ​

Released under the MIT License.