论文

KV-Kaizen:学习上下文自适应缓存压缩选择

KV-Kaizen: Learning Context-Adaptive Cache Compression Choices

模型推理KV Cache

摘要

随着 LLM 处理的文本上下文大小的增加,KV 缓存的大小可能会超出为原始模型权重分配的内存。这会对 LLM 吞吐量产生负面影响,因为解码受内存限制,并且解码成本随着缓存大小的增加而增加。最近的工作通过丢弃最不相关的标记来缓解这一瓶颈。驱逐会带来一种紧张气氛,因为一次性决定放弃内容可能会在以后证明是有害的。相反,我们专注于可以在不驱逐词元的情况下实现缓存压缩的替代选择。我们通过学习一个选择器来实现这一目标,该选择器能够根据上下文生成针对总体压缩预算的每层缓存配置。选择器沿着三个轴运行:跨层共享一个缓存(深度)、以更少的位进行缓存(精度)或截断低秩潜在缓存表示(等级)。我们将生成的方法称为 KV-Kaizen,因为它复合了许多小的每层选择。我们观察到,在所有层上独立且统一地采取的这些干预措施限制了可实现的压缩,因为它们降低了准确性。至关重要的是,在本地并根据上下文自适应地组合它们可以保持准确性,同时节省大量内存。在推理时,选择器在预填充之前运行一次。在对指令遵循和推理任务的评估中,我们的选择器根据缓存大小、免学习和事后基线达到了准确性的帕累托前沿。在长上下文任务中,KV-Kaizen 改进了逐出,并且可以与其组合,在 14B 模型上达到小 32 倍的解码时间缓存,同时保持准确性。缓存大小减少 4 倍不会导致 7B 参数以上的精度下降,并且压缩模型比具有相同缓存大小的较小未压缩模型更准确。总之,这些发现支持对大型模型进行预训练并在事后对其进行压缩。