一个 3 bit 量化方案,听起来就是每个数 3 bit。

但推理系统里的账很少这么干净。很多低比特方法为了压住 outlier channel,会给每个 block 额外存 scale、zero-point。block size 32 时,3 bit payload 外加 32 bit metadata,摊下来约 4 bit/value;block size 16 时,约 5 bit/value。

TurboQuant 的反常点在这里:它不想给每个 block 记比例尺,也不训练、不校准。它先把高维向量做随机正交旋转,再用 2–4 bit 固定 codebook 压每个坐标。

这篇东西值得看的,不是“又一个量化技巧”。它问的是:低比特量化的核心成本,能不能从工程补丁,退回到几何结构本身。

它压什么,省哪笔账

TurboQuant 主要盯的是高维 AI 向量,不是泛泛的权重量化。

问题TurboQuant 的答案对系统的影响
压缩对象KV cache、embedding、attention key 等向量这些场景都对内积误差敏感
每个坐标2–4 bit目标是压低存储和带宽压力
额外信息不存 per-block scale/zero-point少掉 metadata、读取和解码开销
前置条件不训练、不校准更接近 data-oblivious 压缩
主要风险旋转、解码、硬件布局仍要付成本纸面 bit 不等于端到端收益

传统 GPTQ、AWQ、KIVI、KVQuant 这类路线,常会按 block 适配量化范围。原因很简单:向量坐标并不总是乖。少数 outlier channel 会把固定量化网格撑坏。

于是系统给每个 block 存一份比例尺。这个选择合理,但不免费。

scale、zero-point 也占显存,也要读,也会影响解码路径。广告牌上写 3 bit,系统账本里可能已经接近 4–5 bit/value。

TurboQuant 真正要砍的,就是这笔暗税。

这对两类人最直接。

做大模型推理优化、尤其在长上下文里被 KV cache 卡住的团队,不能只看论文里的 payload bit。该多问一句:metadata 算了吗?旋转和反量化放在哪条路径上?

做向量检索、embedding 压缩的人,也该把它当成一个候选方向看,但别急着迁移。内积排序比 MSE 更挑剔,轻微偏差也可能改变 top-k。

随机旋转为什么能让固定码本可用

TurboQuant 的核心动作很干净:对向量乘一个随机正交矩阵。

正交旋转不改变长度,也不改变两个向量的内积。几何关系还在,只是换了坐标系。

关键变化发生在坐标分布上。原来集中在少数 channel 上的尖峰能量,会被摊到更多坐标里。

高维空间给了这件事可乘之机。旋转后的单个坐标,像许多原始坐标的随机加权和。维度足够高时,分布会更稳定。

outlier 不再像一根刺扎在某个 channel 上,而是被打散成更均匀的噪声。固定 codebook 才有机会工作。

路线处理 outlier 的方式代价适合观察的指标
block 级量化每个 block 存 scale/zero-pointmetadata 增加,解码更复杂bit/value、带宽、延迟
TurboQuant随机旋转后用固定 codebook旋转计算、布局和硬件适配内积误差、吞吐、端到端显存

这套逻辑漂亮,但不能把漂亮当落地。

旋转要算。解码路径要改。硬件是否友好,要看具体实现。2–4 bit 不等于最终显存、带宽、延迟都会按比例下降。

KV cache 场景尤其现实。瓶颈可能在访存,也可能在 batch 形态,也可能在 attention kernel 的布局。一个压缩方法如果让 kernel 变难写,收益会被吃掉一截。

还有一个细节不能糊弄:MSE 小,不代表 attention inner product 的估计无偏。

TurboQuant 原文区分 biased / unbiased,这点很要紧。对检索和 attention score 来说,随机噪声可以被平均,系统性偏差会悄悄改排序、改权重。

所以接下来该看四件事:不同模型上的内积误差,长上下文里的质量损失,旋转和解码的 kernel 成本,以及最终 bit/value 是否真的低于带 metadata 的方案。

目前能说的是:它提供了一个干净的几何解释。不能说它已经在所有模型、所有任务上无损。

真问题不是 bit 数,是账本诚不诚实

低比特量化这几年最容易玩的把戏,是只展示 payload bit,不展示 system bit。

这像早期铁路只报铁轨价格,不报桥梁、征地、维护和调度。账不是假的,但少了关键页。天下熙熙,皆为利来;技术论文也一样,最好看的数字总会被放到最显眼的位置。

TurboQuant 的价值,是把被遮住的问题摆回桌面。

如果一个 3 bit 方案必须带一堆 block header,那它就不是干净的 3 bit。低比特竞争不是谁把数字写得更小,而是谁少带隐形行李。

我不把 TurboQuant 吹成生产答案。它更像一篇 first-principles walkthrough,强调机制、几何直觉和 near-optimal distortion。具体任务上损失是否不明显,还得看实验。

但它问对了问题。

为什么 outlier 一出现,我们就默认靠 per-block metadata 修补?有没有可能先改变向量的坐标形态,让统一量化规则重新可用?

如果这个答案在更多系统里成立,低比特量化的分水岭会变。重点不再只是校准技巧多细,而是谁能让数学结构少依赖工程补丁。

对推理服务团队,动作应该是观望但不忽略:别因为 2–4 bit 就马上改架构,先把端到端 bit/value、kernel 成本、质量指标拉到同一张表里。

对做 KV cache 压缩的人,它至少给了一个检查清单:payload、metadata、旋转、解码、内积偏差,缺一项都不是完整评估。

低比特不怕少一位,怕账本藏一页。TurboQuant 的锋利处,就在于逼系统把这页翻出来。