← 文章 / AI技术
HuggingFace博客 8小时前 · 2026-08-29 20:45:45 · 1 阅读

量化感知修复:超越全精度原版的 4 bit 压缩模型

将大型语言模型做小,几乎总要付出代价。如今,高效部署通常采用这样的流程:先压缩模型架构,通过移除层、注意力头或神经元来减少参数量;再将剩余权重进一步量化到 4 bit,以降低内存占用和计算成本。这两步确实能大幅节省资源,但叠加起来也会系统性削弱人们真正关心的能力:推理、数学解题和代码生成。因此,在模型投入生产前,成熟的部署流程通常都会加入一个恢复步骤,通常称为 healing。近期发布的开放权重模型,例如 gpt-oss、NVIDIA 的 Nemotron 系列,以及我们自己的 Hypernova 60B,都采用了某种“先压缩、再修复”的方案。

我们最新的论文 Quantization-Aware Healing:恢复压缩 4 bit LLM 的实用方案,聚焦于一个领域长期悬而未决的问题:模型经历的不只是量化,而是结构压缩之后,这个恢复步骤究竟还能发挥多大作用?正确的做法又是什么?我们提出了 Quantization-Aware Healing(QAH)。将其应用于一个经过压缩、参数量从 120B 降至 60B,并量化为 MXFP4 的 GPT-OSS 120B 模型后,得到的模型在 9 项基准测试中的 7 项上超过了自身的全精度(bfloat16)版本。最终,这个 4 bit 模型不仅更小、运行成本更低,准确率也高于作为量化来源的模型检查点。这颠覆了 4 bit 模型与其对应 16 bit 原始模型之间通常存在的性能关系。

为什么常规 healing 方法在这里效果不佳

大多数效率优化流程都遵循同样的三步:压缩模型架构、量化压缩后的权重,然后修复由此造成的损失。不同方法的区别,完全体现在最后这一步上。

目前主流的模型修复方案是量化感知训练(quantization-aware training,QAT)。它会在前向传播中插入伪量化算子,并继续基于任务损失微调模型,让权重逐渐适应低精度表示。实际上,这意味着要在噪声更大、精度更低的前向传播环境下,重新执行一套本就代价高昂的多阶段训练流程,包括训练后处理、监督微调、RLHF 和 agentic tuning。成本不低,而且正如我们的结果所示,如果训练在最佳点之后持续太久,还可能变得不稳定。

另一种方案是量化感知蒸馏(quantization-aware distillation,QAD),它无需重走这段训练历程。QAD 不使用任务损失,而是通过输出 logits 上的 KL 散度损失,将一个冻结的全精度教师模型直接蒸馏到量化后的学生模型中。当模型唯一的变化是量化时,这种方法效果很好,因为完全相同的模型存在一个真正的全精度版本,可以充当教师。但如果模型还经过了结构压缩——减少层数、注意力头或神经元,而不只是降低位数——这个前提就不成立了。对于缩小后的架构,并不存在一个独立训练的全精度版本。唯一可用的教师是恢复后的 bfloat16 checkpoint,但它本身只是原始模型的蒸馏近似版本。以它为教师进行蒸馏,会让量化学生模型受限于一个已经退化的目标,其准确率上限也只能达到该恢复 checkpoint 自身的水平。

因此,如何修复一个同时经过结构压缩和量化的模型,在此之前一直是一个真正悬而未决的问题。

我们的方法

QAH 只做了一项改变,就突破了这一上限:它不再从恢复后的模型进行蒸馏,而是直接从压缩前的原始模型进行蒸馏。教师和学生甚至不共享同一种架构:教师模型规模完整、采用全精度运行;学生模型大小只有一半,并运行在 MXFP4 上。由于教师模型输出的分布与架构无关,双方在规模和形状上的差异不会妨碍知识迁移。学生模型始终不会接触硬标签,只学习教师模型的输出分布,并通过 logits 上的 KL 散度进行匹配。

这重新定义了量化阶段的作用。在 QAH 中,量化不再是修复完成后才进行的有损后处理,而是针对原始 teacher 的第二轮完整蒸馏——bfloat16 checkpoint 从未接受过这样的监督。4-bit student 并不是在弥补量化造成的信息损失,而是在补足前一阶段恢复过程中因时间或数据有限而未能传递的信息。

这种损失函数本身还带来了稳定性方面的好处。由于 KL 蒸馏将 student 约束在固定的 teacher 分布上,student 一旦追上 teacher,就不会继续受到漂移的压力。相比之下,交叉熵任务损失会持续推动 student 逼近硬标签。如下方对比所示,这一差异对准确率和训练稳定性都很重要。

为了让 QAH 支持长上下文(修复语料中的文档最长可达 32k tokens),我们复用了配套论文中介绍的节省显存的分块 KL 散度损失。该损失会逐个切片计算序列的 KL 散度,不会一次性构造完整的“词表 × 序列”网格,因此能在固定的 GPU 显存预算内完成 32k-token 修复。关于这一损失的具体实现,我们已在此前的文章中介绍过。

QAH 概览:经过结构压缩和量化后,模型能力大幅下降。QAH 将原始的压缩前模型作为冻结的 teacher 进行蒸馏,在无需重新执行多阶段后训练的情况下恢复模型性能。

QAH 概览。经过结构压缩和量化后,模型能力大幅下降。QAH 从原始模型进行蒸馏:该模型作为冻结的 teacher,其 logits 已离线预先计算,而不是从恢复后的 checkpoint 进行蒸馏。来源:论文 Figure 1。

结果

我们将 QAH 应用于 GPT-OSS 120B 模型:先将其压缩为 60B 参数并以 bfloat16 恢复,再在 QAH 流程下重新量化为 MXFP4。最合理的对比对象,是同一个 60B 模型的 bfloat16 checkpoint——这是目前该架构最强的全精度版本。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,差距分别不到 1 分和 1.5 分。除此之外,这个 4-bit 模型在所有项目上都超过了自己的 16-bit 源模型;而且提升最大之处,恰恰是压缩通常损失最严重的能力:长上下文推理(AA-LCR 提升 7.4 分)和数学(AIME 2025 提升 5.6 分)。

与原始 120B 教师模型的对比同样耐人寻味。QAH 模型的参数量只有教师模型的一半,权重内存约为其四分之一,却在 LiveCodeBench 上超过了完整规模的教师模型(66.5 对 66.0),在 GPQA Diamond 上也仅落后 1.6 分(67.4 对 69.0)。相比教师模型,QAH 目前最大的差距出现在 AA-LCR 上。这是一项极限长上下文基准,而压缩所损失的模型容量,本身就是最难恢复的部分。

Benchmark performance of the three checkpoints: the original GPT-OSS-120B teacher (MXFP4), the compressed and recovered 60B model in bfloat16, and the same 60B model re-quantized to MXFP4 with QAH, across nine benchmarks.

在 9 项基准测试中的 7 项上,4-bit QAH 模型达到或超过了其 bfloat16 源模型的表现,并在 LiveCodeBench 上击败了完整规模的教师模型。来源:论文图 2。

QAH 对阵 QAT:正面交锋

为排除其他因素,只观察损失函数本身的影响,我们在相同条件下直接比较了 QAH 与 QAT:将 GPT-OSS 9B 量化为 MXFP4,并在训练过程中跟踪其在 MMLU-Pro、LiveCodeBench 和 GPQA Diamond 上的平均表现。

两种方法的峰值表现相近:QAH 为 54.9,QAT 为 54.6,就最佳准确率而言基本不相上下。差别在于达到峰值的速度,以及达到峰值后会发生什么。QAH 大约 100 步就达到峰值,比需要 700 步的 QAT 快约 7 倍;此后直到训练结束,表现始终保持在峰值上下约 2 分的范围内。QAT 则在越过峰值后迅速崩溃,到第 1,200 步时几乎下降了 19 分。

这会直接带来部署风险上的差异。QAT checkpoint 必须根据留出的验证信号谨慎设置提前停止,否则可能上线一个已经开始退化的模型;而只要训练充分,QAH checkpoint 就可以安全部署,因为它不会继续漂移。这与其机制相符:针对冻结教师模型进行 KL 蒸馏后,学生模型一旦匹配教师模型,就没有继续变化的动力;而交叉熵目标会持续推动模型拟合硬标签,最终侵蚀模型从原始模型继承的能力。

Average performance of QAH and QAT as training progresses, quantizing GPT-OSS 9B to MXFP4. QAH peaks early and stays stable through 1,200 steps; QAT reaches a comparable peak much later, then collapses.

QAH 在约 100 步时达到 54.9 的峰值并保持稳定;QAT 直到约第 700 步才达到 54.6,却在第 1,200 步时下降了近 19 个点。来源:论文图 3。

这项技术在实践中的意义

准确率的提升,也带来了最初推动模型压缩的效率收益。在 4-bit 精度下,QAH 模型的权重显存占用约为 bfloat16 学生模型的四分之一;与参数量是其两倍的 120B 教师模型相比,它每个 token 的计算量大约减少了一半,因此可以运行在小得多的硬件上。对于原本以 bfloat16 而非 4-bit 发布的模型系列,参数量和精度同时降低后,每个 token 的计算量可减少近 8 倍。

这意味着,压缩后的 4-bit 模型不一定要成为全精度模型的低准确率版本。采用这种修复方案后,模型可以在变得更小、更易部署、服务成本更低的同时,获得更高的准确率,而且所需训练量还不到 QAT 方案的一小部分。量化不再只是效率优化必须付出的代价,也成为进一步训练模型的机会。

这项工作是 Multiverse Computing 持续研究的一部分,目标是在保留大模型实用能力的同时,降低其规模和运行成本。它与我们关于高效蒸馏的配套研究相互补充,后者为 QAH 提供了长上下文训练所需的技术基础。

想了解完整的技术细节,包括修复流程、用于长上下文修复的分块 KL 实现,以及分布式训练方面的发现?欢迎阅读完整论文,也可以联系我们的团队,探讨如何将模型压缩与修复技术应用到你自己的模型中。

原始来源: HuggingFace博客

评论 (0)