将 LLM KV 缓存压缩至 3 位:Google Research 的 TurboQuant
Google Research 开发了 TurboQuant——一种将大型语言模型 (LLM) 的键值缓存 (KV cache) 压缩到每个参数 3 位的方法。该算法在不进行重新训练或增加额外内存开销的情况下,保持生成准确性。TurboQuant 结合了用于主要量化的 PolarQuant 和用于误差校正的 QJL,从而实现对长上下文的 6–8 倍加速处理。
KV 缓存在序列处理过程中积累注意力机制的中间表示。对于 128k+ token 的上下文,缓存大小会超过数 GB,从而限制 GPU 推理性能。TurboQuant 通过将数据转换为极坐标并施加一位校正来解决这个问题。
算法工作原理
TurboQuant 由两个阶段组成:
- PolarQuant:将 KV 向量转换为极坐标。幅度量化为高精度(8–16 位),相位压缩至 1–2 位。这能最小化主成分上的误差。
- QJL (Quantized Joint Learning):对残差伪影进行一位后校正。不需要梯度训练,并在推理时运行。
这种组合实现 3 位表示,而不增加困惑度。该方法被证明是对注意力矩阵理论压缩下界的最优解。
基准测试与性能
在开源模型 Gemma-2B/7B 和 Mistral-7B 上的测试显示:
- KV 缓存内存压缩 6–10 倍。
- 在 H100 GPU 上注意力计算加速高达 8 倍(3 位 vs FP32 基线)。
- 在 Needle In A Haystack (NIAH) 测试中,对于高达 128k token 的上下文,准确率完美——0% 事实检索错误。
| 基准测试 | FP32 (基线) | TurboQuant 3 位 | 相对加速 |
|--------------|-------------|-----------------|----------------------|
| LongBench | 100% | 99.8% | 内存 6.2 倍,速度 7.1 倍 |
| RULER | 100% | 100% | 速度 8.3 倍 |
| NIAH | 100% | 100% | 内存 6.8 倍 |
在 4 位模式下,在 H100 上加速达到峰值,在 A100/H200 上呈线性扩展。
LLM 之外的应用
TurboQuant 可应用于 RAG 系统中的向量搜索和语义排序。在 ANN 基准测试 (SIFT, GIST) 上,性能优于 FP16 量化:
- Recall@10:比 Int8 基线高 2–5%。
- 延迟:降低 4–6 倍,无需重新训练索引。
该算法与领域无关,便于生产部署。对于 LLM,它可无缝集成到 vLLM 或 Hugging Face TGI 等推理框架中,无需修改模型。
中高级开发者的关键优势:
- 零样本量化——即插即用。
- 长上下文任务的全精度准确性。
- 多 GPU 环境的可扩展性。
关键要点
- TurboQuant 将 LLM KV 缓存压缩至 3 位,在无质量损失的情况下加速推理 8 倍。
- 两阶段算法(PolarQuant + QJL)在数学上最优,无需微调。
- 与 Gemma/Mistral 完全兼容;非常适合 100k+ token 上下文。
- 扩展至向量搜索:召回率更高,占用空间缩小 6 倍。
- ICLR 2026 展示——预计开源实现。
该方法对于生产环境中扩展 LLM 至关重要,因为 KV 缓存内存是主要瓶颈。(总长度:约 3200 字符)
— Editorial Team
暂无评论。