探究提示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缓存:在哪些层、经过多少解码步骤后、以及使用何种捐赠内容?答案决定了压缩方案是必须保留条目、丢弃条目,还是替换为占位符。
我们通过一项受控的拼接干预来解决这个问题,该干预在层截断和解码步骤上进行扫描,使用的捐赠缓存保留了提示的*形式*(聊天模板支架)和*内容相似文章
@akshay_pachaar:你的 KV 缓存中 90% 从未被重用。(提示缓存从未旨在解决此问题)如果你的系统提示和工具定义…
CacheBlend,EuroSys 2025 最佳论文,解决了由于提示缓存中严格的前缀匹配导致 90% 的 KV 缓存从未被重用的问题。通过选择性地仅重新计算文档之间的边界令牌,它在不损失质量的情况下实现了 2-4 倍的多文档处理速度提升,并在开源 LMCache 层中实现。
PARTREP:学习在仅解码器LLM中重复什么
PartRep提出了一种针对仅解码器LLM的选择性提示重复方法,仅追加最有信息量的令牌(通过NLL选择),而非完整提示,从而减少KV缓存和预填充FLOPs,同时在多个基准测试上保留大部分准确率提升。
KV Packet: 免重计算的上下文无关KV缓存用于大语言模型
KV Packet 提出了一种免重计算的缓存复用框架,用于大语言模型。该框架使用可训练的软标记适配器来弥合上下文不连续性,消除了开销,同时在 Llama-3.1 和 Qwen2.5 上的性能与完全重计算基线相当。
解释提示缓存如何在大型语言模型(LLM)中工作,以Claude为案例,详细说明Transformer的KV缓存机制以及在代理工作流中缓存静态前缀的成本效益。
解释提示缓存如何在大型语言模型(LLM)中工作,以Claude为案例,详细说明Transformer的KV缓存机制以及在代理工作流中缓存静态前缀的成本效益。
代理中的提示缓存
本文解释了提示缓存在大语言模型代理中的工作原理,涵盖 KV 缓存机制、预填充和解码阶段,以及其对延迟、成本和代理设计的影响。