论文

IceCache:长序列的内存高效 KV 缓存管理 LLM

IceCache: Memory-efficient KV-cache Management for Long-Sequence LLMs

模型推理KV Cache

摘要

键值(KV)缓存通过存储中间注意力状态并避免自回归生成期间的冗余计算,在加速 大语言模型(LLM)中的推理方面发挥着至关重要的作用。然而,其内存占用量随序列长度线性扩展,通常会导致资源受限的硬件出现严重的内存瓶颈。之前的工作已经探索将 KV 缓存卸载到 CPU,同时仅保留 GPU 上的一个子集,但这些方法通常依赖于不精确的标记选择,并且在思想链推理等长代任务中会遭受性能下降。在本文中,我们提出了一种新颖的 KV 缓存管理策略 IceCache,它将语义标记聚类与 PagedAttention 相结合。通过将语义相关的词元组织到由分层、动态可更新的数据结构管理的连续内存区域中,我们的方法可以在 CPU-GPU 传输期间实现更有效的词元选择和更好地利用内存带宽。 LongBench 上的实验结果表明,使用 256-词元预算,IceCache 保持了全 KV 缓存模型原始精度的 99%。此外,与其他基于卸载的方法相比,IceCache 在仅使用 25% 的 KV 缓存 词元预算 的情况下,获得了具有竞争力甚至优越的延迟和准确性,证明了其在长序列场景中的有效性。该代码可在我们的项目网站 https://yuzhenmao.github.io/IceCache/ 上获取。