Hugging Face 提出量化感知修复方法,4-bit 量化模型经后处理可超越原始全精度模型,为边缘端部署提供新思路。
我们最新的论文 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-bit 模型体积更小、运行成本更低、却比它量化的源 checkpoint 更加准确。这颠覆了 4-bit 模型与其 16-bit 源模型之间惯常的关系。
大多数效率流水线遵循同样的三步:压缩架构、对压缩后的权重做量化、然后修复损伤。方法之间的差异完全体现在最后一步。
主流的修复方案是 quantization-aware training(QAT)。它在前向传播中插入伪量化算子,并继续在任务损失上微调模型,使权重学会容忍低精度表示。在实践中,这意味着将已经成本不菲的多阶段后训练流程——监督微调、RLHF、Agent 调优——在一个更嘈杂、低精度的前向传播中重新跑一遍。代价高昂,而且如我们的结果所示,如果训练在其最佳点之后继续太久,还可能变得不稳定。
另一种方案 quantization-aware distillation(QAD)则避免了重跑这段历史。它不用任务损失,而是通过 KL 散度损失直接对一个冻结的全精度教师做蒸馏,将输出 logit 迁移到量化的学生模型上。当唯一的变化是量化时效果很好,因为确实存在一个与学生模型完全相同架构的全精度版本可以充当教师。但一旦模型经历了结构性压缩——层数更少、注意力头更少或神经元更少,而不仅仅是位数变少——这个假设就不成立了。不存在独立训练的全精度小架构版本。唯一可选的教师是恢复后的 bfloat16 checkpoint,而它本身就是原始模型的一个蒸馏近似版本。从它蒸馏相当于把量化学生锚定在一个降质的靶子上,并将其准确率的天花板限制在那个恢复 checkpoint 自身的水平。
所以,如何修复一个既经历了结构性压缩又经历了量化的模型,这个问题直到现在一直是真正悬而未决的。
QAH 通过一处改动打破了这个天花板:它直接从原始的、压缩前的模型蒸馏,而不是从恢复后的 checkpoint 蒸馏。教师和学生甚至不共享架构。教师是全尺寸、全精度的,学生是半尺寸、以 MXFP4 运行的。由于教师的输出分布是与架构无关的,尺寸或形状的不匹配不会阻止迁移。学生从不看到硬标签,只看到教师的输出分布,通过 logit 上的 KL 散度来匹配。
这重新定义了量化阶段在做什么。在 QAH 下,它不再是在修复完成后对结果做的有损后处理,而是一次针对原始教师的完整蒸馏轮次——一种 bfloat16 checkpoint 从未接受过的监督信号。4-bit 学生不是在弥补量化损失的信息,而是在拾取早期恢复阶段没有时间或数据来完成迁移的信息。
还有一个来自损失函数本身的稳定性收益。因为 KL 蒸馏将学生与固定教师分布绑定,一旦学生赶上来,就不再有让它继续漂移的压力。相比之下,交叉熵任务损失会持续将学生推向硬标签,无限期地施压。这个差异最终对准确率和训练稳定性都有影响,如下的对比所示。
为了让 QAH 在长上下文场景下工作——那里的修复语料包含最长 32k tokens 的文档——我们复用了配套论文中关于高效蒸馏的记忆效率分块 KL 散度损失。这个损失一次计算序列的一个切片的 KL,从不实例化完整的 vocab-by-sequence 网格,这使得 32k token 修复能够装入固定的 GPU 显存预算。我们之前在一篇文章中已经介绍过这个损失的机制。

QAH 概览。在结构性压缩和量化之后,能力急剧下降。QAH 从原始模型蒸馏——作为一个冻结教师,其 logit 在线下预计算——而不是从恢复后的 checkpoint 蒸馏。来源:论文图 1。
我们将 QAH 应用于一个 GPT-OSS 120B 模型,先压缩至 60B 参数并以 bfloat16 恢复,然后再在 QAH 下重新量化为 MXFP4。最直接的自然比较对象是同一个 60B 模型的 bfloat16 checkpoint——这是该架构存在的最佳全精度版本。QAH 模型在 9 项基准测试中赢了 7 项。
QAH 落后的两项基准测试 MMLU-Pro 和 SciCode,差距不到 1.5 分。在其他所有地方,这个 4-bit 模型都领先于它自身的 16-bit 源模型,而且最大的增益恰好落在压缩通常最会损害的能力上:长上下文推理(AA-LCR 上 +7.4)和数学(AIME 2025 上 +5.6)。
与原始 120B 教师的比较同样有说服力。尽管参数量只有教师的一半、权重内存大约只有四分之一,QAH 模型在 LiveCodeBench 上超越了全尺寸教师(66.5 vs. 66.0),在 GPQA Diamond 上也只差 1.6 分(67.4 vs. 69.0)。与教师之间最大的剩余差距在 AA-LCR 上,这是一个极端长上下文基准测试,压缩损失的能力在本质上最难恢复。

4-bit QAH 模型在 9 项基准测试中匹配或击败了其 bfloat16 源模型,并在 LiveCodeBench 上击败了全尺寸教师。来源:论文图 2。
为了将损失函数的影响与其他因素隔离开来,我们也在匹配条件下直接将 QAH 与 QAT 做了对比:将 GPT-OSS 9B 模型量化为 MXFP4,并跟踪训练过程中在 MMLU-Pro、LiveCodeBench 和 GPQA Diamond 上的平均表现。
两种方法达到了相近的峰值,QAH 为 54.9,QAT 为 54.6,所以在最佳情况准确率上二者基本持平。差异在于到达峰值的路径和之后发生的事。QAH 大约在 100 步达到峰值,比 QAT 的 700 步快约 7 倍,然后在后续训练中始终保持在峰值约 2 分的范围内。QAT 一旦越过峰值就急剧崩塌,到第 1200 步时损失了近 19 分。
实际的后果是真实的部署风险差异。QAT checkpoint 需要对照一个保留信号做仔细的早停,以避免发布一个已经开始退化的模型,而充分训练过的 QAH checkpoint 可以安全地提供服务,因为它根本不会漂移。这与机制是一致的:KL 蒸馏将学生与冻结教师绑定,一旦学生匹配教师就没有动力继续移动,而交叉熵目标持续在硬标签上施压,最终侵蚀模型从原始模型继承的能力。

QAH 大约在 100 步达到 54.9 的峰值并保持稳定;QAT 在约第 700 步才达到 54.6,之后在第 1200 步时损失近 19 分。来源:论文图 3。
准确率的故事与激励压缩的效率故事相伴而生。在 4 位精度下,QAH 模型的权重内存使用量约为 bfloat16 学生的四分之一,而在参数量只有 120B 教师一半的情况下,它的每 token 计算量大约减少了一半,这使其能够在小得多的硬件上运行。对于以 bfloat16 而非 4-bit 发货的模型家族,参数和精度的综合 reduction 大约是每 token 计算量减少 8 倍。
结论是,一个压缩后的 4-bit 模型不一定是其全精度对应版本的低精度版本。有了这个修复方案,它可以更小、服务成本更低、同时准确率更高,而且所需的训练时间只是 QAT 方案的一小部分。量化不再是为你付出的效率代价,而成为额外教授模型的机会。
这项工作是 Multiverse Computing 持续研究的一部分——让大模型更小、更便宜地运行,而不放弃使它们有用的能力。它与我们关于高效蒸馏的配套工作并行的,后者提供了 QAH 所依赖的长上下文训练机制。
想要完整的技术细节,包括修复流水线、用于长上下文修复的分块 KL 实现,以及分布式训练的发现?请阅读完整论文,或联系我们的团队,讨论如何将压缩和修复应用到你自己的模型上。
Models mentioned in this article 2
Papers mentioned in this article 1
More from this author
Making Knowledge Distillation Cheap Enough to Run at Scale
![]()
Making a large language model smaller almost always comes with a cost. The now-standard recipe for efficient deployment is to compress the architecture first, cutting the parameter count by removing layers, heads, or neurons, and then quantize the remaining weights down to 4 bits to shrink memory and compute further. Both steps save a lot, but together they systematically degrade the capabilities people actually care about: reasoning, mathematical problem-solving, and code generation. Because of this, serious deployment pipelines add a recovery step, usually called healing, before the model goes into production. Recent open-weight releases such as rbtv77 gpt-oss, NVIDIA's Nemotron family, and our own Hypernova 60B all rely on some version of this compress-then-heal approach.
This is a really fascinating take on model compression 🤯🔥. The idea that a 4-bit model can actually outperform the full-precision version turns the usual assumption about quantization completely upside down.... Instead of simply accepting the accuracy loss that comes with compression, QAH seems to show how targeted recovery can bring back—and even improve—important capabilities like reasoning, math, and coding. 🧠⚡
What really caught my attention is the result with the compressed GPT-OSS 120B → 60B model.... Getting a smaller MXFP4 model to beat its own bfloat16 checkpoint on 7 of 9 benchmarks is pretty impressive. 📊🚀 It makes the whole compress-then-heal pipeline feel much more practical for real-world deployment, especially when memory usage and inference costs matter.
I also like the broader implication here.... Quantization doesn't necessarily have to mean sacrificing model quality if the recovery process is designed with the quantized model in mind. 💡🔧 A smaller model that costs less to operate while still delivering stronger benchmark performance could be a huge advantage for teams trying to deploy capable LLMs efficiently.
Definitely an interesting direction for efficient AI deployment.... Turning a heavily compressed 4-bit model into something that can outperform its larger full-precision counterpart is the kind of result that makes you rethink what "compression" actually means. 👏🔥 Really curious to see how far Quantization-Aware Healing can go across other architectures and workloads.... 🚀🧠
· Sign up or log in to comment
![]()
![]()
![]()
![]()
Models mentioned in this article 2
Papers mentioned in this article 1