LLM 推理内存救星:详解 KV 缓存压缩的 10 大核心技术,从 H2O 驱逐到 DeepSeek MLA

AI合集6个月前发布 小马良
399 0

随着大型语言模型(LLM)上下文窗口的不断扩展(从 4k 到 128k 甚至更长)以及并发用户数的激增,键值缓存(KV Cache) 已成为生产级推理系统中最大的内存瓶颈。

对于一个 300 亿参数的模型,在批次大小为 128、输入长度为 1,024 token 的场景下,KV 缓存可占用高达 180 GB 的显存——远超模型参数本身(约 60-70 GB)。这不仅限制了批次大小,更直接制约了系统吞吐量。

幸运的是,无需重新训练基础模型,通过 KV 缓存压缩技术 即可显著缓解这一压力。本文深度解析当前最重要的 10 大压缩策略,涵盖 Token 驱逐、量化、低秩分解及架构创新,助你打造高吞吐、低延迟的推理服务。

一、Token 驱逐:只保留“重要”的记忆

这类方法通过在生成过程中动态丢弃不重要的 KV 对,以固定预算维持缓存大小。

1. H2O (Heavy-Hitter Oracle)

  • 原理:基于“重击者”假设——少数 Token 贡献了大部分注意力权重。H2O 动态平衡保留最近 Token 和高分 Heavy-Hitter Token。
  • 优势:无需训练,硬件友好。在 OPT-30B 上可将吞吐量提升 29 倍。
  • 局限:仅作用于解码阶段,无法减少预填充计算量。

2. StreamingLLM

  • 原理:专为无限长流设计。始终保留初始 Token(作为注意力锚点)和最近 Token(滑动窗口)。
  • 优势:极速且稳定,适合实时对话流。
  • 局限:不使用重要性评分,可能丢弃中等上下文中语义关键的 Token。

3. SnapKV

  • 原理:针对预填充阶段优化。利用提示末尾的观察窗口,聚合注意力分数以投票选出前缀中的重要位置。
  • 优势:比 H2O 更精确,针对特定头选择关键 KV,已成为预填充压缩的基线。

4. PyramidKV / PyramidInfer

  • 原理:打破统一预算限制。发现关键 KV 数量随层数加深而递减,因此为不同层分配金字塔形的缓存大小。
  • 优势:PyramidInfer 在预填充早期即减少计算和内存,显著提升效率。

二、量化:用更低比特表示相同信息

这类方法通过降低 KV 缓存的数值精度来减少内存占用,保留所有 Token。

5. KIVI

  • 原理:即插即用的 2-bit 量化。对 Key 进行逐通道量化,对 Value 进行逐 Token 量化,适应其分布差异。
  • 优势:无需微调,峰值内存减少 2.6 倍,批次大小可增加 4 倍。

6. KVQuant

  • 原理:校准的多组件低比特量化。结合逐通道 Key 量化、RoPE 前量化、灵敏度加权非均匀量化及稠密-稀疏分解。
  • 优势:支持极低比特宽度,在极长上下文部署中保持更高准确性。

7. TurboQuant

  • 原理:解决量化偏差问题。通过随机正交旋转均匀分布方差,并应用 1-bit Johnson-Lindenstrauss 校正以消除内积估计偏差。
  • 优势:无需离线准备,适用于任何模型,提供无偏的内积估计。

三、架构与创新:从源头减少缓存

这类方法通过修改模型架构或引入新的表示形式,从根本上降低 KV 缓存需求。

8. MQA & GQA (多查询/分组查询注意力)

  • 原理:MQA 让所有查询头共享单一 KV 头;GQA 将查询头分组共享 KV 头。
  • 现状:GQA 已成为现代开源 LLM(如 Llama 3, Mistral)的事实标准,在性能与内存间取得良好平衡。
  • 注意:需从头训练或微调,不可直接应用于预训练模型。

9. MLA (多头潜在注意力 – DeepSeek)

  • 原理:DeepSeek-V2 的核心创新。将 KV 投影到低维潜在向量中存储,而非全维度张量。
  • 优势:KV 缓存减少高达 93.3%,同时性能优于标准多头注意力。彻底改变了大模型的内存经济性。

10. 低秩 KV 缓存压缩 (如 Palu)

  • 原理:利用 KV 矩阵在长上下文中的低秩特性,通过低秩投影减小隐藏维度。
  • 优势:与驱逐和量化正交,可堆叠使用以实现复合压缩。

技术对比与选型建议

技术类别代表方法优点缺点/限制适用场景
Token 驱逐H2O, SnapKV无需训练,实现简单永久丢失信息,可能影响长程依赖长文本摘要、对话历史管理
量化KIVI, KVQuant保留所有 Token,精度损失小需特定内核支持,调试复杂高并发服务、显存受限环境
架构创新GQA, MLA根本性解决,效率极高需重新训练或微调模型新模型训练、DeepSeek 系列部署
低秩压缩Palu可与其他方法叠加研究阶段,工程化成熟度较低实验性优化、极致压缩需求

关键要点

  1. 内存是瓶颈:KV 缓存增长与序列长度和批次大小成正比,压缩是高吞吐服务的必经之路。
  2. 没有银弹:
    • 驱逐快但丢信息;
    • 量化保信息但需硬件支持;
    • 架构(如 MLA)最彻底但需重训。
  3. 组合拳效果佳:在实际生产中,常将 GQA/MLA(架构)+ KIVI(量化)+ SnapKV(驱逐)结合使用,以实现极致优化。
  4. 未来趋势:2026 年的研究正向潜在空间压缩和感知推理压缩演进,进一步挖掘冗余。
© 版权声明

相关文章