量化感知恢复:4 位模型反超全精度
来自 Hugging Face · 期号 2026-08-25
摘要
把大模型变小几乎总要付出代价。标准做法是先压缩架构(砍层、砍头、砍神经元),再把权重量化到 4 位,最后加一个恢复步骤(healing)。但恢复步骤的效果一直是个开放问题。 Hugging Face 团队提出量化感知恢复(QAH),核心改动只有一处:蒸馏时不再用恢复后的 bfloat16 检查点做教师,而是直接蒸馏原始的全精度模型。这样量化后的学生模型就不会被教师自身的精度天花板卡住。 在 GPT-OSS 120B 模型上(压缩到 60B、量化到 MXFP4),QAH 产出的 4 位模型在 9 项基准中的 7 项上超过了它自己的全精度(bfloat16)版本。4 位模型比它量化来源的检查点更小、更便宜、也更准。这颠倒了 4 位模型与 16 位模型之间通常的性能关系。 论文附了完整的实验设置与消融研究。
深读
导读 Hugging Face 团队提出量化感知恢复(QAH),在 GPT-OSS 120B 模型上压缩到 60B 并量化到 MXFP4 后,产出的 4 位模型在 9 项基准中的 7 项上超过了它自己的全精度(bfloat16)版本。核心改动只有一处:蒸馏时不再用恢复后的 bfloat16 检查点做教师,而是直接蒸馏原始的全精度模型,从而打破了传统方法中教师自身的精度天花板。 关键信息 - QAH 在 GPT-OSS 120B 模型(压缩到 60B、量化到 MXFP4)上,产出的 4 位模型在 9 项基准中的 7 项上超过其 bfloat16 版本,其中长上下文推理(AA-LCR)提升 +7.4,数学(AIME 2025)提升 +5.6。 - 在 9B 模型上与 QAT 的对比实验中,QAH 约 100 步达到峰值 54.9,QAT 约 700 步达到 54.6;QAT 在 1,200 步时下降近 19 个点,而 QAH 保持稳定。 - 4 位 QAH 模型在 LiveCodeBench 上超过原始 120B 教师(66.5 vs 66.0),在 GPQA Diamond 上仅差 1.6 个点(67.4 vs 69.0)。 - 4 位精度下权重内存约为 bfloat16 版本的 1/4,参数量为 120B 教师的一半,计算量约减半。 逐节讲解 现有恢复方法的局限 标准部署流程分三步:压缩架构(砍层、砍头、砍神经元)、量化权重到 4 位、恢复(healing)。恢复阶段的主流方法是量化感知训练(QAT)和量化感知蒸馏(QAD)。QAT 在前向传播中插入伪量化算子并用任务损失微调,成本高且训练过长会不稳定。QAD 用冻结的全精度教师通过 KL 散度蒸馏量化后的学生,但当模型经过结构压缩后,不存在独立训练的全精度小架构版本,唯一可用的教师是恢复后的 bfloat16 检查点,它本身就是原始模型的蒸馏近似,用它做教师会把学生的精度上限卡在这个检查点的水平上。 QAH 的做法 QAH 只改了一处:直接蒸馏压缩前的原始全精度模型,而不是恢复后的检查点。教师和学生可以架构不同,教师是全尺寸全精度,学生是半尺寸 MXFP4。教师输出分布与架构无关,大小和形状不匹配不影响知识迁移。学生只看教师的输出分布(KL 散度),不看硬标签。这相当于量化阶段变成了第二次完整的蒸馏过程,bfloat16 检查点从未接受过这种来自原始教师的监督。此外,KL 蒸馏将学生固定在固定教师分布上,学生匹配后不再漂移,而交叉熵任务损失会持续向硬标签推进,最终侵蚀模型能力。 实验结果 在 GPT-OSS 120B 压缩到 60B 的模型上,QAH 产出的 4 位模型在 9 项基准中 7 项超过 bfloat16 版本。最大提升在长上下文推理(+7.4)和数学(+5.6)上,这两项正是压缩通常损害最严重的…