CacheReforge: Bounded Recovery for Stale KV Caches under Evolving Adapters

📄 arXiv: 2609.30884v1 📥 PDF

作者: Yuhang Cao, Yanzhou Mu, Chunrong Fang, Zhenyu Chen

分类: cs.LG

发布日期: 2026-09-25

备注: 13 pages, 5 figures. Artifact: https://doi.org/10.5281/zenodo.22951118


💡 一句话要点

提出CacheReforge以解决过时KV缓存带来的模型输出失真问题

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: KV缓存 模型输出 适配器演变 最小化重新计算 深度学习 语言模型 计算效率

📋 核心要点

  1. 现有方法无法有效处理轻量级适配器演变导致的过时KV缓存问题,造成模型输出失真。
  2. 本文提出CacheReforge,通过将过时KV缓存表示为分层混合版本对象,实现最小化重新计算以恢复当前适配器行为。
  3. 实验结果显示,CacheReforge在减少KL散度方面相较于过时重用降低了92.4%,且仅重新计算5.44%的层,显著提高了缓存维护效率。

📝 摘要(中文)

大型语言模型依赖KV缓存以减少长上下文和交互应用中的重复预填充计算。随着轻量级适配器的演变,缓存状态反映了早期版本,因此过时的重用扭曲了当前模型输出,而完全重新计算受影响的后缀则以高昂的成本恢复准确性。为了解决这些问题,本文提出CacheReforge,将过时的KV缓存表示为分层混合版本对象,结合每层适配器锚点、校准灵敏度、累积漂移和可执行重启边界,以选择直接重用、有限重新计算或完全受影响后缀恢复。实验表明,CacheReforge在Qwen2.5-1.5B和Qwen2.5-7B模型上显著提高了模型的准确性和缓存维护效率。

🔬 方法详解

问题定义:本文旨在解决轻量级适配器演变导致的过时KV缓存问题,现有方法无法有效区分更新传播与行为恢复所需的重新计算,导致模型输出失真。

核心思路:CacheReforge通过将过时KV缓存表示为分层混合版本对象,结合多种技术手段,选择合适的重用或重新计算策略,以最小化计算成本并保持模型输出的准确性。

技术框架:整体架构包括四个主要模块:每层适配器锚点、校准灵敏度、累积漂移和可执行重启边界。这些模块共同作用,以选择直接重用、有限重新计算或完全受影响后缀恢复。

关键创新:最重要的创新在于将过时KV缓存视为分层混合版本对象,并引入依赖深度与功能重新计算视野的区分,显著提高了恢复的准确性与效率。

关键设计:关键设计包括适配器锚点的选择、灵敏度的校准、漂移的累积计算,以及重启边界的定义,这些设计确保了在不同情况下的有效恢复与重用。

🖼️ 关键图片

fig_0
fig_1

📊 实验亮点

实验结果显示,CacheReforge在Qwen2.5-1.5B和Qwen2.5-7B模型上,相较于过时重用,KL散度降低了92.4%,而重新计算的层数仅为5.44%。此外,缓存维护时间减少了93.2%,显示出版本感知恢复在保持模型准确性和缓存效率方面的显著优势。

🎯 应用场景

CacheReforge的研究成果在大型语言模型的实时交互应用中具有广泛的潜在应用价值,尤其是在需要快速响应和高准确性的场景中,如智能客服、在线教育和内容生成等领域。通过提高KV缓存的利用效率,能够显著降低计算资源的消耗,提升用户体验。

📄 摘要(原文)

Large language models rely on KV caching to reduce repeated prefill computation in long context and interactive applications. As lightweight adapters evolve, cached states reflect earlier versions, so stale reuse distorts current model outputs, while complete affected suffix recomputation restores fidelity at substantial cost. We seek minimal recomputation that recovers current adapter behavior. Existing systems track token, context, or stable adapter identity, but neither represent caches from earlier adapter versions nor distinguish update propagation from the recomputation required for behavioral recovery. To address these gaps, we introduce CacheReforge, which represents stale KV caches as layerwise mixed-version objects. It combines per-layer adapter anchors, calibrated sensitivity, accumulated drift, and executable restart boundaries to select direct reuse, bounded recomputation, or complete affected-suffix recovery. We distinguish dependency depth from the functional recomputation horizon and use cumulative tail influence to characterize when bounded recovery preserves current-model behavior. We evaluate CacheReforge on Qwen2.5-1.5B and Qwen2.5-7B with continual LoRA updates, including 16K HotpotQA and 2WikiMQA workloads. CacheReforge reduces mean KL divergence by 92.4% relative to stale reuse, while recomputing only 5.44% of layers and reducing cache-maintenance time by 93.2% relative to fresh full prefill. These results show that version-aware recovery preserves model fidelity and most KV caching gains.