- 简介一种有效部署计算密集型大型语言模型(LLM)的关键方法是键值(KV)缓存。KV缓存存储先前生成的标记的键值状态,显著降低了重复计算的需求,从而降低了自回归生成中的延迟。然而,KV缓存的大小随序列长度呈线性增长,对于需要长上下文输入和广泛序列生成的应用程序而言,这带来了挑战。本文提出了一种简单而有效的方法,称为MiniCache,从新颖的深度角度压缩KV缓存中的层,从而显著减少LLM推理的内存占用。我们的方法基于这样一个观察结果,即LLM的中到深部分相邻层之间的KV缓存状态具有高度相似性。为了促进合并,我们提出将状态分解为大小和方向组件,插值状态向量的方向,同时保持它们的长度不变。此外,我们引入了一种标记保留策略,以保持高度不同的状态对未合并,从而以最小的额外存储开销保留信息。我们的MiniCache无需训练,通用性强,是现有KV缓存压缩策略(如量化和稀疏性)的补充。我们对MiniCache进行了全面评估,使用了包括LLaMA-2、LLaMA-3、Phi-3、Mistral和Mixtral在内的各种模型,并跨多个基准测试进行了测试,证明了其在实现卓越的压缩比和高吞吐量方面的出色性能。在ShareGPT数据集上,具有4位MiniCache的LLaMA-2-7B实现了显著的压缩比高达5.02倍,将推理吞吐量提高了约5倍,与FP16全缓存基线相比,内存占用减少了41%,同时保持了近乎无损的性能。
-
- 图表
- 解决问题本文旨在解决大型语言模型(LLMs)中Key-Value(KV)缓存的内存占用问题,提出了一种名为MiniCache的简单而有效的方法。
- 关键思路MiniCache通过从深度角度压缩层间的KV缓存状态,将状态分解为大小和方向两个部分,插值方向部分并保持长度不变,进而实现高压缩比和高吞吐量。
- 其它亮点MiniCache是一种无需训练的通用方法,能够在多个基准测试中实现卓越的性能表现,如在ShareGPT数据集上,LLaMA-2-7B使用4位MiniCache实现了高达5.02x的压缩比,提高了约5倍的推理吞吐量,同时将内存占用降低了41%。
- 与MiniCache相关的研究包括量化和稀疏化等KV缓存压缩策略。
NEW
提问交流
提交问题,平台邀请作者,轻松获得权威解答~
向作者提问

提问交流