论文

KARA:通过滑动窗口 KV 缓存压缩进行高效推理 LLM 服务

KARA: Efficient Reasoning LLM Serving via Sliding-Window KV Cache Compression

模型推理KV Cache

摘要

推理语言模型通常会产生较长的思想链(CoT),在解码阶段会积累大量的 KV 缓存,导致较高的解码延迟和有限的吞吐量。为了解决这些问题,KV 缓存压缩已成为一种有前景的技术,通过选择性地删除不重要的 KV 对,同时保留有用的 KV 对以供后续解码来减少内存开销。尽管如此,我们还是发现了现有 KV 缓存压缩方法的两个关键限制:1)它们的阈值触发压缩策略可能会提供有限的吞吐量改进甚至降低吞吐量,并且可能会从序列的某些块中完全消除 KV 对,从而可能加剧信息丢失。 2)它们通常保留孤立的 KV 对或具有严格边界的固定大小的块,无法在任意标记位置保留重要的灵活大小的块。为了克服这些限制,我们提出了 Kara,一种滑动窗口 KV 缓存压缩方法,通过仅对最近生成的上下文进行操作来执行解码时压缩。 Kara 利用双向注意力来评分并选择窗口中信息丰富的 KV 对。为了能够灵活地保存重要的语义信息,我们设计了一个 Token2Chunk 模块,将选定的 KV 对的子集扩展为块。此外,我们将 Kara 适配到 PagedAttention 并开发了 KvLLM,这是一个基于 vLLM 构建的推理框架,减少了 KV 缓存的使用,有效提高了输出吞吐量。大量实验证明了所提出的 Kara 和 KvLLM 的一致性能改进。