一个 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-point | metadata 增加,解码更复杂 | 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 的锋利处,就在于逼系统把这页翻出来。
