©PaperWeekly 原创 · 作者 | 张介宾论文标题:
More Tokens, Lower Precision: Towards the Optimal Token-Precision Trade-off in KV Cache Compression
论文作者:
Jiebin Zhang, Dawei Zhu, Yifan Song, Wenhao Wu, Chuqiao Kuang, Xiaoguang Li , Lifeng Shang, Qun Liu, Sujian Li
论文链接:
https://arxiv.org/pdf/2412.12706
代码链接:
https://github.com/zhzihao/QPruningKV
简介
KV cache 技术通过缓存已经计算好的 key、value 向量(KV),大幅减少了推理的时间。然而随着大语言模型(LLM)的窗口长度增长,KV cache 的内存占用成为了推理时候的新瓶颈。
很多工作开始探讨如何压缩 KV cache 的内存。压缩 KV cache 的内存不仅能减少推理时候的内存开销,还可以减少解码时候的时间消耗,因为解码步骤一般是带宽瓶颈的。现有的 KV cache 压缩工作主要包括 KV Pruning 和 KV Quantization。KV Pruning 方法通过一些特征筛选掉 KV cache 中不重要的 Token,从 Token 的角度进行压缩。KV Quantizaiton 方法则通过使用更低的精度保留 KV cache,从 Precision 的角度进行压缩。
这些方法都取得了很好的压缩效果,然而却忽视了在实际使用时候,一般是在给定的内存 Budget 下进行推理。此时一个很重要的研究问题应该是如何在给定的内存 Budget 下权衡 Token 或者 Precsion 以达到最佳的推理效果,而不仅仅依赖于对单一的维度进行压缩。
本文着重分析了这个问题,即在给定 KV cache 的内存 Budget 下如何权衡 Token 和 Precision 以达到更好的效果。具体来说,本文首先论证了 Token 和 Precision 联合压缩的可行性,并发现不同的内存 Budget 下使用更少的精度来保留更多的 Token 都可显著提高推理的性能。文章进而细致地分析了 Token 和 Precision 的 Trade-off 在不同任务类型和输入长度上的效果,以及受模型 Scale,量化策略,层间策略等多种因素的影响情况。上表为对 KV Pruning 后进一步量化的结果,表中汇报了 Llama-3-8B 在 LongBench 和大海捞针上的效果。
KV Pruning 方法使用了比较有代表性的 StreamingLLM,H2O,SnapKV,PyramidKV;KV Quantization 方法则使用了 KIVI。可以看出 KV Pruning 下保存不同的 Token 数量时继续量化至 4bit 都只有很小的性能损失。而 Token 数量的变化相比 Precision 对结果的影响则更显著一些。
上图进而比较了不同的 KV Cache Budget 下三种设置的性能变化。这三种设置分别是:- 1 倍的 Token 数目,用 16bit 精度保存(即单纯的 KV Pruning);
- 2 倍的 Token 数目,用 8bit 精度保存;
- 4 倍的 Token 数目,用 4bit 精度保存。
这三种设置有着接近的内存占用。可以看出更多 Token 更少精度的设置在各种情况下都比单纯的 KV Pruning 有可观的性能提升,尤其是在极低内存 Budget 的情况下。本文继续对 Token 和 Precision 的 Trade-Off 进行了深入的分析,主要包括这个 Trade-off 对任务类型和输入长度的影响。同时还分析了其他重要的因素,例如模型 Scale、量化策略的影响,以及层粒度的 Token 和精度的权衡。
上表列出了三种设置在 LongBench 上的 6 种子任务类型以及 RULER 这个检索任务上的效果。
可以看出更多的 Token 显著的提高了检索任务 RULER 的效果,在比较需要检索的任务上例如单文档 QA 或者摘要任务上都取得了不错的性能提升。而对于不那么需要检索而更多需要推理的合成任务或者多文档 QA 上,性能提升则比较有限。
本文进一步探索了不同设置在不同层上的影响,上图用 4 倍 Token,4bit 作为 baseline,并调整横轴中包括的层的设置,并汇报相对于 baseline 的性能变化。可以看出中间层给更多 Token 比较重要,尤其对检索任务。而在开头和结尾的那些层改变 Token 和精度则影响较小。
对于更多其他因素的影响请参见原文,总体来说更多的 Token 更少精度的策略受各种因素的影响都比较小,展现了较好的性能和稳定性。本文的贡献主要包括三部分:
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
📝 稿件基本要求:
• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算
📬 投稿通道:
• 投稿邮箱:[email protected]
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧