KVShare: An LLM Service System with Efficient and Effective Multi-Tenant KV Cache Reuse

📄 arXiv: 2503.16525v2 📥 PDF

作者: Huan Yang, Renji Zhang, Mingzhe Huang, Weijun Wang, Yin Tang, Yuanchun Li, Yunxin Liu, Deyu Zhang

分类: cs.CL, cs.AI

发布日期: 2025-03-17 (更新: 2025-05-16)


💡 一句话要点

KVShare:通过高效多租户KV缓存复用提升LLM服务系统性能

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

关键词: 大型语言模型 KV缓存复用 多租户系统 注意力机制 系统优化

📋 核心要点

  1. 现有LLM服务面临长文本处理带来的高计算成本和长TTFT问题,KV缓存复用是潜在解决方案,但跨请求复用和注意力偏差未被充分考虑。
  2. KVShare提出双阶段高偏差算法(DHD)选择性重计算KV缓存,并设计缓存感知调度器优化请求优先级和批处理,实现高效准确的LLM服务。
  3. 实验结果表明,KVShare在Qwen2.5-7B、Llama3.1-8B和Yi1.5-9B等模型上,显著降低TTFT、提升吞吐量,并提高了模型准确性。

📝 摘要(中文)

长文本理解的最新进展将大型语言模型(LLM)的上下文长度提升至百万级别。这提高了LLM的准确性和推理能力,但也导致了过高的计算成本和不令人满意的时间到首个Token(TTFT)。KV缓存复用,即复用前缀和模板的完全相同的KV缓存,或共享相似的缓存但进行额外的选择性重计算,为解决这个问题提供了一种有希望的方法。然而,先前的研究忽略了跨请求的KV复用以及解码阶段新token引入的注意力偏差。在本文中,我们提出了一个KV缓存管理模块,该模块在多租户场景下跨请求共享KV缓存,而不会牺牲模型精度。我们的系统KVShare通过以下方式实现准确高效的LLM服务:1) 一种双阶段高偏差算法(DHD),有条件地选择一小部分KV缓存在预填充和解码阶段进行重新计算;2) 一种缓存感知调度器,根据其KV缓存命中率优先处理请求,并协调连续批处理以实现增强的系统效率和更快的TTFT。在Qwen2.5-7B、Llama3.1-8B和Yi1.5-9B等模型上进行的多任务实验表明,与完全KV重新计算相比,KVShare将TTFT降低了高达9.39倍,并将吞吐量提高了1.2倍。此外,KVShare在准确性方面比SOTA方法提高了20.38%。

🔬 方法详解

问题定义:论文旨在解决多租户LLM服务系统中,由于长文本处理导致的高计算成本和长TTFT问题。现有方法在KV缓存复用方面存在不足,主要体现在忽略了跨请求的KV缓存复用机会,以及解码阶段新token引入的注意力偏差,导致模型精度下降或效率不高。

核心思路:论文的核心思路是设计一个高效的KV缓存管理模块,该模块能够在多租户场景下跨请求共享KV缓存,同时通过选择性重计算来解决注意力偏差问题,从而在不牺牲模型精度的前提下,显著降低TTFT并提高吞吐量。这种设计旨在充分利用不同请求之间的KV缓存相似性,减少冗余计算。

技术框架:KVShare系统主要包含两个核心模块:双阶段高偏差算法(DHD)和缓存感知调度器。DHD算法用于在预填充和解码阶段选择性地重新计算KV缓存,以解决注意力偏差问题。缓存感知调度器则根据请求的KV缓存命中率来确定请求的优先级,并协调连续批处理,以提高系统效率和降低TTFT。整体流程是:请求到达后,调度器根据缓存命中率排序,DHD算法选择性重计算KV缓存,最后进行模型推理。

关键创新:论文的关键创新在于提出了双阶段高偏差算法(DHD),该算法能够有条件地选择一小部分KV缓存在预填充和解码阶段进行重新计算。与现有方法相比,DHD算法能够更精确地识别和纠正由新token引入的注意力偏差,从而在保证模型精度的同时,最大限度地减少计算量。此外,缓存感知调度器也是一个创新点,它能够根据缓存命中率动态调整请求优先级,从而提高系统整体效率。

关键设计:DHD算法的关键设计在于如何确定需要重新计算的KV缓存部分。具体实现细节未知,但可以推测可能涉及到注意力权重的分析、偏差程度的评估等。缓存感知调度器的关键设计在于如何平衡缓存命中率和请求延迟,以实现最佳的系统性能。具体的调度策略和参数设置未知。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果表明,KVShare在Qwen2.5-7B、Llama3.1-8B和Yi1.5-9B等模型上进行了多任务实验,与完全KV重新计算相比,KVShare将TTFT降低了高达9.39倍,并将吞吐量提高了1.2倍。更重要的是,KVShare在准确性方面比SOTA方法提高了20.38%,证明了其在效率和准确性方面的显著优势。

🎯 应用场景

KVShare技术可应用于各种需要高效LLM服务的场景,例如在线问答系统、智能客服、代码生成平台等。通过降低TTFT和提高吞吐量,KVShare能够显著提升用户体验,并降低LLM服务的运营成本。未来,该技术有望进一步扩展到更复杂的LLM应用场景,例如多轮对话、长文档摘要等。

📄 摘要(原文)

Recent advances in long-text understanding have pushed the context length of large language models (LLMs) up to one million tokens. It boosts LLMs's accuracy and reasoning capacity but causes exorbitant computational costs and unsatisfactory Time to First Token (TTFT). KV cache reuse, which reuses the exact same KV cache of prefixes and templates or shares similar ones but with extra selective recomputation, offers a promising way to tackle this issue. However, prior studies overlook the cross-request KV reuse and the attention deviations introduced by new tokens during the decoding stage. In this paper, we present a KV cache management module that shares the KV cache across requests under multi-tenant scenarios without sacrificing model accuracy. Our system, KVShare, enables accurate and efficient LLM serving by 1) a Dual-Stage High Deviation algorithm (DHD) that conditionally selects a small portion of KV cache to be recomputed during both prefill and decode phases, and 2) a cache-aware scheduler that prioritizes requests based on their KV cache hit rates and orchestrates continuous batching to achieve enhanced system efficiency and faster TTFT. Multi-task experiments conducted on models such as Qwen2.5-7B,Llama3.1-8B and Yi1.5-9B demonstrate that KVShare reduces TTFT by up to 9.39x and increases 1.2x of the throughput compared to the full KV recompute. Moreover, KVShare achieves 20.38% boost in terms of accuracy compared to SOTA methods.