FreqDepthKV: 频率引导的深度共享实现长上下文LLM推理中鲁棒的KV缓存压缩
摘要
提出FreqDepthKV,一种用于长上下文LLM推理中KV缓存压缩的频率引导深度共享方法。该方法将相邻层的KV状态分解为共享的低频成分和稀疏的高频残差,在保证基准测试精度的同时提升内存效率和吞吐量。
arXiv:2607.06519v1 公告类型: 新
摘要:长上下文LLM推理日益受到KV缓存的内存和带宽成本限制,然而激进的压缩会移除检索和多步推理所需的层特定证据。我们提出FreqDepthKV,一种推理时缓存压缩方法,将相邻层的KV状态分解为共享的低频深度成分和稀疏的高频残差。一个轻量级在线探针根据注意力头对重建敏感注意力logits的贡献,将其分配到共享深度、残差深度或精确缓存模式,从而使压缩策略能够无需重新训练即可适应提示结构。在长上下文问答、针检索、摘要和代码生成基准测试中,FreqDepthKV在显著更小的缓存预算下保持了任务精度。在32k令牌预填充窗口下,FreqDepthKV达到了58.3的精确匹配、63.0的F1、32.5的ROUGE-L和48.1的pass@1,与完整KV接近,同时优于先前的压缩缓存方法。它还提升了解码吞吐量至70.4令牌/秒,将TTFT降低至2.06秒,并将峰值KV内存降至6.2 GB,实现了3.9倍的有效压缩比。
查看缓存全文
缓存时间: 2026/07/08 04:40
# FreqDepthKV:面向鲁棒长上下文大语言模型推理的频率引导深度共享KV缓存压缩方法
来源:https://arxiv.org/html/2607.06519
Anna Córdoba Adam Puente Tercero Nerea Angulo Hijo Mar Linares Tercero Julia Barrientos Ainhoa Miranda Jesús Olivera Instituto de Investigación en Visión Artificial contact@iiva\.tibeu
###### 摘要
长上下文大语言模型推理越来越受到 KV 缓存的内存和带宽成本的限制,然而激进的压缩可能会消除检索和多步推理所需的逐层证据。我们提出了 FreqDepthKV,这是一种推理时缓存压缩方法,它将相邻层的 KV 状态分解为共享的低频深度组件和稀疏的高频残差。一个轻量级的在线探针根据注意力头对重建敏感注意力 logits 的贡献,将其分配到共享深度、残差深度或精确缓存模式,从而使压缩策略能够根据提示结构进行调整,而无需重新训练。在长上下文问答、针检索、摘要和代码生成基准测试中,FreqDepthKV 在更小的缓存预算下保持了任务精度。在 32k 令牌预填充窗口下,FreqDepthKV 达到了 58.3 的精确匹配率、63.0 的 F1 分数、32.5 的 ROUGE-L 和 48.1 的 pass@1,与完整 KV 性能紧密相当,同时优于之前的压缩缓存方法。它还将解码吞吐量提高到 70.4 个令牌/秒,将 TTFT 降低到 2.06 秒,并将峰值 KV 内存降低到 6.2 GB,实现了 3.9 倍的有效压缩比。
## 1 引言
长上下文推理已将大语言模型的瓶颈从参数存储转移到键值(KV)缓存。在自回归解码期间,每个生成的令牌都会关注之前所有令牌、层和头的缓存键和值,这使得内存流量和缓存占用随上下文长度线性增长。这种成本对于长上下文问答、多文档摘要和代码补全尤其严重,在这些场景中,提示可能包含许多无关令牌,但仍需保留决定最终答案的一小部分证据。现有的 KV 缓存压缩方法通过令牌驱逐、重头保留、量化或结构化共享来减少这种占用 (Li et al. 2024; Jiang et al. 2025; Javidnia et al. 2025)。然而,这些方法通常将冗余视为令牌级或精度级现象,而忽略了相邻 Transformer 层经常编码相似深度级缓存结构这一事实。
MiniCache 表明,KV 缓存可以通过利用相邻层之间的冗余沿着深度维度进行压缩 (Liu et al. 2024a)。这一观察结果很有力:许多层存储了相关的表示,因此共享或合并它们的缓存可以在不修改模型权重的情况下大幅减少内存。然而,统一的深度压缩引入了一种新的失败模式。在检索密集型和推理密集型的提示中,决定性的证据通常局限于特定的令牌-头-层交互。一个平均看起来冗余的层可能仍然包含必要的稀疏高频残差信息,用于消除针语句的歧义、保留代码依赖性或维持推理链。一旦这些特定层的残差被消除,即使重建缓存具有较低的聚合误差,下游注意力 logits 也可能发生足够大的偏移以改变生成的答案。最近的研究也指出,缓存压缩可能依赖于工作负载,并且在对抗性或证据敏感的提示下可能失败 (Chen et al. 2025; Haverbeck et al. 2026; Slothouber 2026)。
我们提出了 FreqDepthKV,一种用于鲁棒长上下文 LLM 推理 KV 缓存压缩的频率引导深度共享方法。核心思想是将相邻层之间的 KV 缓存分解为广泛共享的低频深度组件和保留检索敏感证据的稀疏高频残差。FreqDepthKV 并非对每一层或每个头应用相同的压缩规则,而是在预填充期间使用一个在线探针来估计哪些头可以安全地共享深度组件,哪些头需要残差校正,以及哪些头应保持精确。这产生了一种适应提示结构同时与标准自回归解码保持兼容的缓存布局。
FreqDepthKV 做出了四项贡献。首先,它引入了 KV 缓存的深度-频率分解,在压缩冗余层间通道的同时保留了检索和推理所需的高频令牌证据。其次,它使用一个轻量级在线探针将每个注意力头分配到三种缓存模式之一:共享深度、残差深度或精确,从而无需重新训练即可实现逐层压缩。第三,它添加了一个基于预填充期间缓存注意力 logits 计算的重建感知路由损失,使压缩比能够适应上下文长度和提示结构。第四,报告了在长上下文问答、摘要和代码补全任务中,在激进的 KV 预算下保持准确性的同时,持续的速度和内存增益。
FreqDepthKV 与之前的缓存管理策略互为补充。令牌选择方法(如 H2O、StreamingLLM、Scissorhands、SnapKV 和 PyramidKV)通过保留重要或最近的令牌来减少序列维度,而量化方法(如 KVQuant 和 KIVI)则降低数值精度。其他方法探索了自适应合并、工作负载感知压缩和层间共享 (Wang et al. 2024; Yang et al. 2024a; Ma et al. 2026; Yao et al. 2025; Cai et al. 2025)。相比之下,FreqDepthKV 直接针对深度维度,建立在 MiniCache (Liu et al. 2024a) 的基础上,但用频率感知残差保留和注意力 logit 感知路由取代了统一的层共享。这种设计的目的是在保持深度压缩的内存优势的同时,避免丢失长上下文任务所依赖的稀疏证据。
参见图注Figure 1:核心思想概览:FreqDepthKV 移除相邻层共享的冗余深度信息,同时保留控制检索敏感注意力的稀疏层特定令牌证据。
## 2 相关工作
KV 缓存压缩已成为长上下文大语言模型服务的核心系统问题,现有综述将该领域组织为驱逐、合并、量化和服务感知缓存放置等方向 (Li et al. 2024; Jiang et al. 2025; Javidnia et al. 2025)。令牌选择方法通过保留最近令牌、注意力汇聚点或重头令牌来减少序列维度,如 H2O、StreamingLLM、Scissorhands、SnapKV、PyramidKV 及相关自适应驱逐方案 (Bui et al. 2026; An et al. 2026; Xiang et al. 2025; Wang et al. 2024; Yao et al. 2025)。当重要性集中在少数位置上时,这些方法效果显著,但其压缩决策通常基于令牌而非缓存的层间结构。因此,它们可能丢弃在局部显著性度量下强度较弱但在后期层组合后变得关键的证据,这一失败模式在近期关于压缩风险和工作负载敏感性的分析中已被强调 (Chen et al. 2025; Haverbeck et al. 2026; Cai et al. 2025)。
另一条互补的工作路线通过精度降低、低秩结构或专用注意力计算来降低 KV 缓存成本。KVQuant 和 KIVI 量化缓存的键和值,而其他方法则追求无损或近无损表示、特征空间投影、异构注意力和动态稀疏计算 (Yang et al. 2024b,c; Saxena et al. 2024; Yang et al. 2025, 2026; Xiao et al. 2025)。系统级研究进一步表明,最佳 KV 策略取决于模型大小、设备内存、工作负载组合和服务架构 (Qin et al. 2024; Gokhale et al. 2026; Slothouber 2026; Jo et al. 2026; Qiao et al. 2025)。这些方法在很大程度上与 FreqDepthKV 正交:量化改变了所保留缓存条目的数值表示,稀疏或块注意力改变了被关注的条目,而 FreqDepthKV 则改变了相邻层在解码前共享深度频率组件的方式。
深度级共享和层间冗余与我们的设置最为接近。MiniCache 表明相邻 Transformer 层包含大量 KV 冗余,可以沿着深度维度进行压缩 (Liu et al. 2024a; Haffari et al. 2024; Liu et al. 2024b)。后续工作探索了层间缓存共享、层间注意力相似性、浅层/深层平衡以及模型引导的合并 (Yang et al. 2024a; Ma et al. 2026; Tang et al. 2025; Wang et al. 2024)。然而,这些方法通常以相对粗粒度的方式应用共享或合并,假设层相似性意味着安全的缓存替换。FreqDepthKV 则将深度冗余视为频率结构化的:低频组件在相邻层之间共享,而稀疏的高频残差则针对影响缓存注意力 logits 的令牌-头交互进行保留。
近期的自适应和任务感知方法认识到,缓存压缩应依赖于上下文结构、推理需求以及下游用例 (Yu and Chai 2025a,b; Wei et al. 2026; Gelberg et al. 2026; Li et al. 2025; Patel and Joshi 2026)。针对表格、检索系统、多智能体通信、多模态模型和知识注入的领域特定变体也被提出 (Corallo et al. 2025; da Silva et al. 2025; Kriuk and Ng 2026; Zhang et al. 2025; Pustovit 2026)。FreqDepthKV 遵循这一自适应方向,但在路由信号上有所不同:它不依赖于令牌显著性或静态层相似性,而是使用一个轻量级预填充探针和一个基于注意力 logits 计算的重建感知路由损失,将每个头分配到共享深度、残差深度或精确缓存模式。这使得能够在保留长上下文检索、摘要和代码生成所需的层特定证据的同时进行激进的压缩。
## 3 方法
FreqDepthKV 通过利用相邻 Transformer 层之间的冗余来压缩 KV 缓存,同时明确保留那些改变注意力决策的层特定证据。令层 \(\ell\) 和头 \(h\) 的预填充缓存为 \(K_{\ell,h}, V_{\ell,h} \in \mathbb{R}^{T \times d_h}\),其中 \(T\) 为上下文长度,\(d_h\) 为头维度。对于由 \(B\) 个相邻层组成的每个块,我们将缓存沿深度轴堆叠:\(X_{b,h}^K = [K_{\ell,h}]_{\ell \in b} \in \mathbb{R}^{B \times T \times d_h}\),对于值同理。FreqDepthKV 应用一个短的正交深度变换 \(F_B\) 来分离缓慢变化的层间组件和高频残差:
\[
Z_{b,h}^K = F_B X_{b,h}^K, \qquad Z_{b,h}^V = F_B X_{b,h}^V, \qquad X_{b,h}^{K,V} = F_B^\top Z_{b,h}^{K,V}.
\] (1)
在我们的实现中,\(B=2\) 或 \(4\),且 \(F_B\) 是一个固定的 DCT 基,因此变换增加了可忽略的预填充开销,且无需模型重新训练。第一组系数被视为低频共享深度组件,而其余组则编码高频层偏差。如图2所示,共享组件为每个层块存储一次,而高频残差仅为选定的令牌-头对存储。
主要挑战在于确定哪些地方需要残差信息。统一的深度共享,如其粗粒度层间缓存复用 (Liu et al. 2024a; Yang et al. 2024a),虽然最小化平均重建误差,但可能改变稀有证据令牌的注意力 logits。因此,FreqDepthKV 在预填充期间执行一个轻量级在线探针。对于每个头,我们在三种模式下重建候选缓存:**共享深度**,仅保留低频系数;**残差深度**,保留共享组件加上一个稀疏残差集;以及**精确**,保持原始 KV 缓存不变。对于一组从近期令牌、文档边界和高熵注意力行中采样的探针查询位置 \(\mathcal{P}\),我们比较原始和重建的注意力 logits:
\[
\mathcal{L}_{b,h}(m) = \frac{1}{|\mathcal{P}|} \sum_{t \in \mathcal{P}} \left\| \frac{Q_{\ell,h,t} \widehat{K}_{\ell,h}^{(m)\top}}{\sqrt{d_h}} - \frac{Q_{\ell,h,t} K_{\ell,h}^{\top}}{\sqrt{d_h}} \right\|_2^2 + \lambda \, \Omega(m),
\] (2)
其中 \(m \in \{\textsc{shared},\textsc{residual},\textsc{exact}\}\),\(\widehat{K}^{(m)}\) 是模式 \(m\) 下重建的键缓存,\(\Omega(m)\) 是该模式的归一化内存成本。相同的路由决策应用于值缓存。相似文章
DepthWeave-KV:用于长上下文KV缓存压缩的令牌自适应跨层残差分解方法
DepthWeave-KV 是一种令牌自适应跨层残差分解方法,用于在长上下文Transformer推理中压缩KV缓存。该方法在64K上下文下实现8.3倍内存缩减和72.8令牌/秒的吞吐量,同时在各项基准测试中保持了接近完整缓存的任务质量。
CompressKV:语义检索引导的KV缓存压缩方法,用于资源高效的长上下文大语言模型推理
CompressKV针对基于GQA的大语言模型,提出了一种语义检索引导的KV缓存压缩方法,通过识别语义检索头来保留关键令牌。在LongBench任务中,仅使用3%的KV缓存即可实现超过97%的全缓存性能。
HARD-KV: 解码时 KV 压缩的头部自适应正则化
Hard-KV 引入了级联缓存层次结构和 Logits 校准机制,以解决头部自适应 KV 缓存压缩中的静态-动态不匹配问题,在长上下文 LLM 推理中实现了高达 2 倍的吞吐量提升。
MosaicKV:使用动态二维KV缓存压缩服务长上下文LLM
MosaicKV引入了用于长上下文LLM服务的动态二维KV缓存压缩,实现了高达16倍的注意力加速和3倍的内存减少,且精度损失极小。
CONF-KV: 置信度感知的KV缓存淘汰与混合精度存储用于长视界大语言模型
CONF-KV 是一种KV缓存管理系统,利用模型不确定性动态调整缓存保留策略,从而提升长上下文大语言模型推理的内存效率,同时将困惑度控制在1.5-2.1个点以内。