Multiverse Computing 提出 Quantization-Aware Healing:4-bit 压缩模型在 7/9 基准上超过其全精度版本
Quantization-Aware Healing: a compressed, 4-bit model that outperforms its full-precision original
Multiverse Computing 发布论文《Quantization-Aware Healing: A Practical Recipe for Recovering Compressed, 4-Bit LLMs》,提出 QAH 方法:在结构压缩并量化后,直接从压缩前的原始全精度模型蒸馏,而非从已恢复的 bfloat16 checkpoint 蒸馏。
让大型语言模型变小几乎总是要付出代价。目前高效部署的标准做法是:先压缩架构,通过移除层、注意力头或神经元来削减参数量,然后把剩余权重量化到 4 位,以进一步缩小内存和计算开销。这两步都能省下大量资源,但合在一起会系统性地削弱人们真正在意的能力:推理、数学解题和代码生成。正因如此,严肃的部署流水线会在模型投产前加入一个恢复步骤,通常称为 healing。近期发布的开源权重模型,如 gpt-oss、NVIDIA 的 Nemotron 系列,以及我们自己的 Hypernova 60B,都依赖某种版本的“先压缩后修复”方法。
我们最新的论文 Quantization-Aware Healing: A Practical Recipe for Recovering Compressed, 4-Bit LLMs 提出了一个该领域大多尚未解答的问题:当模型不仅经历了量化,还已经过结构压缩之后,这个恢复步骤实际效果如何,正确的做法又是什么?我们提出了 Quantization-Aware Healing(QAH),将其应用于一个被压缩到 60B 参数并量化为 MXFP4 的 GPT-OSS 120B 模型,得到的模型在 9 项基准中的 7 项上超过了它自己的全精度(bfloat16)版本。这个 4 位模型最终更小、运行成本更低,而且比它量化所依据的检查点更准确。这颠覆了 4 位模型与其来源的 16 位模型之间通常的关系。
为什么常见的修复方法在这里不够用
大多数效率流水线都遵循同样的三步:压缩架构、量化压缩后的权重,然后修复损伤。不同方法之间的差异完全在最后一步。
主流的修复方案是量化感知训练(QAT)。它在前向传播中插入伪量化算子,并继续在任务损失上微调模型,让权重学会容忍低精度表示。在实践中,这意味着要把一个本已昂贵的多阶段后训练流程——监督微调、RLHF、智能体调优——通过一个噪声更大、精度更低的前向传播重新跑一遍。这很昂贵,而且正如我们的结果所示,如果训练在超过最佳点后继续太久,它还可能变得不稳定。
另一种方案,量化感知蒸馏(QAD),则避免了重跑那段历史。它不用任务损失,而是通过输出 logits 上的 KL 散度损失,将一个冻结的全精度教师模型直接蒸馏进量化后的学生模型。当唯一的改变只是量化时,这种方法效果很好,因为存在一个完全相同的模型的全精度版本可以充当教师。但一旦模型经历了结构压缩——减少的是层、注意力头或神经元,而不仅仅是比特数——这个假设就不成立了。较小的架构并不存在一个独立训练的全精度版本。唯一可能的教师是恢复出的 bfloat16 检查点,而它本身也只是对原始模型的蒸馏近似。从它进行蒸馏会把量化学生模型锚定在一个退化的目标上,并把其准确率限制在那个恢复检查点自身的上限。
因此,如何修复一个既经过结构压缩又经过量化的模型,直到现在仍是一个真正悬而未决的问题。
我们的方法
QAH 通过一个改变消除了这一上限:它直接从原始的、压缩前的模型蒸馏,而不是从恢复后的模型蒸馏。教师和学生甚至不共享同一架构。教师是全尺寸、全精度的,学生则是一半大小并以 MXFP4 运行。由于教师的输出分布与架构无关,尺寸或形状的不匹配都不会阻碍迁移。学生从不接触硬标签,只接触教师的输出分布,并通过 logits 上的 KL 散度进行匹配。
这重新定义了量化阶段在做什么。在 QAH 下,它不再是修复完成后施加的有损后处理步骤。它是针对原始教师的第二次完整蒸馏过程,是 bfloat16 检查点从未获得过的监督。4 位学生不是在补偿量化丢失的信息;它是在拾取早期恢复阶段没有时间或数据去迁移的信息。
损失函数本身还带来了稳定性方面的好处。由于 KL 蒸馏将学生绑定到固定的教师分布,一旦学生追上,就不再有使其漂移的压力。相比之下,交叉熵任务损失会持续将学生推向硬标签。如下方对比所示,这一差异对准确率和训练稳定性都很重要。
为了让 QAH 在长上下文下工作——其中修复语料包含长达 32k token 的文档——我们复用了姊妹论文中关于高效蒸馏的内存高效分块 KL 散度损失。该损失一次计算序列一个切片的 KL,从不物化完整的词表×序列网格,这正是让 32k token 修复能塞进固定 GPU 内存预算的原因。我们在之前的文章中介绍了该损失的机制。
QAH 概览。经过结构压缩和量化后,能力急剧下降。QAH 从原始模型蒸馏,这是一个冻结的教师,其 logits 离线预计算,而不是从恢复后的检查点蒸馏。来源:论文图 1。
结果
我们将 QAH 应用于一个 GPT-OSS 120B 模型,压缩到 60B 参数并以 bfloat16 恢复,然后在 QAH 下重新量化到 MXFP4。自然的比较对象是同一 60B 模型的 bfloat16 检查点,即该架构存在的最佳全精度版本。QAH 模型在 9 个基准中的 7 个上胜出。
| 基准 | 120B 教师(MXFP4) | 60B BF16(恢复后) | 60B MXFP4(QAH) | QAH 对比 BF16 |
|---|---|---|---|---|
| AA-LCR(长上下文推理) | 50.0 | 35.3 | 42.7 | +7.4 |
| AIME 2025(数学) | 80.0 | 70.7 | 76.3 | +5.6 |
| Aider(智能体编程) | 45.3 | 38.2 | 40.9 | +2.7 |
| τ²-bench(工具使用) | 68.4 | 59.4 | 61.7 | +2.3 |
| GPQA Diamond(科学) | 69.0 | 65.7 | 67.4 | +1.7 |
| IFBench(指令遵循) | 63.3 | 58.4 | 59.9 | +1.5 |
| LiveCodeBench(编程) | 66.0 | 65.5 | 66.5 | +1.0 |
| MMLU-Pro(知识) | 78.0 | 74.0 | 73.8 | −0.2 |
| SciCode(科学编程) | 37.5 | 35.6 | 34.2 | −1.4 |
QAH 落后的两个基准,MMLU-Pro 和 SciCode,差距不到一点五个点。在其他所有地方,4 位模型都领先于它自己的 16 位来源,而最大的增益恰好落在压缩通常损害最严重的能力上:长上下文推理(AA-LCR 上 +7.4)和数学(AIME 2025 上 +5.6)。
与原始 120B 教师模型的对比同样说明问题。尽管参数量只有教师模型的一半,权重内存约为其四分之一,QAH 模型在 LiveCodeBench 上仍超越了全尺寸教师模型(66.5 对 66.0),在 GPQA Diamond 上也仅差 1.6 分(67.4 对 69.0)。与教师模型之间剩余的最大差距在 AA-LCR 上,这是一个极端长上下文基准,因压缩而损失的能力本质上最难恢复。
4 位 QAH 模型在 9 个基准中的 7 个上达到或超过其 bfloat16 源模型,并在 LiveCodeBench 上超越全尺寸教师模型。来源:论文图 2。
QAH 与 QAT 正面交锋
为了将损失函数的影响与其他因素隔离开来,我们还在匹配条件下直接对比了 QAH 与 QAT,将 GPT-OSS 9B 模型量化为 MXFP4,并在训练过程中跟踪其在 MMLU-Pro、LiveCodeBench 和 GPQA Diamond 上的平均性能。
两种方法达到的峰值相近,QAH 为 54.9,QAT 为 54.6,因此在最佳准确率上它们实际上不相上下。区别在于它们如何达到峰值以及之后会发生什么。QAH 在大约 100 步时达到峰值,比 QAT 的 700 步快约 7 倍,随后在剩余训练中始终保持在峰值约两分以内。QAT 一旦越过峰值便急剧崩溃,到第 1,200 步时损失近 19 分。
实际后果是真实的部署风险差异。QAT 检查点需要针对留出信号进行谨慎的早停,以避免交付一个已经开始退化的模型;而训练充分的 QAH 检查点可以安全地直接提供服务,因为它根本不会漂移。这与机制一致:针对冻结教师的 KL 蒸馏使学生一旦匹配教师便没有动力继续移动,而交叉熵目标会持续推动硬标签,最终侵蚀模型从原始模型继承的能力。
QAH 在大约 100 步时达到 54.9 的峰值并保持;QAT 直到约第 700 步才达到 54.6,随后到第 1,200 步时损失近 19 分。来源:论文图 3。
这在实践中改变了什么
准确率的故事与最初推动压缩的效率故事相伴而来。在 4 位精度下,QAH 模型使用的权重内存约为 bfloat16 学生的四分之一,而在参数量为 120B 教师模型一半的情况下,每 token 计算量大致减半,这正是它能在小得多的硬件上运行的原因。对于以 bfloat16 而非 4 位发布模型系列的模型,参数量与精度的双重降低将使每 token 计算量减少接近 8 倍。
结论是,一个压缩的 4 位模型不必是其全精度对应版本的低准确率版本。借助这一修复配方,它可以同时做到更小、服务成本更低且更准确,并且达到这一点的训练量仅为 QAT 配方所需的一小部分。量化不再是你为效率付出的代价,而成为教导模型的额外机会。
这项工作属于 Multiverse Computing 持续研究的一部分,旨在让大型模型更小、运行成本更低,同时不放弃使其有用的能力。它与我们在高效蒸馏方面的配套工作相辅相成,后者提供了 QAH 所依赖的长上下文训练机制。
想要了解完整的技术细节,包括修复流水线、用于长上下文修复的分块 KL 实现以及分布式训练发现?请阅读完整论文,或联系我们的团队,讨论如何将压缩与修复应用于你自己的模型。
来源:Hugging Face Blog · huggingface.co


