论文: TurboQuant: 在线向量量化与近乎最优的失真率 作者: Amir Zandieh, Majid Daliri, Majid Hadian, Vahab Mirrokni (Google Research, KAIST, NYU) 链接: https://arxiv.org/abs/2504.19874
论文核心
TurboQuant是由Google Research发布的向量量化(Vector Quantization)算法,通过将LLM的KV缓存压缩至3比特且几乎无精度损失的创新方法。其核心是无需训练数据或校准、微调的无需训练方式。
为什么KV缓存压缩很重要
"TurboQuant achieves near-optimal distortion rates for both MSE and inner product distortion, differing from information-theoretic lower bounds by only a constant factor of ≈2.7."
在LLM推理时,KV缓存占据了大部分内存。处理较长的上下文时,KV缓存会呈指数增长,导致GPU内存成为瓶颈。
两阶段算法
TurboQuant以数学上优雅的两阶段管道运行:
阶段 1 — PolarQuant:
- 对每个KV向量应用随机正交旋转(Random Orthogonal Rotation)
- 旋转后的坐标遵循Beta分布(能量均匀分布)
- 由于分布已知,Lloyd-Max最优标量量化器可预先计算
- 对每个坐标独立应用最优量化
阶段 2 — QJL (Quantized Johnson-Lindenstrauss):
- 对阶段1的残差误差(residual error)进行仅1比特的校正
- 消除内积(inner product)估计的偏差(bias)
- 数学上保证注意力分数的准确性
基准测试结果
| 指标 | 数值 |
|---|---|
| KV缓存压缩 | 在3.5比特时质量中立(quality neutral) |
| 内存节省 | KV缓存内存减少4~6倍 |
| 推理速度 | 在H100上注意力logit计算加速最多8倍 |
| 最小有效比特 | 即使在2.5比特也仅有轻微的质量下降 |
| 理论最优性 | 与信息论下限相比约在2.7倍以内 |
与现有方法的区别
| 特性 | 现有量化 (GPTQ, AWQ等) | TurboQuant |
|---|---|---|
| 需要训练数据 | 需要校准数据 | 不需要 (无需训练) |
| 模型特定 | 需要针对模型调优 | 通用 (任意transformer) |
| 应用对象 | 权重(weight)量化 | KV缓存量化 |
| 理论保证 | 经验验证 | 信息论的最优性证明 |
| 误差校正 | 无或启发式 | 通过QJL消除数学偏差 |
KV缓存之外的应用
TurboQuant并不限于KV缓存:
- 近邻搜索(ANN): 相较于现有的Product Quantization,召回率(recall)更优
- 高维嵌入压缩: 降低向量数据库的存储成本
- 通用向量量化: 可应用于任何高维欧几里得向量
实际意义
TurboQuant是可以立即应用于LLM推理基础设施的优化。由于无需训练,可以在不修改现有模型的情况下,仅应用于推理管道的KV缓存层。社区实现已在vLLM、llama.cpp等中进行,并且在需要处理长上下文的服务(文档分析、RAG、代理)中效果最佳。GPU内存减少6倍直接意味着基础设施成本减少6倍。