论文: 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:

  1. 对每个KV向量应用随机正交旋转(Random Orthogonal Rotation)
  2. 旋转后的坐标遵循Beta分布(能量均匀分布)
  3. 由于分布已知,Lloyd-Max最优标量量化器可预先计算
  4. 对每个坐标独立应用最优量化

阶段 2 — QJL (Quantized Johnson-Lindenstrauss):

  1. 对阶段1的残差误差(residual error)进行仅1比特的校正
  2. 消除内积(inner product)估计的偏差(bias)
  3. 数学上保证注意力分数的准确性

基准测试结果

指标 数值
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倍。