首页 炼丹房 帖子详情
知识蒸馏有哪些实践路径?
收藏
快速回复
炼丹房 其他学习资料 458 6
知识蒸馏有哪些实践路径?
收藏
快速回复
炼丹房 其他学习资料 458 6

知识蒸馏是先训练一个大模型,然后用大模型指导小模型训练,期望产生一个精度不输大模型且计算量小的模型,今天摸鱼时候刚好看到了这个方面的有关知识,目前有3种主要的蒸馏思路:

1. 基于输出结果的蒸馏,即让学生模型学习教师模型的软标签(分类等任务中)或者概率热度图(分割等任务中)。
2. 基于特征图的蒸馏,即让学生模型学习教师模型中间层的特征图,拟合中间层的一些特征。
3. 基于关系的蒸馏,针对不同的样本(假设个数为N),教师模型会有不同的输出,那么可以基于不同样本的输出,计算一个NxN的相关性矩阵,可以让学生模型去学习教师模型关于不同样本的相关性矩阵。

1
收藏
回复
全部评论(6)
时间顺序
DeepGeGe
#2 回复于2021-12

第一种蒸馏思路是最常见和好理解的,训练好教师模型之后,对于每一个输入,可以将教师模型的输出作为标签。以前我还想过,能不能产生一些随机生成的输入,然后这些随机输入的标签设为教师模型的输出。这样在训练学生模型的时候能够获得近似无穷的数据。<_<

0
回复
FutureSI
#3 回复于2021-12

最近也在蒸馏模型,火候还真不好掌握啊

0
回复
FutureSI
#4 回复于2021-12

有时感觉模型在学习一一对应的输出,怀疑能不能泛化。。。

0
回复
FutureSI
#5 回复于2021-12

不行就原模型上裁剪然后再蒸馏finetune吧

0
回复
李长安
#6 回复于2021-12

优秀

0
回复
ChaoII
#7 回复于2021-12

蒸馏的火候不好把控,同样的方式,有些模型效果不错,有些直接crash触地。。。

0
回复
在@后输入用户全名并按空格结束,可艾特全站任一用户