论文

Tangram:解锁非均匀 KV 缓存压缩以实现高效的多轮 LLM 服务

Tangram: Unlocking Non-Uniform KV Cache Compression for Efficient Multi-turn LLM Serving

模型推理KV Cache

摘要

多回合 LLM 服务会累积对话历史记录,其键值 (KV) 缓存会随着每个回合和每个用户的增长而增长,很快就会超过模型权重本身,并使内存(而不是计算)成为吞吐量的绑定约束。非均匀 KV 压缩在注意力头之间分配异构预算,其准确性远好于统一方案,但仍然不切实际:现代服务堆栈假定各个头的 KV 长度相同,因此异构性将释放的内存捕获为页面碎片,花费高达 25% 的预填充时间回收分散的页面,并扭曲 GPU 工作负载,使解码延迟增加高达 1.7倍$ 或消耗每次解码的 15--20%重新规划。我们观察到,这种异质性不需要在运行时被发现:头部保留遵循两级结构规律——输入不变的头部排名,每个头部的比率有限——可以从少至 50 个样本进行离线校准。基于这一见解,我们提出了 Tangram,这是一个静态解决现有系统动态处理问题的服务框架:预算预留在调度时修复每个头的压缩后占用空间,从而消除页面回收; Ragged Paging 将相似预算的头聚集到独立的页表中,将碎片变成可回收的内存;提前负载平衡以零运行时间规划预先计算平衡的 GPU 分区。 Tangram 在 vLLM 上实现,可作为现有非均匀压缩方法的直接基础,与它们的精度相匹配,同时将端到端吞吐量比全 KV 基线提高高达 2.6倍$。我们的实现可在 https://github.com/aiha-lab/TANGRAM 上公开获取。