蒸馏:用大模型教出小模型
知识蒸馏训练一个小模型去模仿一个大模型。诀窍不在于复制答案,而在于复制大模型不确定的方式。
最大、最有能力的模型,也是运行起来最昂贵的。它们慢、每次查询成本高,而且常常装不进你实际拥有的硬件。知识蒸馏正是那种让你保留大部分能力、同时甩掉大部分成本的技术。一句话概括这个思想:训练一个小模型去模仿一个大模型。 有意思的部分在于,"模仿"原来意味着什么。
这项技术在深度学习时代被推广开来,作为一种把笨重、精确的模型压缩成紧凑、可部署模型的方法。这套设定有一个好记的名字。大模型是教师;小模型是学生。训练学生不是为了从头重新发现任务,而是为了重现教师的行为。
为什么不干脆直接训练小模型
显而易见的替代方案是,在教师所见的同一批带标签数据上训练一个小模型,完全跳过教师。有时这行得通。但常常不行,而原因很有启发性。
真实的训练标签通常是硬标签:这张图是一只猫,没有别的。那个单一的答案丢掉了一个训练有素的教师所知道的大量东西。一个好教师不只说"猫"——它说"几乎肯定是猫,略有可能是狗,绝对不是飞机"。那种横跨所有选项的置信度分布,是一个比单词标签丰富得多的训练信号。它编码了哪些错误是合理的、哪些是荒谬的。一个在硬标签上训练的小模型永远看不到那个;一个在教师完整输出上训练的学生则能看到。
软目标:思想的核心
教师在所有可能答案上的完整概率分布,常被称为它的软目标(与单一正确标签这个硬目标相对)。这些软目标承载着研究者有时称为暗知识的东西——教师所学到的、在标签本身中不可见的那些关系。
想想数字识别。一个手写的 7 可能会把一点点概率拉向 1,因为 7 和 1 看起来可能相像,而拉向 8 的几乎没有。那一丁点向 1 的倾斜,是关于输入形状和问题结构的真实信息。训练学生去匹配整个分布——而不只是头号答案——就传递了那种结构。学生学到的是教师的世界观,而不只是它的结论。
为了让这些软目标更具信息量,蒸馏常常把分布进一步软化,把概率摊开,好让那些次优选项之间的微小差异变得更明显、更易于学习。学生被要求紧密地匹配这幅软化后的图景。
什么被传递了,什么没有
蒸馏传递的是行为,而非理解。学生学会在它被训练过的那类输入上,生成看起来像教师输出的输出。这既强大,也有边界:
- 它的好坏取决于覆盖。 学生在它见过的例子上模仿教师。在任何与蒸馏数据都不像的输入上,学生没有教师可复制,只能退而依赖它勉强泛化出来的东西。
- 它会继承教师的缺陷。 如果教师有偏见、过度自信,或以某种系统性的方式出错,学生也会把那照搬过来。蒸馏是忠实的模仿,包括对错误的忠实模仿。
- 它在被蒸馏的任务上很少超越教师。 学生在追逐教师的行为;就那个特定信号而言,教师就是天花板,哪怕学生更高效。
这些都不会让蒸馏变得不那么有用。它只是设定了预期:你买到的是效率,而非新的能力。
用于语言模型的蒸馏
同样的思想适用于大语言模型,只是有些转折。一个语言模型把下一个词元预测为词表上的一个概率分布,所以它的软目标恰恰是蒸馏所赖以茁壮的那种丰富信号。可以训练一个学生模型,在大量文本上匹配教师的下一词元分布。
还有第二种、越来越常见的风味,它根本不需要访问教师的内部概率。在这里,教师只是生成输出——答案、解释、解题过程——而学生就在那些生成的文本上训练,仿佛它是普通的训练数据。这有时被称为序列级或基于生成的蒸馏,它与"在模型产出的数据上训练"这一更宽泛的实践相互交融。它很方便,因为它适用于任何你能查询的教师,哪怕是一个你只能通过返回文本的接口去触及的教师。
两种风味共享同一个核心赌注:如果你在更大模型的行为上、而非仅在原始标签上训练,一个更小的模型就能承载更大模型相当可观的一部分能力。
为什么这在实践中重要
蒸馏是有能力的 AI 能够廉价地、贴近需求地运行的主要原因之一。一个蒸馏出来的模型可以小到足以高并发地提供服务、快到足以交互式使用、紧凑到足以在普通硬件上运行。对许多真实的部署而言,问题不是"现存最有能力的模型是什么?",而是"我负担得起每天运行一百万次的、最有能力的模型是什么?"蒸馏推动了那条边界。
它还促成了一种有用的分工:在一个庞大、昂贵的教师上重金投入,然后把它蒸馏成一个为不同成本和延迟预算调校的小学生家族。你为那份艰苦的工作付一次钱,然后把它摊销到许多更便宜的模型上。
诚实的权衡
蒸馏不是免费的,也不是无损的。
- 你放弃了一些质量。 学生更小;在最难的输入上,教师和学生之间的差距会显现。手艺在于选一个学生尺寸,让损失对你的用例而言是可接受的。
- 它需要对的数据。 学生只在教师有所示范的地方学习。选择在什么上面做蒸馏——覆盖你真正在意的那些输入——和算法本身一样重要。
- 它会放大悄无声息的失败。 因为学生不加批判地复制教师,一个细微的教师偏见可能被烘焙进一个你随后会广泛发布的模型里。
了解这些局限,正是把蒸馏当作一个可靠的工程工具、而非一条一厢情愿的捷径的分界线。
总结
知识蒸馏训练一个小学生去模仿一个大教师——而关键洞见在于,最有价值的可复制之物,不是教师的最终答案,而是它完整的置信度分布,那些揭示了教师如何对不确定性进行推理的软目标。那个更丰富的信号,让一个紧凑的模型能以一小部分的成本承载大模型相当可观的能力。它不会超越它的教师,也会继承教师的缺陷,但作为一种把昂贵的能力转化为可部署能力的方法,蒸馏是现代机器学习中最不张扬却最重要的技术之一。
