阶段四:训练策略(学习率/批次/早停)
本文定位与前置知识
本文是「知识蒸馏工程化流程」四阶段系列的最后一篇,承接《阶段三:温度 T 与损失权重调参》。当教师、数据、超参(T、α)都就绪后,进入学生模型的训练执行阶段。
前置知识:已完成前三阶段;了解基础优化器与学习率调度。
1. 学生优化器与学习率
学生的训练目标是一个组合损失(软损失 + 硬损失),本质上仍是监督式优化,因此常规优化器(如 Adam、AdamW、SGD with momentum)均可使用。值得注意的几点:
- Hinton 等人(2015)提到,相比用硬标签从零训练,软标签提供的监督信号更平滑、信息量更大,因此蒸馏时可使用相对更高的学习率而不易发散。
- 学习率调度建议沿用该任务的标准做法(如 warmup + 余弦退火 / 阶梯衰减),并在阶段三确定的 T、α 下做小范围学习率扫描(如 ${1e-4, 3e-4, 1e-3}$,常见经验取值,待核实)。
- 学生若采用与教师不同的初始化(如随机初始化而非教师权重),前期学习率不宜过高,避免软损失梯度冲击未稳定表征。
2. 批次大小与训练时长
- 批次大小:蒸馏对批次不如对比学习那般敏感,但较大的批次有助于软损失估计更稳定(教师软分布在不同样本上的统计更平滑)。在显存允许下可适度增大批次。
- 训练时长:学生通常比从零训一个小模型收敛更快,因为软标签提供了逐样本的丰富监督。但不宜过早停——软损失下降快不代表任务指标饱和。
- epoch 预算:建议预设上限,配合早停机制,而非一次性跑满。
3. 早停准则
蒸馏特有的风险是学生过拟合教师而非学会任务:软损失很低,但验证集任务指标停滞甚至下降。因此早停应以验证集任务指标(如精度、F1)为准,而非训练损失。建议:
- 每个评估间隔在验证集上算任务指标;
- 记录最佳验证指标对应的学生权重(checkpoint);
- 若连续若干间隔无提升则停;
- 若软损失持续下降但验证指标不涨,说明学生陷入”模仿教师噪声”,需回看阶段三的 T/α 或阶段二的数据分布。
4. 常见坑
- 坑一:以训练损失早停。 软损失下降是假象,必须看验证任务指标。
- 坑二:学习率照搬硬标签训练。 蒸馏可用更高学习率,照搬可能导致欠拟合或震荡。
- 坑三:忽视教师软标签的离线缓存。 每轮都重新前向教师极慢;可把软标签离线生成后缓存(见阶段二),训练时直接读取。
- 坑四:批次过小导致软损失方差大。 小批次下教师软分布统计噪声大,训练不稳。
- 坑五:忘记 T=1 推理。 部署时学生用标准 softmax(T=1),蒸馏期的高温只用于训练对齐。
5. 实证案例:DistilBERT
Sanh 等人(2019)的 DistilBERT 是工业级蒸馏的代表作,其公开报告的结果可作为”训练策略奏效”的参照:
- 模型体积较 BERT 减小约 40%;
- 推理速度提升约 60%;
- 在保留任务性能上,约 97% 的 BERT 能力得以保持。
这组数据(出自原论文公开报告,本文事实库仅收录其体积、速度与性能三项指标)说明:在合理的蒸馏损失设计与训练策略下,蒸馏能在大幅压缩的同时几乎不损性能。DistilBERT 的具体损失组合(含语言建模损失、蒸馏损失与隐状态对齐等)属公开报告内容,本文未直接引用其原始实验数字,标注(待核实)。它也是我们前几阶段所讲“教师选型—数据—T/α—训练”整套流程有效性的有力佐证。
6. 收尾检查清单
- 优化器与学习率已在 T/α 固定下扫描确认;
- 软标签已离线缓存,训练可直接读取;
- 早停以验证任务指标为准,并保存最佳 checkpoint;
- 部署配置明确使用 T=1;
- 完整记录教师版本、数据版本、T、α、学习率,保证可复现。
7. 显存、吞吐与软标签缓存
蒸馏训练比普通训练多了一个”教师前向”开销。若采用阶段二建议的离线软标签缓存,训练期只需加载缓存、做学生前向与反向,显存与吞吐接近普通训练;若在线生成软标签,则训练期需同时驻留教师与学生,显存接近翻倍、吞吐受教师速度限制。工程上应:
- 优先缓存软标签,用阶段二的方法离线生成;
- 若必须在线,考虑梯度检查点、教师半精度推理等降低开销;
- 监控”有效训练样本/秒”,而非仅看损失下降,避免被教师前向拖慢而不自知。
另外,蒸馏初期学生表征未稳,可先用较大权重硬损失”扶上马”(α 偏大),再逐步调高软损失占比,是工程上常见的课程式(curriculum)策略(具体切换节奏因任务而异,本文不给出固定值,标注(待核实)若需引用确切调度)。若采用 AdamW,权重衰减应按学生参数量重新标定,而非照搬教师配置。
8. 优化器选择经验
不同优化器对蒸馏的适配略有差异:
- Adam / AdamW:对超参较鲁棒,是蒸馏的常见默认;权重衰减需按学生参数量重新标定,而非照搬教师配置。
- SGD + momentum:在 CV 类任务上若学习率调度得当也可达同等效果,且泛化有时更稳,但调参更敏感。
无论哪种,都建议配合 warmup 避免初期大梯度冲击学生未稳表征;warmup 步数与峰值学习率应在阶段三确定的 T、α 下一起扫描,而非孤立设定。
延伸阅读 / 参考文献
- Hinton, Vinyals, Dean (2015),《Distilling the Knowledge in a Neural Network》, arXiv:1503.02531(软标签监督更平滑、可用更高学习率等训练观察,本文第 1、3 节依据)。
- Sanh et al. 2019,《DistilBERT, a distilled version of BERT》, arXiv:1910.01108(体积减小 40%、推理快 60%、保留约 97% 性能的公开报告,本文第 5 节依据)。