扩散模型重判量化舍入,小模型 3/4 比特免校准超 GPTQ

ReRound: Reconstructive Rounding to Resolve Midpoint Ambiguity in Calibration-Free LLM Quantization

He-Yen Hsieh, H. T. Kung

cs.LG, cs.CL

2026-08-11

ReRound 用扩散模型重建低位权重,只改不到 1% 的舍入,3/4 比特稳定超 RTN,且零校准压过 GPTQ、SignRound。

这篇在解决什么

把大模型权重压到 3 比特、4 比特,最常见的做法是 round-to-nearest(就近取整,RTN):每个权重看它离哪个量化刻度近,就贴到哪个刻度。问题出在刚好落在两个刻度正中间的权重。往上贴还是往下贴,单看这一个数,误差几乎一样。这就是「中点歧义」。RTN 按标量距离一刀切,在这种位置上的选择实际是掷硬币。

在 1B3B 的小模型上,这个问题尤其伤。大模型参数多,个别权重判错被平均掉;小模型余量小,中点附近的错误舍入会累积成明显的精度损失。可偏偏小模型才是最需要量化的对象。它们要在手机、边缘设备上跑,比特数压得越低越好。

方法

ReRound 的思路是:既然单看一个权重判断不了该往哪边舍,那就先问模型,这个权重本来更可能是多少。具体分三步。

第一步,训练一个条件扩散模型来重建连续权重。它复用 DeepFloyd IF Stage-II 的 U-Net,前面接一个 ControlNet,只用低比特量化后的权重块当条件。作者把整个模型的权重切成 64×64 的小块,训练时给每个全精度块配一个用随机舍入生成的低位版本,让扩散模型学会从粗量化观察里把连续权重还原回来。这里有个干净的取舍:权重重建不需要任何自然语言信息,所以喂给文本编码器的是空 prompt 的预计算 embedding。

第二步,用重建结果只在中点附近「改主意」。推理时用确定性的 2-bit RTN 当条件,扩散模型给出一个重建权重矩阵 Wrec。ReRound 只动那些满足两个条件的舍入:重建值指向相反方向,且重建值与原权重的偏差落在容忍度内。容忍度随权重到最近刻度的距离变化,越靠近中点越大,越靠近刻度边界越严格。这么改下来,ReRound 在每个权重矩阵里最多只改动 1% 的舍入决策,绝大多数权重还是 RTN 原判。

第三步,选最好的那一版。ReRound 扫一遍容忍度参数,生成多组候选量化矩阵,挑出前 k 个奇异值和全精度权重最接近的那组。用奇异值做选择标准,衡量的是矩阵整体结构保真,而不是单个元素误差。

关键一点:ReRound 复用 RTN 的 scale、zero-point、分组大小,只改舍入方向。量化后的表示和推理流程跟 RTN 完全一样,部署时零额外开销。代价全在离线训练那一步。

结果

先看免校准的横向对比。在 Gemma 2 2B、Gemma 3 1B、Qwen3 1.7B、OLMo 2 1B、SmolLM2 1.7B 五个模型上,4 比特量化 ReRound 比 RTN 高 0.21.3 个点,3 比特高 0.11.6 个点,而且每个模型都涨,没有倒退的。3 比特下它在所有模型上都拿到四项任务(WinoGrande、PIQA、BoolQ、SIQA)平均最高分。

模型配置RTN(group)ReRound对照
Gemma 2 2BW4A1666.467.4SignRound 67.0
Gemma 3 1BW4A1658.859.3SignRound 59.1
OLMo 2 1BW4A1658.159.4HQQ 60.4 / BNB FP4 61.1
OLMo 2 1BW3A1654.355.1HQQ 54.4

更扎实的一点是,它零校准数据,却压过了需要校准数据的方法。Gemma 2 2B 上 GPTQ 66.7、AdaRound 66.9、SignRound 67.0,ReRound 67.4 全部反超。Gemma 3 1B 同样,ReRound 59.3 高于 SignRound 的 59.1。

这里有个诚实的细节。OLMo 2 1B 上 ReRound(59.4)其实比 HQQ(60.4)和 BNB FP4(61.1)低。但 HQQ、BNB 用的是不同的量化参数化,scale 和分组方式都不一样。ReRound 在固定沿用 RTN 参数的前提下,硬把 RTN 的 58.1 拉到 59.4,是这批里 4 比特涨幅最大的一个。

它还能套在别的 PTQ 方法的参数上。作者拿 SINQ 的量化 scale 重跑,4 比特四任务平均从 62.1 提到 62.6,平均困惑度从 18.53 降到 18.46。这说明 ReRound 干的活是「给定任意参数,把舍入做到最好」,参数本身好不好归别的 PTQ 方法管。

为什么重要

对做端侧、边缘部署的人来说,校准数据是个隐性成本。得准备一批有代表性的输入样本,还可能碰到隐私、分发的问题。ReRound 整个流程只读模型权重本身,不需要任何激活或文本,部署后跟普通 RTN 模型完全一样,推理时零开销。这对「拿到一个开源模型就想压到最小塞进设备」的场景很实在。

它也提供了一条有别于「调量化参数」的路径。GPTQ、AWQ、HQQ 这类方法主要在 scale、分组、变换上做文章。ReRound 证明单是重判舍入这一件事,在固定参数下就能稳定涨点,还能嫁接到别的 PTQ 方法之上做叠加。

局限与存疑

代价集中在离线训练。每个目标模型要单独训一个扩散模型。论文报告训练要 1.763.43 小时(双卡),推理重建要 3.659.55 小时(单卡)。要给一堆模型批量做量化,这个成本不低。作者承认,把重建权重在 3 比特和 4 比特之间复用能省一点,但规模化仍然贵。

候选集受限于外部量化参数。ReRound 沿用别的 PTQ 方法给的 scale 和分组,只能在那个框架里改舍入,自己调不了参数。作者把「舍入和参数的联合优化」列为未来方向。

选择标准只在权重空间。用奇异值匹配挑候选,衡量的是矩阵结构保真,不保证对每个下游任务都是最优那版。分块重建(64×64)也可能漏掉跨层、长程的权重依赖。

最后,这篇只验证了 1B3B 的小模型。能不能上到 7B、70B,尤其大模型上中点歧义的影响会不会被稀释掉,论文没给答案。作者说方法不限于 LLM,但同样没有实测。

术语

原文与代码

相关论文

全部论文解读