← 返回 2026-08-25

量化感知修复:恢复压缩后4比特大语言模型的实用配方 Quantization-Aware Healing: A Practical Recipe for Recovering Compressed, 4-Bit LLMs

Bakbergen Ryskulov, Iker García-Ferrero, David Montero, David Jansen, Ali Hashemi, Jezabel R. Garcia, Antonio Tiene, Román Orús 📅 2026-08-21 👍 10 2026-08-30 18:30
LLM高效推理 模型压缩 知识蒸馏 量化

从原始未压缩模型蒸馏修复压缩+4bit量化LLM,比QAT快7倍且无需早停

前置知识

知识蒸馏

知识蒸馏让小模型(学生)不直接学习硬标签,而是模仿大模型(教师)输出的概率分布,通常用KL散度 $\mathrm{KL}(p_T \| p_S)$ 度量分布差异,并用温度 $\tau$ 软化分布。由于监督信号只来自教师输出而非内部结构,师生可以使用完全不同的架构,这种跨架构蒸馏在 DistilBERT、TinyBERT 等工作中已是标准做法。

本文的 QAH 就是一种跨架构蒸馏:学生是被压缩+量化的模型,教师是原始未压缩模型,师生层数和结构都不同。理解蒸馏的损失函数与'教师分布锚定'效应是看懂方法设计和 QAT 崩溃归因的前提。

量化与 QAT/QAD

量化把模型权重从16比特压到4比特等低精度格式以省显存和算力。PTQ(训练后量化)不训练直接转换,在10B以上模型的推理和代码任务上会留下不可忽略的精度缺口。QAT(量化感知训练)在前向传播中插入直通估计器(STE)的假量化器,让权重在训练中适应量化表示,通常优化交叉熵任务损失;QAD(量化感知蒸馏)则把任务损失换成对冻结全精度教师 logits 的 KL 损失。

本文以 QAT 为基线并展示其收敛慢、过峰后崩溃(1200步内跌近19分);论文的出发点正是 QAD 在'结构压缩先于量化'场景下教师选择失效,必须读懂这三者的区别才能理解贡献。

MXFP4 微缩放格式

MXFP4 是微缩放(Microscaling)浮点格式家族的一员:用块级缩放因子替代每张量的指数开销,在保留大部分 bfloat16 前向精度的同时把存储压到4比特,仅量化权重、不量化激活。OpenAI 公开发布的 GPT-OSS 120B/20B 的 MoE 权重就是 MXFP4 格式。

本文全部实验围绕 MXFP4 展开(GPT-OSS 120B→60B→MXFP4),作者还特别强调教师本身就是 MXFP4 发布版,因此 QAH 是从'同精度但未压缩'的教师蒸馏——这个细节是理解方法定位的关键。

结构化压缩

结构化压缩通过修改架构本身来减少参数量:剪除注意力头、神经元或层,低秩分解(SVD-LLM、ASVD),嵌入维度切片(SliceGPT、TensorGPT),离群感知稀疏(OWL),以及张量网络分解(CompactifAI)。关键性质是:压缩后的模型从未在满精度下独立训练过,其权重全部由压缩算子从原模型导出。

正是'先结构压缩'这一步,使得标准 QAD 唯一可用的全精度教师(量化前恢复出的 bfloat16 检查点)携带容量上限、成为次优教师——这是全文论证的逻辑起点。

FSDP2 与 DeepSpeed ZeRO-3

两者都是大模型分片数据并行的主流后端:FSDP2 是 PyTorch 原生的全分片数据并行,DeepSpeed ZeRO-3 是微软方案,把参数、梯度和优化器状态切分到多卡。理论上它们只是通信调度的不同实现,吞吐等价、可互换,不应影响优化质量。

论文用 11 组 QAT 扫描证明这一'理论等价'在 MXFP4 蒸馏负载上不成立:FSDP2 与 DeepSpeed 在 GPQA Diamond 上有高达 8.6 分的稳定质量差距,'把后端当超参数'是本文最重要的部署教训之一。

研究动机

大模型部署的主流做法是两步压缩串联:先做结构化压缩(如用张量网络算子把 GPT-OSS 120B 压到 60B,参数减半),再做 4 比特量化(如 MXFP4)。两步叠加会在推理、数学、代码生成和长上下文能力上造成明显退化,必须有一个'修复'(healing)阶段才能上线。默认配方是量化感知训练 QAT:在前向中插入假量化器、用交叉熵任务损失继续训练。作者在真实部署中发现 QAT 有两个致命问题:一是收敛慢,120B 学生要约 700 步才到峰值;二是一旦训练越过峰值就崩溃——9B 实验中平均分从第 700 步的 54.6 跌到第 1200 步的约 36,损失近 19 分,安全上线必须靠人工早停对着 held-out 信号兜底,构成长期运营隐患。另一种思路 QAD(量化感知蒸馏)用冻结的全精度模型做教师可以避免这些问题,但它的成立前提是师生同架构——这在纯量化压缩时天然满足,而当压缩是量化之前的架构修改时,唯一可用的全精度'教师'是压缩后恢复出的 bfloat16 检查点,它本身就是对原模型的蒸馏恢复近似、带有压缩容量损失,用它当教师会把学生精度封顶在恢复检查点的水平。

本文的目标是本文的目标是为'结构压缩 + 4bit 量化'的复合压缩流水线设计一个可直接部署的修复配方,形式化目标是修复后的模型 $M'_{FP4} = H(M_{FP4})$ 满足三点:(i) 在九个基准(MMLU-Pro、GPQA Diamond、AIME 2025、IFBench、SciCode、LiveCodeBench、τ²-bench、Aider、AA-LCR)上逼近原始未压缩模型 $M_{HP}$;(ii) 仍是合法的 MXFP4 部署产物;(iii) 在更广的健全性测试集上不回退。工程约束同样明确:不需要多周超参搜索、不需要人工早停即可安全收敛;要在固定 GPU 显存预算内做 16k–32k 长上下文训练;并且要能真正产出可发布的开源模型——最终产物 Hypernova-60B(Apache 2.0)和一个内部客户部署模型都用该配方产出。

与已有工作不同的是,本文的独特切入点在'教师的选择'。作者的观察是:修复阶段学生需要习得的目标行为,在冻结的原始模型上是完全可观测的,因此学生根本不必从硬标签重新发现这些行为——量化阶段不是要最小化的有损后处理,而是施加'第二次教师监督'的机会,是 bfloat16 恢复检查点从未收到过的额外蒸馏。于是 QAH 让被压缩+量化的 4bit 学生直接向原始未压缩模型 $M_{HP}$ 蒸馏,而不是向恢复检查点或硬标签学习。由于此时师生架构必然不同,监督只能通过教师输出分布(logits)传递,而这恰好落在跨架构蒸馏这个成熟的技术框架内。一个容易被误解的细节是:教师是 GPT-OSS 官方发布版,其权重大多已是 MXFP4,所以这是'从未压缩的同精度教师'蒸馏,优势来自教师未被压缩,而不是来自教师精度更高——这把贡献精确地钉在复合压缩场景上,而非低精度训练本身。

核心方法

先说直觉:被结构压缩的模型从未在满精度下独立训练过,其 bfloat16 检查点只是对原模型的蒸馏恢复近似、自带容量天花板;把 4bit 学生锚在这个降级目标上,精度上限就是恢复检查点。更强的教师是原始未压缩模型本身。技术路线上,流水线为 $M_{FP4}=Q(R(S(M_{HP})))$:结构压缩算子 $S$ 把 $M_{HP}$ 压成参数减半的 $M_C$;恢复算子 $R$ 用 KL 蒸馏在 bfloat16 下恢复出 $M_{BF16}$;量化算子 $Q$ 再转成 MXFP4。QAH 只负责最后一步的修复,损失为 $\mathcal{L}_{QAH}=\mathbb{E}_{x\sim D}\,\mathrm{KL}\big(\mathrm{softmax}(M_{HP}(x)/\tau)\,\|\,\mathrm{softmax}(M_{FP4}(x;Q_\theta)/\tau)\big)$,温度 $\tau=1$。三个工程支撑件:教师 logits 离线预计算并截断 top-100 存储;假量化器 $Q_\theta$ 用直通估计器保持梯度可传;分块 KL 实现(arXiv:2608.03796)把峰值中间显存从 $O(BLV)$ 降到 $O(BcV)$,使 32k 上下文修复与短上下文 QAT 同硬件可行,且与稠密损失逐比特等价。主实验配置:8 节点 H200、FSDP2、32k 序列、全局 batch 64、学习率 $5\times10^{-6}$、400 步。

核心创新不是新的算法原语(作者自己承认这是经验与配方论文),而是对复合压缩场景下'教师选择'的重新定位,本质区别有三点。第一,与 QAT 的区别:QAT 用交叉熵逼学生从硬标签重新习得教师已有的行为,这在学生架构也被修改时是双重浪费的重新遍历,且优化不稳定;QAH 只用教师分布,KL 损失在学生匹配教师后不再提供漂移激励,因此训练到收敛即可安全发布,无需早停。第二,与 QAD 的区别:QAD 预设师生同架构,教师取自量化前的全精度副本;结构压缩打破这一假设——恢复检查点 $M_{BF16}$ 携带压缩架构的容量上限,用它当教师会封顶学生。QAH 的教师 $M_{HP}$ 严格更强且监督架构无关。第三,对量化步骤的重新解读:在蒸馏修复流水线中,量化不是损失来源而是第二次蒸馏训练的机会——实验证实 4bit 学生收到 bfloat16 检查点从未得到的教师监督后,在 9 个基准中的 7 个上反超自己的 bfloat16 源。这把'低比特=降级'的直觉整个倒了过来。

方法步骤详情

完整流程:(1) 输入已完成多阶段后训练的原始模型 $M_{HP}$(GPT-OSS 120B 或 20B)。(2) 结构压缩:专有张量网络算子把 120B 压到 60B、20B 压到 9B,得 $M_C=S(M_{HP})$,从未在满精度独立训练。(3) bfloat16 恢复:以 $M_{HP}$ 为冻结教师,用 KL 损失继续训练 $M_C$ 得 $M_{BF16}$,修复压缩损失但继承容量上限。(4) 量化:$Q$ 把 $M_{BF16}$ 转为 MXFP4 得 $M_{FP4}$,再产生一次精度缺口。(5) QAH 修复:先离线对训练语料逐条预计算教师 top-100 logits(从官方 MXFP4 检查点前向一次以控制存储),再以式(1) 的 KL 损失训练 $M_{FP4}$,假量化器用直通估计器,损失按序列分块累加以限制峰值显存。(6) 稳定性措施:冻结嵌入、层归一化和选定注意力分量——不冻结(尤其高学习率下)会产出比未修复更差的检查点,这对 QAT 和 QAH 都必要;两阶段掩码调度:先仅注意力掩码的稳定窗口,再切到仅助手 token 计损的主训练段,纯损失掩码一致更差。(7) 配置与数据:32k 序列、全局 batch 64、学习率 $5\times10^{-6}$、400 步、8 节点 H200+FSDP2、梯度裁剪 1.0、100 步 warmup;数据为 NVIDIA Nemotron 与 SmolTalk 2 混合,覆盖通用、科学、代码、数学、安全与推理。(8) 评估:九个基准(MMLU-Pro、GPQA Diamond、AIME 2025、IFBench、SciCode、LiveCodeBench、τ²-bench、Aider、AA-LCR),与 bfloat16 源、120B 教师及匹配配置 QAT 三方对比。

技术新颖性

技术新颖性:蒸馏+量化结合本身不新(Polino et al. 2018),跨架构蒸馏也是标准做法(DistilBERT、TinyBERT、EfficientVLM),QAH 的新意在三点精确定位。第一,问题刻画:首次明确指出'复合压缩域'中任何满精度中间产物都是恢复近似,系统性论证 QAD 教师在该场景次优——此前 QAD 文献(NVIDIA 2026 针对 NVFP4)都默认量化是唯一压缩步骤。第二,配方工程化:离线 top-K logits 缓存加融合分块 KL,把峰值显存从与词表成正比的 $O(BLV)$ 压到与块长成正比的 $O(BcV)$,使 32k 上下文修复在短上下文 QAT 同等硬件上可行,且与稠密损失逐比特等价——这是压缩伤害最重的长上下文能力能被修复而非跳过的物质基础。第三,可复现的运维发现:11 组 QAT 扫描显示 FSDP2 与 DeepSpeed 在 MXFP4 蒸馏上有高达 8.6 分(GPQA Diamond 73.74 对 65.15)的稳定差距,横跨四个数量级的学习率都存在,把'分布式后端必须当超参数对待'形式化为可操作结论。整体上这是一篇诚实的 recipe 论文:贡献在识别标准配方失效的位置、给出无需超参搜索的可靠替代、并公开作者付出过时间代价的部署教训。

QAH overview. Structural compression followed by 4-bit quantization sharply reduces capability. QAH heals the compressed, quantized student by distilling from the original uncompressed model (frozen teacher, dashed arrow), rather than re-fitting hard labels or distilling from the recovered full-precision checkpoint.
Figure 1: QAH overview. Structural compression followed by 4-bit quantization sharply reduces capability. QAH heals the compressed, quantized student by distilling from the original uncompressed model (frozen teacher, dashed arrow), rather than re-fitting hard labels or distilling from the recovered full-precision checkpoint.

实验结果

核心发现有三组。(1) 4bit 修复后不降反升(Figure 2,GPT-OSS 120B→60B→MXFP4):60B MXFP4(QAH)对 60B bfloat16 源在 9 个基准中 7 个持平或更好,仅 MMLU-Pro 73.8 对 74.0(-0.2)和 SciCode 约 -1.4 小幅退步;大幅提升包括 AA-LCR 42.7 对 35.3(+7.4)、AIME 2025 76.3 对 70.7(+5.6)、Aider 40.9 对 38.2(+2.7)、τ²-bench 61.7 对 59.4(+2.3)。对 120B 教师:LiveCodeBench 66.5 对 66.0 略超(读作持平),GPQA Diamond 67.4 差 1.6,MMLU-Pro 差 4.2,IFBench 差 3.4;最大残余差距是 AA-LCR 的 -7.3(教师 50.0),说明结构压缩伤害最深的长上下文最难恢复。效率上显存约为 bfloat16 学生的 1/4,参数减半、每 token 计算约减半。(2) QAH 对 QAT(Figure 3,9B→MXFP4,该配置经内部客户部署验证):峰值相当(平均分 54.9 对 54.6),但 QAH 约 100 步到峰、QAT 约 700 步,约 7 倍差距(60B 上 QAH 约 400 步);QAH 全程 1200 步稳定在峰值 2 分以内,QAT 从 54.6 崩到约 36(-19 分)。作者归因于损失函数:KL 把学生锚定在教师分布上、匹配后无漂移激励;交叉熵则持续推向硬标签并侵蚀继承自原模型的其他能力。(3) 后端差距(Table 1 与附录 Table 2):11 组 QAT 扫描中所有 DeepSpeed 配置在 GPQA Diamond 封顶 65.15,FSDP2 最佳 73.74(+8.6),且仅 FSDP2 的 R11 达到 120B MXFP4 目标 69.0,因此后端应被视为超参数、默认 FSDP2。

Best QAT run under each distributed backend on the 120B student. The DeepSpeed row is the strongest of eight configurations (8k context, lr 5×10⁻⁶, bs 256, 8 nodes, 5000 steps); FSDP2 is the strongest of three (2k context, lr 10⁻⁵, bs 128, 4 nodes, 2200 steps). Across the full DeepSpeed sweep no configuration exceeds 65.15 on GPQA Diamond.
Table 1: Best QAT run under each distributed backend on the 120B student. The DeepSpeed row is the strongest of eight configurations (8k context, lr 5×10⁻⁶, bs 256, 8 nodes, 5000 steps); FSDP2 is the strongest of three (2k context, lr 10⁻⁵, bs 128, 4 nodes, 2200 steps). Across the full DeepSpeed sweep no configuration exceeds 65.15 on GPQA Diamond.
QAT sweep (R1–R11) over the 120B student; best checkpoint score per metric. R11 repeats R1 with ∼2× more steps. 8kf denotes 8k context with a position-id fix. R11 is the sole run reaching the MXFP4 baseline on GPQA Diamond and is the QAT reference arm in the main text.
Table 2: QAT sweep (R1–R11) over the 120B student; best checkpoint score per metric. R11 repeats R1 with ∼2× more steps. 8kf denotes 8k context with a position-id fix. R11 is the sole run reaching the MXFP4 baseline on GPQA Diamond and is the QAT reference arm in the main text.
Benchmark performance of three checkpoints in our pipeline: the original gpt-oss-120B (grey), the compressed-and-recovered gpt-oss-60B in bfloat16 (hatched blue), and the same 60B model re-quantized to MXFP4 under QAH (red). The 120B model is the frozen teacher for both the recovery and the quantization stages. The 4-bit QAH student matches or beats its own bfloat16 source on 7 of 9 benchmarks.
Figure 2: Benchmark performance of three checkpoints in our pipeline: the original gpt-oss-120B (grey), the compressed-and-recovered gpt-oss-60B in bfloat16 (hatched blue), and the same 60B model re-quantized to MXFP4 under QAH (red). The 120B model is the frozen teacher for both the recovery and the quantization stages. The 4-bit QAH student matches or beats its own bfloat16 source on 7 of 9 benchmarks.
Average performance of QAH and QAT on MMLU-Pro, LiveCodeBench, and GPQA Diamond as training progresses, quantizing GPT-OSS 9B to MXFP4. QAH peaks at 54.9 in roughly 100 steps and stays stable through 1200 steps. QAT reaches a comparable peak (54.6) only at step 700, then collapses, losing nearly 19 points by step 1200.
Figure 3: Average performance of QAH and QAT on MMLU-Pro, LiveCodeBench, and GPQA Diamond as training progresses, quantizing GPT-OSS 9B to MXFP4. QAH peaks at 54.9 in roughly 100 steps and stays stable through 1200 steps. QAT reaches a comparable peak (54.6) only at step 700, then collapses, losing nearly 19 points by step 1200.
查看结构化数据
任务指标本文基线提升
AA-LCR 极端长上下文推理(60B MXFP4 vs 60B BF16) 准确率 42.7 35.3(bfloat16 恢复源) +7.4
AIME 2025 数学竞赛(60B MXFP4 vs 60B BF16) 准确率 76.3 70.7(bfloat16 恢复源) +5.6
Aider 智能体编码(60B MXFP4 vs 60B BF16) 准确率 40.9 38.2(bfloat16 恢复源) +2.7
τ²-bench 智能体工具调用(60B MXFP4 vs 60B BF16) 准确率 61.7 59.4(bfloat16 恢复源) +2.3
LiveCodeBench 代码生成(60B MXFP4 vs 120B 教师) 准确率 66.5 66.0(gpt-oss-120B 教师) 持平(略超,在运行噪声内)
GPQA Diamond 科学问答(60B MXFP4 vs 120B 教师) 准确率 67.4 69.0(gpt-oss-120B 教师) -1.6(仅差1.6分)
QAH vs QAT 收敛速度(9B→MXFP4,三基准平均) 达到峰值所需步数 约100步(峰值54.9) QAT 约700步(峰值54.6) 约7倍加速
QAH vs QAT 训练稳定性(9B→MXFP4) 1200步内相对峰值的跌幅 ≤2分(全程稳定) QAT 崩溃约19分(54.6→约36) 无需人工早停
FSDP2 vs DeepSpeed 分布式后端(120B 学生 QAT) GPQA Diamond 最佳成绩 73.74(FSDP2, R11) 65.15(DeepSpeed 全扫描上限) +8.6

局限与改进

作者承认的局限有四条。(1) 缺少直接 QAD 基线:中心论点'恢复教师会封顶学生精度'是从量化文献动机化推断的,未跑 QAH 对 QAD-from-$M_{BF16}$ 的同配置头对头,作者称之为'最值得补的单一实验',在此之前该主张应读作合理但未实测。(2) 单次运行、小样本基准:所有数字无种子方差与置信区间,AIME 2025 仅 30 题,1 分以内的差异(如 LiveCodeBench 对教师的'持平')只能读作指示性。(3) 单一模型家族、格式与数据:全部实验限于 GPT-OSS MoE(120B→60B、20B→9B)、MXFP4 和 Nemotron+SmolTalk 混合,未测 Llama/Qwen/Mistral 或 NVFP4/INT4/FP8。(4) 压缩算子专有:产生 60B/9B 学生的张量网络算子不公开,无法确认结论可迁移到层剪枝、SliceGPT、低秩分解。我的补充观察:AA-LCR 残余 -7.3、IFBench -3.4 表明长上下文与指令遵循的修复并不彻底;后端差距只给出'默认 FSDP2'的操作建议而未诊断根因;且主文 120B 学生上 QAT 最佳配置(R11,2k 上下文)与 QAH(32k)训练长度不对齐,虽有 9B 匹配对比兜底,跨配置解读仍需谨慎。

独立分析的弱点

独立弱点分析。(1) 中心主张未经直接检验:'恢复检查点封顶学生精度'是合理推断但未测量,若 QAD-from-$M_{BF16}$ 在同配置下与 QAH 相当,叙事支柱会被削弱;改进方向是补 QAT/QAD/QAH 三方对照并报多种子。(2) 评估统计效力不足:AIME 2025 仅 30 题、全部单次运行,±2 分的'持平/获胜'判断不可靠;改进方向是至少 3 个种子加自助法置信区间。(3) 泛化证据薄弱:专有算子与 MoE 架构特异性可能把结论绑定在 GPT-OSS 家族;改进方向是在 Llama/Qwen 稠密模型配合开源压缩(SliceGPT、SVD-LLM、层剪枝)复验方向性结论。(4) 长上下文修复不完整:AA-LCR 残余 -7.3、IFBench -3.4,32k 训练长度之外的分布仍受损;改进方向是更长序列分块蒸馏或教师侧长文档分段 KL 监督。(5) 后端差距未诊断:只怀疑 DeepSpeed 混合精度通信路径与 MXFP4 权重编码的交互,未定位到具体 kernel 或通信原语;改进方向是发布最小复现脚本并做逐层误差分析。(6) 教师成本:离线预计算 top-100 logits 需对全语料跑一遍 120B 教师前向,语料与 top-k 增大时存储和生成成本线性增长;改进方向是研究在线/离线蒸馏的成本-质量权衡或对低信息样本选择性缓存。

未来方向

作者提出的方向:(1) 补跑 QAH vs QAD-from-$M_{BF16}$ 头对头实验——作者称其为'最有价值的单一实验',可直接检验恢复教师封顶假说;(2) 诊断 DeepSpeed 与 MXFP4 的交互根因,把后端选择从经验教训升级为可解释结论;(3) 扩展到其他模型家族(Llama、Qwen、Mistral)、其他格式(NVFP4、INT4、FP8)和其他结构压缩方法(层剪枝、SliceGPT、低秩分解);(4) 引入多种子与置信区间化的小基准评估。基于本文成果可延伸:(5) 把'量化是第二次蒸馏机会'推广为多级原则——流水线中每个有损变换(压缩、剪枝、量化、模型编辑)之后都做一次教师监督,研究监督预算在各阶段的最优分配;(6) 针对长上下文残余损失,探索检索式蒸馏或教师侧上下文分段 KL,专门修补 AA-LCR 类极端长文档能力;(7) 冻结子模块集合(嵌入、层归一化、注意力分量)目前靠扫描确定,可研究按量化敏感度或梯度噪声自适应选择冻结策略;(8) 利用 7 倍收敛加速与不崩溃的稳定性,把 QAH 用于持续后训练/模型更新场景——每次增量更新后只需少量修复步即可恢复,这对生产环境比一次性修复更有价值。

复现评估

复现评估:最终产物 Hypernova-60B 以 Apache 2.0 在 HuggingFace 发布(MultiverseComputingCAI/Hypernova-60B-2605,注意发布版含论文评估范围外的后续训练,论文数字是作者自测的流水线成绩而非该检查点的公开数字),但训练代码未提及开源;分块 KL 与离线 top-K logits 实现在同组论文 arXiv:2608.03796 中描述;教师 gpt-oss-120B 公开,数据混合(NVIDIA Nemotron、SmolTalk 2)均为公开数据集;训练超参披露较完整(32k 序列、batch 64、学习率 $5\times10^{-6}$、400 步、梯度裁剪 1.0、100 步 warmup、冻结集合、两阶段掩码调度),附录还给出完整 11 组 QAT 扫描。主要障碍:(1) 结构压缩算子专有,无法从 120B 复现 120B→60B 这一步,除非使用其发布的压缩检查点;(2) 算力门槛高——主实验用 8 节点 H200(数十卡级),9B 对照也需多卡集群。综合判断:拥有大规模 GPU 集群的团队以已压缩检查点为起点复现 QAH 阶段属中等难度可行;从原始模型完整复现整条流水线目前不可能。低成本验证路径:用公开的 gpt-oss-20B 做轻量开源剪枝后按配方小步数蒸馏,即可方向性验证'4bit 修复反超 bfloat16 源'的核心主张。