阶段六:量化/剪枝/部署落地
“阶段六”发生在学生模型已通过阶段五评估之后。此时你手里有一个”更小、更快、更省”的学生,但蒸馏本身通常只是压缩链路的第一环。要真正落到生产或端侧,往往还需叠加量化、剪枝,并经由推理引擎完成部署。本文前置:已理解蒸馏基础(Hinton et al. 2015)与阶段五的评估指标(尤其 DistilBERT 这类真实基准,Sanh et al. 2019),并假设学生权重已就绪。
一、蒸馏不是压缩的终点
蒸馏、量化、剪枝是三种不同层面的压缩,可串联使用:
| 手段 | 压缩对象 | 典型收益 |
|---|---|---|
| 知识蒸馏 | 模型”表示/结构” | 小模型继承大模型能力 |
| 量化 | 数值精度(FP32→INT8/FP16) | 显存/带宽下降、算力利用提升 |
| 剪枝 | 连接/通道/层 | 参数量与计算量下降 |
理想链路是:先蒸馏出一个紧凑学生,再对它做量化甚至结构化剪枝,进一步压低体积与延迟,最后导出到推理引擎。每一步都需回到阶段五的指标做回归验证,防止”叠罗汉”式压缩把精度压崩。
二、量化:PTQ 与 QAT
量化把权重/激活从 32 位浮点降到 8 位整数(INT8)或 16 位浮点(FP16/BF16)。
- 训练后量化(PTQ):不重新训练,直接对训好的学生做校准。实现简单、速度快,适合精度余量充足的学生;
- 量化感知训练(QAT):在前向中模拟量化误差、反向照常,让模型”习惯”低精度。QAT 通常比 PTQ 精度更高,但需训练。
关键一点:量化与蒸馏可以协同。在 QAT 阶段,除了常规任务损失,仍可保留一部分蒸馏损失(软标签对齐),让低精度学生继续向教师看齐。NVIDIA 的 TensorRT Model Optimizer(ModelOpt)即在官方能力中明确支持”训练时蒸馏 / 量化感知”(见 NVIDIA NeMo Framework 官方蒸馏文档),把蒸馏损失与量化模拟放进同一训练图。
三、剪枝与结构化压缩
剪枝移除”不重要”的权重。结构化剪枝(按通道/头/层)对硬件更友好,因为能产生规整的小矩阵。实践上,剪枝之后常用蒸馏来恢复精度:先剪掉一部分结构,再用教师(或自蒸馏)指导微调,弥补精度损失。NVIDIA 关于 Minitron 的官方实践表明,剪枝结合蒸馏可在保持精度的前提下大幅降低所需训练 token 量(具体倍数不在本事实库,待核实)。这条”剪枝 + 蒸馏”的协同范式,对大模型尤其经济。
四、推理引擎与格式转换
学生最终要跑在某个引擎上,常见路径:
- 导出为 ONNX:把 PyTorch/TF 模型转成开放的 ONNX 中间表示,作为跨引擎的桥梁;
- TensorRT(GPU 服务端):NVIDIA TensorRT 能把 ONNX/NeMo 模型编译为高度优化的推理引擎,充分利用 GPU 的 INT8/FP16 与 kernel 融合。NeMo Framework 的蒸馏产物可经 ModelOpt 直接对接 TensorRT 部署;
- 其他引擎:CPU 侧可用 ONNX Runtime;Intel 硬件可用 OpenVINO;跨平台可用 Apache TVM 等(具体支持矩阵不在本事实库,待核实)。
选引擎时仍以阶段五四项指标为准:在同硬件上对比延迟、吞吐、体积与功耗。
五、端侧部署
当目标设备是手机、嵌入式或 IoT 时,约束更紧:
- TFLite / TF Micro:Android 与 MCU 常用;
- ONNX Runtime Mobile / Core ML:iOS 与跨端侧;
- 专用 NPU 工具链:厂商 SDK 往往要求特定量化格式。
端侧对体积与能耗极度敏感,因此阶段五的”体积/能耗”指标在此是硬门槛。若蒸馏学生仍过大,需要回到量化(INT8 甚至 INT4)与结构化剪枝继续压缩,并反复评估精度保留率。
六、部署上线 Checklist
1. 学生权重已通过阶段五评估(精度保留率达标)。
2. 量化/剪枝后回归测试:精度下降在允许范围。
3. 导出格式正确(ONNX/引擎专属),tokenizer/预处理对齐。
4. 目标硬件实测延迟、吞吐、内存、功耗。
5. 灰度/AB:与教师或旧模型对比线上指标。
6. 回滚方案:学生异常时可切回教师。
延伸阅读 / 参考文献
- Hinton, Vinyals, Dean (2015),《Distilling the Knowledge in a Neural Network》, arXiv:1503.02531 —— 蒸馏作为压缩链路的起点。
- Sanh et al. (2019),《DistilBERT, a distilled version of BERT》, arXiv:1910.01108 —— 蒸馏后再量化的典型对象与基准数字。
- NVIDIA NeMo Framework 官方蒸馏文档(docs.nvidia.com/nemo-framework);TensorRT Model Optimizer 支持训练时蒸馏/量化感知 —— 部署侧工具能力依据。