一句话定义

知识蒸馏(Knowledge Distillation) 指让一个已经训好的大模型当教师,用它给出的结果去训练一个学生小模型,使小模型在目标任务上接近大模型的表现。

常见的监督信号有两类:

  • 软标签:不只告诉学生「这是苹果」,而是给教师输出的概率分布(苹果 0.8、梨 0.15、其他 0.05)。分布里带着「这张图和梨也有点像」这类边界信息,比硬标签信息量更大。
  • 中间表示:让学生去对齐教师中间层的特征,而不只看最终输出。

它解决什么问题

端侧设备的算力、内存、功耗都有限,大模型跑不动。如果直接把小模型扔到标注数据上硬训,既需要大量标注,效果也未必好。

蒸馏的价值在于:把大模型已经学会的东西,用一种更省数据的方式搬进小模型。训练数据可以用教师生成的结果,也可以是无标注的真实画面。

关键做法

  • 教师不一定要最大,但要在同一件事上够强。 关键是教师的能力和输入分布与学生要解决的任务一致。
  • 中间层对齐。 在视觉任务里,让学生学教师某几层的特征图,通常比只学输出更有效。
  • 分阶段训练。 先用标注数据把学生训到基本可用,再用蒸馏做精调,比一上来就蒸更稳。
  • 师生分置。 arXiv 有专门的工作(编号 2610.17644)解决「教师太大、和学生放不进同一张卡」的问题,把两者拆到不同设备上训练。

用不上的时候

  • 蒸馏会传递教师的习惯。 研究「印记(Imprinting)」效应的工作(编号 2610.18517)指出:学生在学会任务能力的同时,也可能继承教师在风格和倾向上的行为模式。放到视觉识别上可以这样理解——教师在某些品类上的系统性偏好,有可能一并传给学生。这类影响的具体范围仍在研究中,属于上线前值得专门抽查的项,不是已定论的结论。
  • 学生的上限是教师。 教师认错的地方,学生会照学。所以教师本身要先在真实业务数据上验过。
  • 蒸馏不是免费的。 生成教师输出、训练学生都要算力;师生规模差距不大、或者数据本来就充足时,收益有限。

参考

  • arXiv Imprinting: Knowledge Distillation Can Shift Student Behavior(编号 2610.18517)
  • arXiv DisaggKD: Efficient Knowledge Distillation through Teacher-Student Disaggregation and a Fused Loss(编号 2610.17644)

延伸阅读

相关词条


火眼识别提供端侧视觉引擎与设备管理平台,相关方案见 火眼识别官网。