一句话定义

正交变换量化(Orthogonal Transform Quantization) 指在把数值压成低位整数之前,先对激活值做一次正交变换(工程上常见的形式是旋转),让原本分布很不均匀的数据变得均匀,再送进量化器。

正交变换有两个性质值得记住:

  • 它保持向量的长度和内积,也就是两个数之间的接近程度、方向关系不变;
  • 但它会把数值重新分配到各个坐标上。

所以模型下游的计算关系没有变,变的是「每个位置上的数字好不好压」。

它解决什么问题

激活值难量化,难点集中在离群值:某一层输出里偶尔冒出一个特别大的数,量化时的取值范围被它撑大,其余正常数值只能挤进极少的格子里,误差就上来了。

已有的应对办法是分组量化、混合精度,思路是「给离群值单独划一块地方」。代价是分组越细,越依赖硬件提供对应算子,不一定跑得更快(这一点可参考 激活值量化)。

正交变换走的是另一条路:不动量化器、不动硬件,先把数据本身摊平。旋转之后,原本集中在少数通道上的大幅值被分摊到更多通道,单点的「刺」变矮了,量化格子就能用得更充分。

关键做法

  • 选一个正交矩阵做变换。 因为保持内积,模型后续计算的相似关系不受影响;被改变的是数值分布。
  • 尽量折叠进相邻层。 如果前后都是线性层,变换矩阵理论上可以吸收进权重里,从而不额外增加推理开销——但能不能真的折掉,取决于模型结构(中间夹着非线性算子就不好折)和推理引擎的实现。
  • 和分组量化配合。 变换先把整体分布摊平,分组再把剩余的局部差异隔离开,两者不冲突。
  • 论文层面的进展。 arXiv 上有一篇工作把正交变换用在 LLM 的低比特量化上,讨论的正是「先重塑激活分布、再量化」这条路。

用不上的时候

  • 变换不是免费的。 要么多算一次矩阵乘,要么依赖前一层折叠;折叠不掉的地方,就是实打实的额外开销。
  • 它让量化误差更均匀,不会让模型见过更多东西。 压缩后在新场景上掉点,如果根因是训练数据没覆盖,做多少次旋转都补不回来。
  • 位宽不是自动可达。 能不能真的跑在 4 位,还取决于分组粒度、算子支持与设备算力。参数表上的位宽不等于落地效果。
  • 论文的验证对象是语言模型。 视觉模型上是否同样有效、能省多少,需要在自己的数据上实测,不能直接照搬结论。

参考

  • arXiv SpectrumQuant: Spectrum Alignment for LLM Quantization(编号 2610.20303,2026-10-14)
  • 激活值分组与硬件算子约束,可参考 Hardware-Friendly Token-Group Activation Quantization for Low-Bit Mamba Super-Resolution(编号 2610.16261)

延伸阅读

相关词条


火眼识别提供端侧视觉引擎与设备管理平台,相关方案见 火眼识别官网。