知识蒸馏(Knowledge Distillation)到底干什么

类比现实蒸馏:加热酒,把酒精精华提取出来;
深度学习蒸馏:把大模型里面 “看不见的隐性知识” 提取出来,交给小模型。

传统蒸馏(普通师生蒸馏)

  • Teacher 教师:大模型,能力强,速度慢,参数量大
  • Student 学生:小模型,速度快,参数量小,能力弱

大模型不光输出最终类别标签,还输出软标签(soft label):不是简单的 “是猫 / 是狗”,而是概率分布。

例:输入一张猫图,大模型输出:猫 0.92,狗 0.07,鸟 0.01。
这个 0.07、0.01 就是隐性知识:大模型知道猫和狗长得有点像。
硬标签只会告诉你 = 猫,丢掉了这种细微关系。

蒸馏损失:强迫小模型,去拟合大模型输出的这套概率分布(软标签)

✅ 目标:让小模型学到大模型的理解,用小模型复刻大模型效果,实现轻量化、加速推理

自蒸馏(前面讲的)

没有独立的外部大教师。
教师和学生是同一个模型,靠不同增广 / 不同噪声视图,自己教自己。
教师信号来自模型自身另一个扰动版本,不是另外训练出来的网络。

简单对比:普通训练 vs 蒸馏

  1. 普通训练:只用真实数据集标签,只学标准答案。
  2. 蒸馏训练:除了标准答案,还要学大模型输出的 “软概率”,学到类别之间、特征之间细微相似关系。

一句话大白话总结

蒸馏:把大模型脑子里学到的经验知识,迁移到小模型;小模型变快,尽量不掉精度。自蒸馏就是不用额外大模型,模型自己的不同版本互相教。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐