前言
蒸馏就是把一个大模型变成一个相对小的模型
一、蒸馏的目的
Distill knowledge from bigger models
从大模型中学习知识
Use the distilled knowledge to guide the learning of smaller models
用学习到的知识指导学习一个更小的模型
Use smaller models to mimic the effect of bigger models
小模型的效果可以逼近大模型的效果
二、蒸馏中的softmax
以分类问题为例。关于分类问题,就会想到softmax(一个向量中的每一个分量先求指数,然后求所有分量指数分和,指数/和得到一个新的分量,组成新的向量,和为1),蒸馏中的softmax也是这样的处理思路,只是加了一个温度指数T,将e的指数再除以T;
那么当T=1时,没有区别
当T=100时,差异变小
当T=+∞时,每个分量的指数形式变成1,那么新的向量x=1/n