arXiv 2026机器学习

GraceKV

Every Cache Entry Earns Its Place: Global Allocation of Resolution and Coverage for KV Cache Compression

* 同等贡献   † 通讯作者

清华大学 · 中国北京

全局 一个预算覆盖所有层、KV 头与语义槽
128× 128 倍压力测试下仍保留可用行为
零 额外训练或模型前向
GPU 压缩与推理均在设备端完成

一个预算,两种花法。

在固定的物理缓存预算下,下一个 K/V 条目既可以覆盖一个当前缺失的区域,也可以细化一个已经被表示的区域。GraceKV 把这两种选择放到同一尺度上直接比较。

购买覆盖范围

加入一个新区段

一个根原型,就能让某个层和 KV 头看到完整的上下文语义槽。

购买局部分辨率

细化已经覆盖的区域

一次 Split 用预先选定的子节点集合替换一个粗粒度原型,只在细节确实值得保留的位置增加条目。

1 组已存储 K/V 对 = 1 个物理预算单位

压缩发生在一次标准预填充之后。GraceKV 复用这一遍前向中已经收集的 Q/K/V、采样隐藏状态、问题区域输出与 token 惊异度;不需要额外模型前向、不需要追加训练,也不会用掩码假装被删除的条目仍然存在。

不预设局部配额

在理解当前输入之前,不会先给各层、KV 头或语义槽切出固定份额。

随输入而变的分配

同一段文本在不同的层—KV 头组合中,可能需要不同的覆盖范围与局部分辨率。

全局竞争,贪心求解

“全局”只描述竞价的竞争范围覆盖所有候选位置,并不声称得到精确的组合全局最优解。

沿着一条答案链,走过 1.69 万个 token。

问题要找出演唱《Good Little Girls》的组合成员。答案不在第一段匹配文本中:模型必须沿着两跳证据链,从歌曲找到 Blue Country,再从 Blue Country 找到 Aaron Benward。

问题 谁演唱了《Good Little Girls》?
证据第 1 跳 Good Little Girls → Blue Country
证据第 2 跳 Blue Country → Aaron Benward
GraceKV 分配案例:证据 token 被精确保留,背景由原型合并或被丢弃;不同层与 KV 头获得不等的条目数,高相关位置具有更高局部分辨率。
在 64 倍压缩下,位于 token 3185–3272 与 5995–6082 的两段证据获得精细或精确表示;位于 9000–9087、距证据约 5.5K token 的无关背景则被合并或丢弃。不同层—KV 头的分配同样不均匀:平均 232 个条目,最少 121,最多 410。图引自论文图 1;点击可查看完整分辨率版本。
精确

为姓名、数字、标签或其他关键证据保留原始 token 级 K/V。

合并

当整体语境比每一处局部细节更重要时,用一个原型对一段文本做粗粒度保留。

丢弃

对于这个特定的层—KV 头组合,该语义槽不写入任何物理缓存条目。

结构向下展开,价值向上汇聚,预算追随效用。

GraceKV 先为覆盖范围和局部分辨率建立一套统一的结构表达,再估计当前输入真正需要什么,让每个可行的 Add 或 Split 用同一种物理单位参与竞争。

  1. 01划分找到连贯的语义槽
  2. 02表示构建原型树
  3. 03赋值追踪直接与间接证据
  4. 04分配全局排序 Add 与 Split
  5. 05打包写入物理不等长缓存

01 · 曲率引导的划分

在表征改变方向的位置切分。

GraceKV 把归一化隐藏状态看作一条沿 token 位置前进的轨迹。平滑区段可以共享更长的粗粒度表示;跨层、跨窗口尺度都稳定出现的转向,则更适合作为结构边界。

Token 惊异度提供较弱的辅助信号,动态规划还会同时考虑语义槽内部离散程度与合理长度。曲率决定的是在哪里合并在结构上更安全,而不是哪些内容对当前问题更重要。

结构决定在哪里切分,相关性决定在哪里花预算。

02 · 渐进可细化表示

一棵树同时涵盖丢弃、合并与精确保留。

所有位置共享语义槽边界,但每个 (层, KV 头, 语义槽) 三元组都拥有自己的原型树。前沿是一组互不重叠的节点,它准确说明这个原子单元如何被存储。

  • 0 个条目:前沿为空,因此这个语义槽在物理缓存中不存在。
  • 1 个条目:根节点以粗粒度覆盖全部 8 个 token。
  • 3 个条目:选中的子区域获得更高局部分辨率。
  • 8 个条目:每个叶节点都保存其原始 token K/V。
前沿探索器 覆盖范围:一个粗粒度原型
1 个条目

一个已存储原型让整个语义槽仍可被寻址,但局部 token 细节会被合并。

单个缓存条目内部

原型要保留注意力行为,而不只是对向量求平均。

一个粗粒度节点用一条打包后的缓存表示一个连续区间。GraceKV 让这份打包表示与真正消费它的解码器保持一致。

键(Key)

逆旋转、求平均、再旋转

经过 RoPE 的键处在不同旋转坐标中。GraceKV 先将其逆旋转到同一坐标系,再求平均,最后在代表位置重新应用 RoPE。

值(Value)

让相关 token 拥有更大话语权

Value 按任务相关性加权,同时保留 10% 的均匀基线,使低价值背景信息也不会完全失去影响。

多重性

对不连贯的合并降权

键的一致性决定这个原型应当等效代表多少原始 token,避免平均得到的“幽灵键”获得被夸大的注意力质量。

03 · 自底向上的价值流

询问当前问题真正需要什么。

来自问题与序列尾部探针的直接注意力,可以识别显式证据;随后两轮 token 到 token 的传播会恢复间接依赖,例如问题本身没有强烈关注、但推理链必须经过的桥接实体。

Token 价值沿原型树向上求和。层—KV 头敏感度乘子刻画这一组件对模型输出的影响强弱。曲率和惊异度不会直接乘入相关性:它们塑造树的结构,而注意力证据为树节点定价。

精确信息保护

单例保底机制保护贪心步骤可能低估的事实。

姓名、数字、标签与少样本输出格式的收益可能并不平滑:抵达精确叶节点非常有用,但通往它的中间 Split 若逐步观察,可能显得没有那么值得。

因此,GraceKV 会在主竞价前,从高价值的 (层, KV 头, token) 叶节点中隔离出一个受预算上限约束的小集合。单例保底不免费、不在树外复制。

根节点 Add证据语义槽
Split / 抽取包含姓名的区间
精确叶节点Aaron Benward

完整路径成本计入同一个硬物理预算;共享祖先只付费一次。

04 · 自顶向下的预算流

把所有可行的 Add 与 Split 放进同一个队列。

Add 比较的是完全丢弃与一个根节点覆盖;Split 比较的是父原型与更细的子节点集合。两者都按每个新增缓存条目的收益评分,因此早期层中的一次操作,可以直接与其他层、KV 头、语义槽或局部分辨率的操作竞争。这就是全局 Add/Split 竞价:全局指竞争范围,而非求得全局最优。

每条目效用 = 相关性 × 保真度增益 × KV 头敏感度 ÷ 新增物理条目数
示意性的六条目竞价 当前负担得起的最高边际效用,赢得下一个名额
  1. 1
    保底路径 · 精确 token第 18 层 · 第 2 头 · 语义槽 B · 成本 3
  2. 2
    Split · 到期短语第 18 层 · 第 2 头 · 语义槽 B · 成本 1
  3. 3
    Add · 故障排查记录第 9 层 · 第 0 头 · 语义槽 C · 成本 1
  4. 4
    Add · 会议背景第 4 层 · 第 1 头 · 语义槽 A · 成本 1
A 粗粒度 B 上下文 ZX-41 周五 B 细节 C 粗粒度

这里的数值只用于示意。真实队列横跨所有层、KV 头、语义槽以及当前已经暴露的树操作。

05 · 物理缓存打包

只写入竞价胜出的前沿节点。

每个层—KV 头组合都会得到独立长度的不等长缓存。未被选中的根节点不产生条目;内部节点存储打包原型;单例节点存储原始 K/V。新生成的 token 以多重性 1 追加。

当预算恢复到 FullKV 规模时,每棵树都可以展开到 token 叶节点,并精确恢复原始上下文条目。

技术细节与默认设置

语义槽构建。多层、多尺度曲率在采样深度与窗口之间做稳定化;惊异度是较弱的辅助边界信号。默认语义槽长度为 16–128 个 token,目标为 64。

价值流。问题与序列尾部探针提供直接相关性的种子;默认权重 0.3 的两次图传播恢复间接证据。父节点价值等于子节点价值之和。

原型保真度。基于探针的失真以 0.25:0.75 加权注意力分布误差与 Value 聚合误差。构树时会同时考虑高曲率候选切分点和区间中点,也可以用三路子节点集合隔离一个显著 token。

单例保底机制。默认上限是可分配基础预算的 0.6,但这是硬上限,并不保证一定花掉 60%。每个最终实现的单例都要支付完整树路径成本。

GraceKV 完整方法总览:曲率引导的原型树、全局预算流,以及结合注意力、多跳相关性、失真和 KV 头敏感度的价值流。
完整技术总览。上方网页示意图按步骤拆解了同一条流水线;点击图 2 可查看论文中的完整分辨率版本。

预算越紧,灵活分配的缓存越能保持用途。

核心结果不只是某一个基准上的孤立胜利。GraceKV 在需求相反的任务之间都保持竞争力:摘要与聚合需要广泛的覆盖范围,问答与检索则需要锐利的局部可寻址性。

20 / 24 LongBench 的 24 个设置中有 20 个排名第一,其余 4 个排名第二
24 / 32 在 Qwen2.5-7B 的 LongBench + RULER 任务—预算组合中排名第一
128× LongBench 中评估的最高压缩率;这是压力测试,而不是无损声明
摘要 让整篇文档始终在视野中

广泛但较低的局部分辨率,可以避免整个主题或章节完全消失。

问答与检索 精确解析少数关键位置

在漫长的干扰上下文中,姓名、数值与证据跳转需要精确条目或更细的 Split。

少样本生成 同时保留模式与精确格式

示例结构受益于覆盖范围,而标签与答案格式则受益于精确单例。

LongBench:所有已报告压缩率

模型为 Qwen2.5-7B-Instruct。问答使用 F1,摘要与少样本使用 Rouge-L,所有数值均乘以 100。

任务 FullKV 4× 8× 16× 32× 64× 128×
单文档问答 43.9542.9741.5838.4535.5731.4925.81
多文档问答 29.8630.1829.9028.7828.1827.0925.19
摘要 15.9715.0314.5114.0413.4812.5811.88
少样本 36.2335.8234.7733.9233.8033.1832.83

压缩是一组可选运行点,而不是非黑即白的结论。

在 4 倍压缩下,每个 LongBench 类别都保留了各自 FullKV 分数的至少 94%;到 16 倍时,四类任务仍保留约 87%–96%。128 倍是刻意设置的压力测试:模型仍保有可用行为,但损失会明显随任务而变化。

4×接近 FullKV 区间每一行均保留至少 94%
16×实用高压缩区间各行保留 87%–96%
128×极端预算区间质量取决于任务必须保留什么
128 倍压缩时,各行 FullKV 分数的保留比例
少样本 90.6%
多文档问答 84.4%
摘要 74.4%
单文档问答 58.7%

这些描述性比例按已发表表格中的每一行计算,并不是普适的质量保证。

在最紧的已评估 32 倍预算下,GraceKV 仍高于 76 分。

RULER 集合召回率检查是否找回每一个远距离目标,因此它严格考验的是局部可寻址性,而不是近似语义相似度。在 Qwen2.5-7B-Instruct Retrieval 设置中,从 4 倍压缩收紧到 16 倍只损失 1.00 分,而从 16 倍收紧到 32 倍会损失 9.75 分。

87.254× · 名义 4K 86.758× · 名义 2K 86.2516× · 名义 1K 76.5032× · 名义 512
KV 缓存显存与单 token 解码延迟随上下文长度变化的曲线,比较 FullKV 与 GraceKV 的 4 倍、8 倍和 16 倍压缩。
上下文增长时的物理 KV 缓存显存与单 token 解码延迟。图引自论文图 3。

直接的部署收益,是更充裕的显存空间。

FullKV
1.77 GB
GraceKV 4×
463 MB
GraceKV 8×
246 MB
GraceKV 16×
137 MB

这分别比 FullKV 少用约 74%、86% 和 92% 的 KV 缓存显存。现实中,这份余量可能让更长上下文或更大批次成为可能,具体还取决于模型权重、激活、服务栈与可用 GPU 显存。

在同一个 1.77 GB、仅计算 KV 的显存范围内

FullKV1.0 份缓存
GraceKV 4×≈3.8 份缓存
GraceKV 8×≈7.2 份缓存
GraceKV 16×≈12.9 份缓存
这只是 KV-only 的缓存占用算术,不是端到端并发承诺;权重、激活、显存碎片与服务栈也会消耗显存。
稳态解码 更少条目会减少缓存流量,但不保证所有场景延迟都更低

在统一的固定缓存贪心解码器下,GraceKV 与 FullKV 通常都处在 23–25 ms/token。同一方法在不同数据集上可能稍快或稍慢,因此最稳健的结论是显存下降,速度收益仍取决于 kernel 与 workload。

一次性构建 灵活性带来前期开销

产生主质量结果的默认路径,在下方五个详细 workload 上需要 3.00–21.53 秒。这笔成本在预填充后支付一次,也让原型树构建成为最需要继续优化的系统环节。

最值得使用的场景 长上下文或可复用上下文

当显存是主要约束、同一上下文将支持很长的续写或多轮复用,或高压缩原本会抹去关键证据时,这种权衡最有吸引力。

缓存显著缩小,但一次性构建成本也必须被看见。

Qwen2.5-7B-Instruct;预填充后只压缩一次,随后使用固定 RaggedCache 与同一个贪心解码器。LongBench 每行约 200 个样本,RULER 每行 100 个样本。表中采用产生主质量结果的默认路径。

八倍压缩下的实测物理缓存、解码延迟和一次性构建延迟

Workload FullKV 缓存 GraceKV 缓存 剩余比例 解码:Full → Grace 一次构建
Qasper294.9 MiB51.7 MiB17.5%23.15 → 24.02 ms/token5.51 s
MultiNews181.3 MiB53.9 MiB29.7%23.23 → 23.33 ms/token3.00 s
SAMSum523.2 MiB93.7 MiB17.9%24.43 → 23.95 ms/token13.03 s
RULER-FWE877.0 MiB130.3 MiB14.9%25.63 → 24.06 ms/token20.41 s
RULER-MQNIAH887.4 MiB131.4 MiB14.8%25.17 → 23.28 ms/token21.53 s

“剩余比例”指 GraceKV 缓存除以 FullKV 缓存。这些延迟只描述统一的一次压缩协议,并不是端到端服务指标,也不能外推到原生的逐步淘汰实现。

GraceKV 能在固定显存上限下创造余量。

节省下来的 KV 缓存字节,可能支持更长的可服务上下文或更大批次。这些是部署层面的含义,而不是端到端服务测量;最终收益还取决于模型权重、激活、显存碎片与调度器。

文档助手 让更多原始材料常驻显存

更小的缓存可以让一份长报告、合同或论文集合中的更多内容常驻,同时不强迫每个章节获得相同局部分辨率。从同一份完整预填充状态重复生成,还可以摊薄构建成本。

智能体与代码系统 在长历史中保留精确标识符

代码仓库上下文、工具轨迹、实体名、数字与输出格式,把大量背景和少数精确事实混合在一起,恰好对应方法对覆盖范围与局部分辨率的联合分配。

多用户服务 创造潜在的批次或并发余量

当 KV 显存限制请求准入时,更小的物理缓存可能让系统在设备上保留更多会话,或减少驱逐、卸载缓存的压力。论文并未端到端测量这一行为。

权衡不够有利的场景 短请求、一次性请求或计算受限请求

如果生成很短、上下文很小,或注意力不受显存带宽限制,那么秒级的一次性构建成本可能超过稳态节省。因此论文将显存容量视为近期最主要的系统收益。

收益来自整条流水线的协同。

以下为 Qwen2.5-7B 单文档问答相对完整方法的分数变化;降幅越大,说明该组件承担的作用越关键。

去掉多分辨率原型树 −2.53 / −2.37
缓存将失去从丢弃、粗粒度覆盖到精确 token 保留之间连续调整的能力。
去掉全局分配 −2.25 / −1.98
固定的层—KV 头上限会困住未用预算,使它无法流向其他位置中效用更高的操作。
去掉单例保底机制 −1.14 / −1.45
贪心边际步骤可能模糊实体、数字、标签等事实,因为它们的精确收益只有走完整条细化路径后才显现。
去掉曲率引导结构 −0.43 / −0.93
均匀分块更容易跨越表征转向点进行合并,或在本可共享长原型的平滑区段上浪费根节点。
去掉多跳相关性 −0.57 / −0.37
当问题主要关注推理链的第一跳时,间接证据可能得到过低的价值。

每组数字分别是在 8 倍 / 64 倍压缩下的分数下降;完整方法对应 41.58 / 31.49。

每个缓存条目都应物有所值。

田昊霖、刘宇哲、王同翰,2026。Every Cache Entry Earns Its Place: Global Allocation of Resolution and Coverage for KV Cache Compression。arXiv:2608.07001。

BibTeX
@article{tian2026every,
  title   = {Every Cache Entry Earns Its Place: Global Allocation of Resolution and Coverage for KV Cache Compression},
  author  = {Tian, Haolin and Liu, Yuzhe and Wang, Tonghan},
  journal = {arXiv preprint arXiv:2608.07001},
  year    = {2026}
}