Grouped Value Attention: Efficient KV Caching via On-Demand Key Reconstruction
Vishesh Tripathi, Abhay Kumar, Ramsha Khan
cs.AR, cs.LG
2026-09-09
GVA只缓存分组Value,用可吸收进Query的线性映射重建内容Key,再加一小段共享解耦RoPE。350M、30B token上五任务均分44.35,与GQA的44.36几乎持平,持久缓存标量少约45–47%。
自回归解码每一步都要读完整段 KV 缓存,上下文一拉长,显存和内存带宽一起成为瓶颈。Grouped-query attention(GQA)让若干 Query 头共享一组 Key-Value,把「每头一份」压成「每组一份」,但每个位置仍要同时写下 Key 和 Value 两条流。DeepSeek 的 Multi-head Latent Attention(MLA)再把两条流压进一条低秩 latent,缓存更小,解码路径也更绕。
GVA 的判断更直接:Value 已经带着送给注意力输出的内容,打分用的内容 Key 可以从 Value 线性重建,不必再存一份。
GVA 沿用 GQA 的分组:H 个 Query 头共享 G 个 Value 头。每个 Query 头有自己的重建矩阵 Mh,内容 Key 写成 Kh = Vg(h) Mh。解码时 Mh 固定,内容分数 q·k 等价于先把 Mh 乘进当前 Query,再跟缓存里的 Value 做内积。内容 Key 不用物化,这叫吸收(absorption)。
普通 RoPE 会把吸收打断。旋转依赖缓存位置 j,没法折进一条对所有历史位置共用的 Query。做法跟 MLA 一样:内容切片不转,另开一小段宽度 dr 的共享位置 Key,单独缓存、单独旋转。位置信息留下,全量 Key 缓存不用回来。因为位置流跨头共享,每个 token 只多 dr 个标量。
他们先试过直接令 K=V,缓存正好砍半,训练 loss 全程贴不回 GQA。一个向量既要打分又要被检索,扛不住。后来才改成专存 Value、线性重建 Key。初始化也踩过坑:默认初始化让 K 的尺度远小于 Q,softmax 几乎均匀,前半段训练都在补尺度。按 σM = σQ/(σV√din) 把 M 的初始 RMS 对齐 Query 之后,loss 才跟上 GQA。
对照都在约 350M 参数、30B FineWeb-Edu token、同一数据顺序和优化器下从零训。下游是 HellaSwag、WinoGrande、OpenBookQA、ARC-Easy、ARC-Challenge 五任务零样本准确率,每配置三粒种子取算术平均。
| 方法 | 五任务均分 |
| GQA | 44.36 |
| MLA | 43.88 |
| GVA 默认初始化 | 43.91 |
| GVA 尺度对齐 + Query RMSNorm | 44.41 |
| GVA + 解耦 RoPE, dr=16 | 44.35 |
| GVA + 解耦 RoPE, dr=24 | 44.29 |
提议的上线形态是带解耦 RoPE 的 GVA。dr=16 时均分 44.35,比 GQA 低 0.01 个百分点;相对 GQA 的持久缓存标量大约少 47%(dr=24 少约 45%)。这是表示层计数,不是测过的 serving 峰值显存。尺度对齐那行均分 44.41,略超 GQA,但普通 RoPE 还打在重建 Key 上,走不了吸收解码。
共享 KV(K=V)的 loss 全程高于 GQA。这篇把它当成失败的第一刀,不当可部署基线。
给服务侧一个比 GQA 更省、比 MLA 更直的选项:持久状态就是加权求和用的 Value,缓存路径上没有额外 latent 投影。带宽受限的逐 token 解码,按表示层计数应该更轻。论文自己写得很清楚:prefill 仍是大矩阵主导,GVA 未必更快;自定义 decode kernel 还在测,吞吐和时延数字这篇没有。
如果你已经在用 GQA,这是一次表示层替换,不是换一套 MLA 式的 up-projection 栈。350M 上质量几乎贴齐。值不值得上,要等 kernel 数字。
作者自己列了三条硬缺口。一,45–47% 是「打算存的 decode 状态」,fused 吞吐、峰值显存、batch 容量都没报。二,对照只在约 350M、一份 30B FineWeb-Edu、每配置三粒种子。三,没系统扫 RoPE 宽度、内容宽度怎么切、更长上下文。dr=24 均分已经略低于 GQA。
GVA 的内容 Key 仍是 Value 的线性变换,不是独立投影。头间多样性回来了,表达力上限还绑在那组 Value 上。长上下文、更大模型、真实 serving 曲线,这篇都还没给。