如今的语义污染太严重,合成数据被和蒸馏画上了等号,这是一样东西吗?正本溯源,合成数据不是蒸馏
什么是蒸馏?蒸馏是用于模型压缩的一套算法,原始的蒸馏定义来自于hinton的教师学生模型那一套面向logits的蒸馏。后来随着模型压缩的发展,有tinybert这种hidden state,attention score都拿过来蒸馏的做法,总之目的也还是模型压缩。后来进一步的研究,发现使用logits蒸馏不如直接用数据,于是出现了数据蒸馏,但是基本上依然没有脱离模型压缩的那一套理论,既
- 一个教师模型(通常是大模型),一个学生模型(通常是小模型),教师比学生强
- 目标是将该教师的知识传授给学生
- 整个蒸馏过程学生的数据来源仅为该教师
那ds到底有没有蒸馏,显然没有,无论是v3还是r1都没有。首先我们讨论一件事,数据合成算不算蒸馏?合成数据中不只包含一个模型生成的数据,明显不满足“一个”教师模型这样的限制,此时蒸馏论已经不攻自破了。且在r1中,sft的目的并不是学会某种“知识”,而是在提高各种任务上的通