探究提示KV缓存:何处变得可舍弃
摘要
本文系统性地探究了在LLM解码过程中,何时以及提示KV缓存的哪些部分变得可舍弃,表明冗余主要涉及聊天模板脚手架而非任务内容,并且用中性填充内容进行替换可保持准确性。
arXiv:2605.30574v1 发布类型:新
摘要:先前的KV缓存压缩方案经验性地证明,在解码过程中提示缓存是部分冗余的,丢弃或摘要化条目几乎没有精度损失。我们探究何时以及何种冗余:在哪些层、多少解码步骤之后,以及以何种形式可以替换提示跨度KV缓存而不破坏任务。一个受控的拼接干预,在层截止和解码步骤上扫描,显示这种冗余是关于形式(聊天模板脚手架)而不是内容。将上层的提示跨度KV缓存替换为来自聊天模板脚手架的KV缓存(其用户内容是中性填充)能够恢复接近原始的精度,而将相同位置置零则会破坏精度。这种分离在Qwen3、Gemma 3和Llama 3系列以及多个数据集上得到复现。
查看缓存全文
缓存时间: 2026/06/01 09:25
# 探究提示KV缓存:何时变得可弃
来源:https://arxiv.org/html/2605.30574
Vinayshekhar Bannihatti KumarManoj Ghuhan ArivazhaganDisha Makhija††footnotemark: Rashmi Gangadharaiah AWS AI Labs \{vinayshk,mghuhan,dismakhi,rgangad\}@amazon\.com
###### 摘要
先前的KV缓存压缩方案通过实验表明,解码过程中提示缓存存在部分冗余,丢弃或汇总条目后准确率损失很小。我们探究这种冗余的*何时*和*何种形式*。在哪些层、经过多少解码步骤后、以及以何种形式,可以替换提示跨度的KV缓存而不破坏任务?一项在层截断和解码步骤上进行扫描的受控拼接干预表明,这种冗余关乎*形式*(聊天模板支架)而非内容。用用户内容为中性填充物的聊天模板支架的KV缓存替换上层提示跨度KV缓存,可恢复接近完整准确率;而将相同位置清零则准确率崩溃。这种分离现象在Qwen3、Gemma3和Llama3系列模型以及多个数据集上得到复现。
探究提示KV缓存:何时变得可弃
Vinayshekhar Bannihatti Kumar Manoj Ghuhan Arivazhagan††感谢:同等贡献。Disha Makhija††footnotemark:Rashmi GangadharaiahAWS AI Labs\{vinayshk,mghuhan,dismakhi,rgangad\}@amazon\.com
## 1 引言
越来越多的研究暗示,LLM在前向传播的不同阶段对提示的使用方式不同。注意力集中在前几个位置作为位置汇点(Xiao et al., 2024 (https://arxiv.org/html/2605.30574#bib.bib1));同样的巨大激活值解释了中层压缩低谷(Queipo-de-Llano et al., 2025 (https://arxiv.org/html/2605.30574#bib.bib2));上下文内演示被总结为紧凑的内部任务向量和函数向量(Hendel et al., 2023 (https://arxiv.org/html/2605.30574#bib.bib11); Todd et al., 2024 (https://arxiv.org/html/2605.30574#bib.bib12));而跨提示KV替换攻击表明,通过用另一个提示的KV覆盖缓存中所有层的尾部令牌位置,可以劫持生成过程(Ganesh et al., 2025 (https://arxiv.org/html/2605.30574#bib.bib3)),但该工作研究的是攻击可行性而非缓存编码的内容。KV缓存压缩方案(Cai et al., 2024 (https://arxiv.org/html/2605.30574#bib.bib4); Li et al., 2024 (https://arxiv.org/html/2605.30574#bib.bib5); Zhang et al., 2023 (https://arxiv.org/html/2605.30574#bib.bib6); Ge et al., 2024 (https://arxiv.org/html/2605.30574#bib.bib7); Liu et al., 2023 (https://arxiv.org/html/2605.30574#bib.bib8))更进一步,通过实验表明,大量提示缓存可以被丢弃或汇总,而准确率损失很小,这表明存在部分冗余。然而,每项工作都仅在狭窄范围内探讨这个问题(四个汇点令牌、BOS令牌激活值、单一任务向量、与一个捐赠对的全层或全无交换,或特定的剪枝策略),并留下一个开放问题:何时以及用何种替换,可以替换提示跨度KV缓存:在哪些层、经过多少解码步骤后、以及使用何种捐赠内容?答案决定了压缩方案是必须保留条目、丢弃条目,还是替换为占位符。
我们通过一项受控的拼接干预来解决这个问题,该干预在层截断和解码步骤上进行扫描,使用的捐赠缓存保留了提示的*形式*(聊天模板支架)和*内容相似文章
KV Packet: 免重计算的上下文无关KV缓存用于大语言模型
KV Packet 提出了一种免重计算的缓存复用框架,用于大语言模型。该框架使用可训练的软标记适配器来弥合上下文不连续性,消除了开销,同时在 Llama-3.1 和 Qwen2.5 上的性能与完全重计算基线相当。
@pallavishekhar_: 大语言模型中的 KV Cache,阅读链接:https://outcomeschool.com/blog/kv-cache-in-llms…
本文解释了大语言模型中 KV Cache 的概念,详细阐述了其通过存储和复用键值对以避免推理过程中的冗余计算,从而优化文本生成的原理。
KV缓存正成为推理的内存层级结构
文章讨论了KV缓存如何演变为LLM推理的内存层级结构,优化解码过程中的内存管理。
llama.cpp 有一个加速 KV 缓存解码的巧妙技巧
llama.cpp 的 webUI 中有一个设置,它会将生成的 token 重新发送到 KV 缓存,从而显著减少提示处理延迟,提高长生成或工具调用的响应速度,且没有明显的权衡。
价值感知KV缓存淘汰何时有效?一种针对非单调缓存压缩的固定契约诊断方法
本文介绍了一种固定契约诊断工具,用于分析KV缓存压缩方法在长上下文LLM推理中成功或失败的原因。文章确定了三种故障模式——遗漏证据、对无关token进行评分以及破坏相关证据——并在LongBench和NeedleBench上对这些模式进行了评估。