Mitigating KV Cache Competition to Enhance User Experience in LLM Inference

📄 arXiv: 2503.13773v2 📥 PDF

作者: Haiying Shen, Tanmoy Sen, Masahiro Tanaka

分类: cs.CL

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


💡 一句话要点

CacheOPT通过缓解KV缓存竞争,提升LLM推理用户体验

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

关键词: 大语言模型 LLM推理 KV缓存 缓存管理 服务质量 尾部延迟 请求调度

📋 核心要点

  1. LLM推理中KV缓存竞争导致高延迟,严重影响用户体验,尤其是在对时间敏感的应用中。
  2. CacheOPT通过估计请求长度、重用已分配KVC、主动分配和全局预留KVC等策略,缓解KV缓存竞争。
  3. 实验表明,CacheOPT显著降低了尾部延迟,提高了SLO达成率,并支持更高的请求到达率。

📝 摘要(中文)

在大语言模型(LLM)服务中,KV缓存(KVC)瓶颈会导致较高的首个token时间(TTFT)和token间时间(TBT),从而降低用户体验,尤其是在对时间敏感的应用中。然而,同时满足TTFT和TBT服务水平目标(SLO)具有挑战性。为了解决这个问题,我们提出了一个名为CacheOPT的系统,用于缓解KV缓存竞争,该系统基于我们的测量结果中的关键见解,并结合了新的组件。首先,它估计请求的输出长度,以高概率限制偏差,并根据请求到达率进行调整。其次,它为请求分配估计的KVC需求,并重用其他请求已分配的KVC,以避免抢占,同时减少等待时间。第三,它主动分配KVC,而不是在请求耗尽其分配时才分配,并全局保留KVC以防止抢占。第四,它选择具有较长TBT SLO、较长剩余作业时间和较短抢占时间的请求进行抢占。第五,它选择交换和重新计算之间延迟最短的策略进行抢占。实验表明,CacheOPT实现了高达3.29倍和2.83倍的更低尾部TBT和尾部TTFT,TTFT和TBT SLO实现率分别提高了47%和53%,并且比最先进的方法支持高达1.58倍的更高请求到达率。

🔬 方法详解

问题定义:论文旨在解决LLM推理服务中,由于KV缓存(KVC)竞争导致的尾部延迟过高,无法同时满足TTFT和TBT服务水平目标(SLO)的问题。现有方法在缓存管理方面存在不足,导致用户体验下降。

核心思路:论文的核心思路是通过更智能的KV缓存管理策略,缓解KVC竞争。具体来说,通过预测请求长度、重用已分配的KVC、提前分配KVC以及全局预留KVC等方式,减少请求等待和抢占,从而降低延迟。

技术框架:CacheOPT系统包含以下主要模块:1) 请求长度估计器:根据请求到达率动态调整,以高概率估计请求的输出长度。2) KVC分配器:根据估计的请求长度分配KVC,并尝试重用其他请求的KVC。3) KVC预分配器:在请求耗尽分配之前主动分配KVC,并全局预留KVC。4) 抢占选择器:选择具有较长TBT SLO、较长剩余作业时间和较短抢占时间的请求进行抢占。5) 抢占策略选择器:选择交换和重新计算之间延迟最短的策略进行抢占。

关键创新:CacheOPT的关键创新在于其综合性的KV缓存管理策略,包括:1) 基于请求到达率的动态请求长度估计;2) KVC的重用和预分配机制;3) 考虑多种因素的抢占选择策略;4) 动态选择最优抢占策略。这些创新共同作用,有效地缓解了KVC竞争。

关键设计:请求长度估计器使用历史数据和请求到达率来预测输出长度,并设置偏差上限以保证预测的准确性。KVC分配器采用贪心算法,优先重用已分配但未使用的KVC。抢占选择器使用加权评分函数,综合考虑TBT SLO、剩余作业时间和抢占时间。抢占策略选择器通过预测交换和重新计算的延迟,选择延迟最短的策略。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果表明,CacheOPT在尾部TBT和尾部TTFT方面分别实现了高达3.29倍和2.83倍的降低,TTFT和TBT SLO达成率分别提高了47%和53%,并且比最先进的方法支持高达1.58倍的更高请求到达率。这些数据表明CacheOPT在提升LLM推理性能方面具有显著优势。

🎯 应用场景

CacheOPT可应用于各种需要高性能LLM推理服务的场景,例如在线客服、智能助手、实时翻译等。通过降低尾部延迟,提高服务质量,CacheOPT能够显著提升用户体验,并支持更高的并发请求量。该研究对于构建更高效、更可靠的LLM服务具有重要意义。

📄 摘要(原文)

In Large Language Model (LLM) serving, the KV-cache (KVC) bottleneck causes high tail Time-to-First-Token (TTFT) and Time-Between-Tokens (TBT), impairing user experience, particularly in time-sensitive applications. However, satisfying both TTFT and TBT service-level objectives (SLOs) is challenging. To address this, we propose a system, named CacheOPT for mitigating KV Cache competition, based on key insights from our measurements, incorporating novel components. First, it estimates a request's output length, bounding the deviation with a high specified probability, adjusted based on the request arrival rate. Second, it allocates the estimated KVC demand to a request, and reuses other requests' allocated KVC to avoid preemptions while reducing waiting time. Third, it proactively allocates KVC before instead of at the time a request exhausts its allocation and reserves KVC globally to prevent preemptions. Fourth, it chooses a request that has long TBT SLO, long job remaining time and short preemption time to preempt. Fifth, it selects the shortest-latency strategy between swapping and recomputation for preemptions. Experiments show that CacheOPT achieves up to 3.29$\times$ and 2.83$\times$ lower tail TBT and tail TTFT, 47\% and 53\% higher TTFT and TBT SLO attainments, and supports up to 1.58$\times$ higher request arrival rate than the state-of-the-art methods.