随着大型语言模型(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 | 可与其他方法叠加 | 研究阶段,工程化成熟度较低 | 实验性优化、极致压缩需求 |
关键要点
- 内存是瓶颈:KV 缓存增长与序列长度和批次大小成正比,压缩是高吞吐服务的必经之路。
- 没有银弹:
- 驱逐快但丢信息;
- 量化保信息但需硬件支持;
- 架构(如 MLA)最彻底但需重训。
- 组合拳效果佳:在实际生产中,常将 GQA/MLA(架构)+ KIVI(量化)+ SnapKV(驱逐)结合使用,以实现极致优化。
- 未来趋势:2026 年的研究正向潜在空间压缩和感知推理压缩演进,进一步挖掘冗余。
© 版权声明
文章版权归作者所有,未经允许请勿转载。















