量化感知修复:4 位模型性能反超全精度原版

把大语言模型变小几乎总是要付出代价。业界标准的部署流程是:先做结构化压缩,通过删减层、注意力头或神经元来降低参数量,再把剩余权重量化到 4 位以进一步减少内存和计算。这两步都能大幅节省资源,但会系统性地损害推理、数学和代码生成等关键能力。因此,严肃的部署管线会在模型上线前加入一个恢复步骤,通常称为“healing”。最近的开放权重模型如 gpt-oss、NVIDIA 的 Nemotron 系列以及作者自己的 Hypernova 60B 都采用了这种 compress-then-heal 的方法。

作者的新论文《Quantization-Aware Healing: A Practical Recipe for Recovering Compressed, 4-Bit LLMs》提出了一个此前尚未被充分研究的问题:当模型经过了结构化压缩(不仅仅是量化)之后,恢复步骤到底效果如何,正确做法是什么?他们引入的 Quantization-Aware Healing(QAH)方法,在将 GPT-OSS 120B 模型压缩到 60B 参数并量化为 MXFP4 后,得到的模型在 9 个基准测试中的 7 个上超过了其原始全精度(bfloat16)版本。这意味着 4 位模型比它量化的 16 位模型更小、更便宜、也更准确,颠覆了 4 位模型总是劣于其 16 位来源的常规关系。

主流的重建方法是量化感知训练(QAT),它在前向传播中插入伪量化算子,并继续在任务损失上微调模型,让权重学会容忍低精度表示。但这需要重新运行已经昂贵的多阶段训练流程(如监督微调、RLHF 等),且可能不稳定。另一种方法是量化感知蒸馏(QAD),它用冻结的全精度教师模型,通过 KL 散度损失蒸馏到量化学生模型。QAD 在只有量化的情况下效果不错,但一旦模型经过结构化压缩,就不存在独立训练的对应小架构的全精度版本,唯一可用的教师是恢复后的 bfloat16 检查点,这本身就是一个有损的近似。从它蒸馏会把学生锚定在一个受损的目标上,限制了准确率上限。

QAH 的核心改变是:直接从未压缩的原始模型蒸馏,而不是从恢复后的模型蒸馏。教师和学生甚至不需要共享架构。教师是全尺寸、全精度的,学生是半尺寸、MXFP4 的。因为教师的输出分布与架构无关,大小和形状差异不会阻碍知识迁移。学生只看教师的输出分布,通过 logits 上的 KL 散度匹配,不看硬标签。这重新定义了量化阶段:在 QAH 下,量化不再是重建完成后的有损后处理步骤,而是针对原始教师的第二次完整蒸馏过程,相当于补上了 bfloat16 检查点从未接受的监督。4 位学生并不是在弥补量化损失的信息,而是在获取早期恢复阶段没来得及转移的知识。

QAH 还有稳定性优势。由于 KL 蒸馏将学生固定在教师分布上,学生追上后就没有漂移压力;而交叉熵任务损失会无限期地推着学生朝硬标签走,导致后期能力退化。实验对比中,QAH 在约 100 步内达到峰值 54.9,并在之后保持稳定;而 QAT 需要约 700 步才达到 54.6,随后到 1200 步时暴跌近 19 点。实际影响是:QAT 检查点需要小心地提前停止,而 QAH 检查点训练充分后可以安全部署。

在应用上,QAH 已成功应用于 GPT-OSS 120B 模型,压缩至 60B 并量化为 MXFP4。与未量化的 bfloat16 版本相比,QAH 模型在 9 个基准中赢了 7 个,尤其在长上下文推理(AA-LCR +7.4)和数学(AIME 2025 +5.6)上优势明显。在 MMLU-Pro 和 SciCode 上略输不到 1.5 个点。与原始 120B 教师相比,QAH 模型在 LiveCodeBench 上以 66.5 对 66.0 超越教师,在 GPQA Diamond 上仅差 1.6 点。效率上,4 位模型比 bfloat16 版本减少约 4 倍权重内存,且参数减半,计算量减半;若原本以 bfloat16 部署,综合可减少约 8 倍计算量。作品属于 Multiverse Computing 的持续研究,其配套论文提供了长上下文训练所需的块状 KL 实现。

Quantization-Aware Healing: a compressed, 4-bit model that outperforms its full-precision original

查看原文