摘要
大规模语言模型(LLMs)已广泛应用于处理长上下文任务。然而,键值(KV)缓存的大量内存开销在长上下文场景中带来了显著的挑战。现有的无训练KV缓存压缩方法通常集中在量化和令牌修剪上,这些方法有压缩的极限,且过度稀疏会导致严重的性能下降。其他方法设计了具有更少KV开销的新架构,但需要显著的训练开销。为了应对上述两种缺点,我们进一步探索了通道维度上的冗余,并应用了具有较小训练成本的架构级设计。因此,我们引入了CSKV,一种训练高效的通道缩减KV缓存压缩技术:(1) 我们首先分析了KV缓存的奇异值分布,揭示了通道维度上的显著冗余和压缩潜力。基于这一观察,我们建议对键和值层进行低秩分解,并存储低维特征。(2) 为了保持模型性能,我们引入了一个双分支KV缓存,包括一个基于窗口的全精度KV缓存和一个低精度压缩的KV缓存。(3) 为了减少训练成本,我们最小化压缩KV缓存的逐层重构损失,而不是重新训练整个LLMs。大量实验表明,CSKV可以在保持模型长上下文能力的同时,将KV缓存的内存开销减少80%。此外,我们展示了我们的方法可以无缝结合量化进一步减少内存开销,实现高达95%的压缩比。