开源专题 · 大模型如何变小

蒸馏是怎么做的:从老师到学生

上一节讲了为什么要把模型做小。这一节看具体怎么做。整个过程比想象中朴素:让老师去答题,把答题过程记下来,拿这批材料去训练学生。难点不在流程,在细节。

五步走完
1

准备问题集

收集覆盖目标领域的问题。问题可以人工整理,也可以让模型自己生成。这一步决定了学生模型能力的上限:没被问到的领域,学生就学不到。

2

教师模型作答,保留完整推理过程

关键在「完整」两个字。只保留最终答案,学生学到的是背结论;保留中间的推理链条,学生才有机会学到怎么想。这也是推理类模型特别适合当老师的原因,它们本来就会把思考过程写出来。

3

取出概率分布,而不只是最终答案

模型每输出一个词,内部其实是一整张候选词的概率表。只取排第一的那个会丢掉大量信息,把整张表留下来,传递的信息量完全不同。下一段展开讲。

4

用这批材料训练学生模型

训练数据由三部分组成:原始问题、教师的完整回答、以及每一步的概率分布。学生模型的目标是让自己的输出分布尽量贴近老师的。

5

评估并迭代

在测试集上看学生跟老师差多远,再回头调整问题集的覆盖面和训练配置。通常要来回好几轮。

第三步为什么重要

假设有一道图片分类题,正确答案是猫。传统训练的做法是告诉模型:猫对,其他全错。蒸馏的做法是把老师的判断原样交给学生。

硬标签
传统训练的做法
正确
错误
错误
狗和兔都被判为错误,两者一样错。「狗跟猫比较像,兔子差得远」这层信息完全丢失了。
软标签
蒸馏的做法
72%
20%
8%
学生除了知道答案是猫,还知道了老师眼中这三者的远近关系。同样一道题,携带的信息多得多。
一句话概括:硬标签只告诉学生答案,软标签还告诉学生老师是怎么权衡的。训练一遍能学到的东西差好几倍,这就是蒸馏比从零训练省钱的根本原因。
温度系数:把分布调软

实际操作时还有一个小技巧。老师如果太自信,概率分布会非常尖锐,比如 98% / 1% / 1%,这跟硬标签就没多大区别了,软标签的优势体现不出来。

做法是在计算概率时除以一个数 T,也就是温度系数。T 越大分布越平缓,词与词之间的相对关系就越明显。这跟第二篇章讲过的 Temperature 是同一个机制,只是用途不同:那里是为了让输出多样,这里是为了让信息更充分地传给学生。

这一段是本节最难凭空想象的地方,直接拖给你看。下面是老师看一张猫的图片时给出的判断,你来调 T

把 T 从最左边慢慢拖到右边,盯住「狗」和「兔」这两条。
温度 T T = 1
一个真实的蒸馏产物

光讲流程比较抽象。看一个公开的例子:DeepSeek 在 2025 年 1 月发布 R1 时,同时开源了六个蒸馏版模型,都是用 R1 生成的推理数据训练出来的。

DeepSeek-R1-Distill-Qwen-1.5BQwen2.5 底座
DeepSeek-R1-Distill-Qwen-7BQwen2.5 底座
DeepSeek-R1-Distill-Llama-8BLlama3 底座
DeepSeek-R1-Distill-Qwen-14BQwen2.5 底座
DeepSeek-R1-Distill-Qwen-32BQwen2.5 底座
DeepSeek-R1-Distill-Llama-70BLlama3 底座
来源:DeepSeek-R1 官方仓库模型卡与 GitHub 说明,原文为「open-source distilled 1.5B, 7B, 8B, 14B, 32B, and 70B checkpoints based on Qwen2.5 and Llama3 series」。发布日期 2025-01-20,核对日期 2026-08-07。

这个清单里有一处值得留意的细节:学生模型的底座不是自家的,是从别人开源的模型里挑的。六个里四个选了 Qwen2.5,两个选了 Llama3。

为什么这么挑,官方没有解释。但可以反推出几个条件:底座必须权重开放且许可允许再训练,否则做出来不能发布;尺寸谱系要足够全,才能一次覆盖从 1.5B 到 70B 的多个档位;社区工具链要成熟,训练和部署才不用重造轮子。这三条同时满足的选项当时并不多。

为什么这件事值得单独讲:厂商自己说的开源程度可以有水分,但另一家公司愿意把自己的旗舰成果建在你的底座上,是拿真金白银的算力投的票。看第三方的选择,比看官方介绍可靠。
效果到底怎么样

DeepSeek 公布的评测里,32B 的蒸馏版在数学和代码几项基准上超过了 OpenAI o1-mini,官方称其在同期稠密模型中达到新的最好成绩。

这里要留个心眼。社区在自己的测试集上复现时,结果并不总和官方数字一致,有开发者反馈实际体验低于宣称水平。这不一定是谁造假,更常见的原因是评测集选择、提示词写法和采样参数的差异。结论是老规矩:官方跑分只能当参考,真正要用之前,拿自己的任务测一遍。
官方评测数据来自 DeepSeek-R1 发布说明;社区复现的分歧见 r/LocalLLaMA 等公开讨论。核对日期 2026-08-07。

到这里,蒸馏的好处讲得差不多了:便宜、快、能本地跑。下一节讲代价。学生学的是老师的全部,包括老师的毛病。