本文转自微信公众号“量子位”,作者:关注前沿科技。
克雷西 发自 凹非寺
量子位 | 公众号 QbitAI
大模型蒸馏也有Scaling Law了!
苹果最新研究,发现了蒸馏过程中学生模型和教师模型能力之间的幂律关系。
值得关注的是,蒸馏过程当中的
教师模型,并不是越强越好
。
他们发现,学生模型的损失随教师模型损失降低
整体呈下降趋势,但如果教师模型能力过强,学生模型性能反而会恶化
。
并且存在一个学生模型相对教师模型学习能力的转折点,在其两侧分别呈现出了不同的幂律关系。
基于一系列发现,作者还针对模型蒸馏过程中的计算资源分配给出建议,帮助根据学生模型的规模、可用资源等因素选择效果更好的分配方式。
大模型蒸馏的Scaling Law
通过对不同参数量、蒸馏数据量以及不同能力的学生模型
(以监督训练时的损失衡量)
和教师模型进行实验和数据拟合,作者发现蒸馏时的Scaling Law。
整体来看,
学生模型的交叉熵损失L
S
由教师模型的交叉熵损失L
T
和学生模型的模仿能力决定
。
而学生模型的模仿能力由三部分相乘得到,分别与教师模型损失、教师学生模型之间的能力比值
(带波浪线的L
S
表示通过监督方式训练的学生模型损失)
和数据规模N
S
、蒸馏数据量D
S
相关。
至于公式中的c0、c1、d1、f1、α′、β′和γ′,则都是需要根据实验结果拟合的参数
(均为正数)
。
也就是说,如果参数量和蒸馏数据量固定,对于同一个学生模型而言,影响因素就剩下教师模型了。
直观上看,学生模型损失L
S
总体上随着教师模型损失L
T
的降低而降低。
但当教师模型能力远超学生模型时,继续提升教师性能的边际效用递减,学生模型性能可能反而变差
。
式中的d1就是其中的转折点,在其两侧分别服从不同形式的幂律——
而当
学生模型参数量N
S
和蒸馏数据量D
S
同时趋于无穷大时,知识蒸馏能让学生模型性能最终逼近教师模型
。
蒸馏计算资源怎么分
基于以上发现,作者在论文中针对不同的蒸馏情况,给出了高效的计算资源分配建议。
其中主要是资源在教师模型训练、教师模型推理和学生模型训练之间的分配,除了可用资源量之外,主要影响因素是
学生模型的大小
。