TurboQuant:用 3-bit 把 KV Cache 压 6 倍,Google 给内存芯片上了一课
TurboQuant用 3-bit 把 KV Cache 压 6 倍Google 给内存芯片上了一课核心摘要大模型推理的瓶颈早就不在算力了——是内存带宽。当你的 LLM 在 128K 上下文下跑不动不是 GPU 不够快是显存装不下那么长的 KV Cache。Google Research 提出的 TurboQuant 给出了一个近乎暴力的解法把 KV Cache 量化到 3-bit压缩 6 倍推理加速 8 倍精度几乎零损失。这不是工程 trick而是有信息论下界证明的算法突破——在 3.5 bits 时达到质量中性意味着再往下压也不会更差了因为已经接近理论最优。 问题背景内存才是 LLM 推理的真正瓶颈你可能觉得大模型推理慢是因为计算量大。但在实际部署中内存带宽才是真正的瓶颈。KV Cache 为什么这么大Transformer 模型在推理时需要缓存每一层的 Key 和 Value 矩阵这就是 KV Cache。问题来了假设 Llama-3.1-70B128K 上下文 - 每个 token 需要 2 × num_layers × hidden_dim × 2 bytes (FP16) - 大约 70GB 显存光是 KV Cache 就吃掉一大半这就是为什么 128K 上下文的模型在消费级显卡上根本跑不起来——不是算不过来是装不下。现有压缩方案的局限方法问题INT8 量化只能压 2 倍不够激进乘积量化 (PQ)需要离线训练码本索引时间长几百秒KIVI / SnapKV压缩率有限长上下文还是会 OOM传统量化需要存储量化参数零点、缩放因子有额外开销核心矛盾想要高压缩率就得接受精度损失想要保持精度就压不下去。有没有办法打破这个魔咒 TurboQuant 的核心洞察TurboQuant 的关键发现是高维向量在随机旋转后坐标会变得近似独立且服从已知分布。这听起来像数学废话但它的实际意义是传统量化需要分析数据分布训练码本存储量化参数 TurboQuant随机旋转 → 坐标独立 → 直接用最优标量量化器 → 无需额外参数两个关键数学特性1. 随机旋转后的坐标分布对向量x\bm{x}x乘以随机旋转矩阵Π\bm{\Pi}Π后每个坐标yjy_jyj服从 Beta 分布在高维时收敛于正态分布N(0,1/d)\mathcal{N}(0, 1/d)N(0,1/d)yj(Π⋅x)j∼Beta(12,d−12)y_j (\bm{\Pi} \cdot \bm{x})_j \sim \text{Beta}\left(\frac{1}{2}, \frac{d-1}{2}\right)yj(Π⋅x)j∼Beta(21,2d−1)2. 坐标之间的近似独立性高维空间中旋转后不同坐标之间近似独立。这意味着原本需要解决复杂的向量量化问题 现在可以逐坐标独立应用标量量化器两阶段架构MSE 无偏内积TurboQuant 实际上提供了两种算法算法目标特点TurboQuant_mse最小化 MSE单阶段有偏内积估计TurboQuant_prod无偏内积估计两阶段用于注意力计算图1TurboQuant_mse 在 1~4 bit 下的内积失真直方图。可以看到 3-bit 时分布已非常集中于零附近4-bit 时几乎完全集中验证了算法的量化误差控制能力。图2TurboQuant_prod 对比 TurboQuant_mse分布更加对称且均值更接近零体现了第二阶段 QJL 量化消除偏差的效果。为什么需要两阶段纯 MSE 量化器在内积估计中存在偏差。在注意力机制中Query 和 Key 的内积直接决定注意力权重——偏差会导致注意力分数偏移影响生成质量。TurboQuant_prod 的两阶段流程第一阶段MSE 量化 (b-1 bits) ├── 捕获向量的主要信息和强度 └── 得到粗略估计 残差 第二阶段QJL 量化 (1 bit) ├── 对残差应用 Johnson-Lindenstrauss 变换 ├── 只保留符号位 (1/-1) └── 消除偏差实现无偏内积估计 算法详解TurboQuant_mse 工作流程[初始化阶段] 1. 生成随机旋转矩阵 Π ∈ ℝ^(d×d) 2. 通过 Lloyd-Max 算法计算最优质心 c_1, ..., c_{2^b} [量化过程] 输入向量 x 1. y ← Π · x # 随机旋转 2. idx_j ← argmin_k |y_j - c_k| # 找最近质心 输出索引向量 idx [反量化过程] 输入索引向量 idx 1. ̃y_j ← c_{idx_j} # 查表重构 2. ̃x ← Π^⊤ · ̃y # 反向旋转 输出重构向量 ̃x失真上界Dmse≤3π2⋅14bD_{\text{mse}} \leq \frac{\sqrt{3}\pi}{2} \cdot \frac{1}{4^b}Dmse≤23π⋅4b1位宽理论失真1-bit0.362-bit0.1173-bit0.034-bit0.009图3TurboQuant_mse 的 MSE 失真蓝色实线随位宽指数衰减始终介于信息论下界绿色虚线4−b4^{-b}4−b和理论上界红色虚线3π2⋅4−b\sqrt{3}\frac{\pi}{2} \cdot 4^{-b}32π⋅4−b之间差距仅约常数倍。TurboQuant_prod 工作流程[量化过程] 输入向量 x 1. idx ← Quant_mse(x) # 第一阶段 MSE 量化 (b-1 bits) 2. r ← x - DeQuant_mse(idx) # 计算残差 3. qjl ← sign(S · r) # QJL 符号 (1 bit) 4. γ ← ||r||_2 # 残差模长 输出(idx, qjl, γ) [反量化过程] 输入(idx, qjl, γ) 1. ̃x_mse ← DeQuant_mse(idx) # 第一阶段重构 2. ̃x_qjl ← (√(π/2) / d) · γ · S^⊤ · qjl # QJL 重构 3. ̃x ← ̃x_mse ̃x_qjl # 合并 输出最终重构向量关键性质——无偏性E[⟨y,x~⟩]⟨y,x⟩\mathbb{E}[\langle \bm{y}, \tilde{\bm{x}} \rangle] \langle \bm{y}, \bm{x} \rangleE[⟨y,x~⟩]⟨y,x⟩这意味着内积估计的期望等于真实内积没有系统性偏差。图4TurboQuant_mse蓝线和 TurboQuant_prod紫线的内积误差随位宽指数下降均介于理论下界绿虚线和上界红虚线之间且 prod 版本在高位宽时更接近下界。 实验结果1. Needle-In-A-Haystack大海捞针测试在 4x 压缩内存压缩比 0.25下测试 Llama-3.1-8B-Instruct方法得分Full-Precision (无压缩)0.997SnapKV0.858PyramidKV0.895KIVI0.981PolarQuant0.995TurboQuant0.997结论TurboQuant 在 4x 压缩下实现了与全精度模型完全相同的性能。下面的热力图更直观地展示了各方法在不同上下文长度和深度位置上的得分分布图5SnapKV压缩比 0.25在多个深度位置和 token 长度上出现大量失分黄色/红色说明 token 选择策略的局限性。图6PyramidKV 同样在相近区域出现失分说明金字塔式分层的预算分配仍有盲区。图7KIVI 整体表现较好仅少量边缘位置出现失分但并未达到全精度水平。图8PolarQuant 热力图接近全绿仅极少位置有轻微失分是 TurboQuant 之前最强的对比方法。图9TurboQuant_mse 在所有位置几乎满分仅右上角极远处有极小失分。图10TurboQuant_prod 热力图与 TurboQuant_mse 类似整体覆盖全面两者均与全精度模型0.997持平。2. LongBench端到端生成质量模型方法位宽平均分Llama-3.1-8BFull Cache16 bits50.06KIVI5 bits50.16PolarQuant3.9 bits49.78TurboQuant3.5 bits50.06TurboQuant2.5 bits49.44Ministral-7BFull Cache16 bits49.89TurboQuant2.5 bits49.62关键发现3.5 bits 实现质量中性——与全精度模型得分完全相同50.06。3. 最近邻搜索索引时间对比维度PQRabitQTurboQuant20037.04s597.25s0.0007s1536239.75s2267.59s0.0013s3072494.42s3957.19s0.0021sTurboQuant 的索引时间几乎为零——因为它不需要训练码本可以直接在线量化。除了速度TurboQuant 的召回率也不输有离线训练优势的 PQ 和 RabitQ图11在近似最近邻搜索中TurboQuant 4-bit深蓝实线的召回率与 PQ 4-bit红色虚线接近且 TurboQuant 2-bit青色线虽然稍低但索引构建完全在线、毫秒级完成而 PQ 需要离线训练数百秒。4. 推理加速在 H100 GPU 上4-bit TurboQuant 相比 32-bit 原始表示注意力 logits 计算加速 8 倍运行时开销可忽略 为什么 TurboQuant 能这么强理论保证接近信息论下界论文证明了任何向量量化器的失真下界MSE 下界≥14b\geq \frac{1}{4^b}≥4b1内积失真下界≥1d⋅14b\geq \frac{1}{d} \cdot \frac{1}{4^b}≥d1⋅4b1TurboQuant 的失真仅比理论下界差约2.7 倍的常数因子。这意味着什么在信息论意义上TurboQuant 已经接近最优。再往下压任何算法都不可能做得更好。下图展示了 TurboQuant_prod 在不同向量夹角avg IP场景下的内积失真分布验证了其在各种数据分布下的稳定性图12在 avg IP 从 0.01几乎正交到 0.17有一定相关性的场景下TurboQuant_prod 的内积失真分布始终以零为中心说明无偏性在不同数据分布下均成立。数据无关零调参成本传统量化方法如 PQ需要收集校准数据训练码本几百秒数据分布变化时重新训练TurboQuant随机旋转矩阵——不用学最优标量量化器——有闭式解完全数据无关即插即用无额外存储开销传统量化需要为每个数据块存储零点zero-point全精度缩放因子scale全精度这些量化参数本身就要占 1-2 bits部分抵消了压缩收益。TurboQuant 利用随机旋转后的坐标分布已知Beta 分布不需要存储任何量化参数。 与其他工作的关系TurboQuant 并非凭空出现它整合了多项前置工作的思想PolarQuantAISTATS 2026PolarQuant 将向量转换为极坐标半径 角度发现角度分布紧密有界无需显式归一化。TurboQuant 在第一阶段使用了 PolarQuant 的思想通过坐标变换使数据落入已知分布。QJLQuantized Johnson-LindenstraussQJL 是一种 1-bit 量化方法将向量投影到随机方向后只保留符号。它的关键性质是提供无偏的内积估计。TurboQuant 在第二阶段使用 QJL 来消除 MSE 量化器的偏差。与工业界方案的对比方案压缩率精度损失训练成本部署复杂度KIVI~3x小无低SnapKV~3x中无中TurboQuant6x几乎为零无低TurboQuant 在压缩率和精度上都优于现有方案同时保持了零训练成本和低部署复杂度。⚠️ 局限性与思考1. 旋转矩阵的计算开销虽然旋转本身是O(d2)O(d^2)O(d2)的矩阵乘法但对于高维向量如 1536 维仍有计算开销。论文提到可以使用 Hadamard 变换或 FFT 加速将复杂度降到O(dlogd)O(d \log d)O(dlogd)。2. 残差模长的存储TurboQuant_prod 需要额外存储残差模长γ\gammaγ这增加了少量开销。不过模长是标量存储成本可以忽略。3. 实际部署的工程挑战TurboQuant 开源项目发现了一些论文未提及的工程细节K/V 非对称压缩Key 对精度更敏感建议 Key 用 8-bitValue 可以用更低位宽边界层保护模型的首尾层对量化更敏感需要特殊处理4. 绝对性能 vs 相对性能虽然 TurboQuant 在相对指标上表现优异但 3-bit 量化的绝对性能仍有提升空间。在极端压缩场景如边缘设备可能需要结合其他技术如稀疏化进一步提升。 更深层的启示LLM 的参数冗余TurboQuant 再次印证了一个观点LLM 的表示空间存在大量冗余。冗余在哪里位置冗余类型压缩极限模型权重参数冗余INT4 (~4x)KV Cache状态冗余3-bit (~6x)这暗示了一个更深层的问题LLM 学到的表示中有多少是真正有用的信息又有多少是可以被压缩掉的噪声冗余是好是坏好的方面提供鲁棒性对抗噪声和分布外样本支持多任务泛化可能隐含隐式集成效果坏的方面推理时内存/计算浪费部署成本高可能过度记忆训练数据TurboQuant 证明了至少 6 倍的 KV Cache 信息是可以被安全压缩的。这些冗余对模型性能几乎无害。 总结TurboQuant 是理论优雅 工程实用的典范维度TurboQuant 的表现压缩率6x3.5 bits 实现质量中性精度损失几乎为零训练成本零数据无关部署复杂度低即插即用理论保证接近信息论下界常数因子 2.7推理加速8xH100 上注意力计算它不仅是一个压缩算法更是对 LLM 表示空间的一次深入探索。当我们可以把 KV Cache 压到 3-bit 而几乎无损时不禁要问模型里还有多少水分可以被挤掉参考文献Amir Zandieh, Majid Daliri, Majid Hadian, Vahab Mirrokni. “TurboQuant: Online Vector Quantization with Near-optimal Distortion Rate.” ICLR 2026.Insu Han et al. “PolarQuant: Quantizing KV Caches with Polar Transformation.” AISTATS 2026.Google Research Blog. “TurboQuant: Redefining AI efficiency with extreme compression.” 2026.TurboQuant 开源项目https://github.com/TheTom/turboquant_plus觉得有启发的话欢迎点赞、在看、转发。跟进最新 AI 前沿关注公众号机器懂语言