知识蒸馏:从 Hinton 到 DeepSeek
大模型怎么"教"小模型?soft labels 里藏着什么 dark knowledge?DeepSeek 怎么靠蒸馏一口气放出 6 个小模型?
① 直觉:老师 + 学生
知识蒸馏(Knowledge Distillation, KD)由 Hinton 在 2015 年提出。 最朴素的想法:训练一个又大又强的"教师"模型 T,然后让一个又小又快的"学生"模型 S 模仿教师的输出,而不是直接学原始硬标签。
听起来反直觉 —— 学生为什么要学老师,不直接学"真理"?答案藏在概率分布里。
② 关键洞察:软标签比硬标签信息更多
假设我们在做图像分类,给一张柯基犬的照片:
右边那个分布里藏着大量隐性知识 —— Hinton 称之为 dark knowledge:
- 哈士奇 0.15 比波斯猫 0.04 高 → 模型知道"都是狗,长相相近"
- 桌子 0.003 接近 0 → 模型分清"有生命 vs 无生命物体"
- 柯基 0.78 而不是 1.0 → 模型不过度自信,给类似类别留余地
这些类间关系,one-hot 标签里完全没有。让学生模型直接学 one-hot 等于丢掉教师辛辛苦苦学到的相似性结构。
③ 数学:高温 softmax + KL 散度
教师输出的概率往往太尖锐(柯基 0.99,其它都接近 0),dark knowledge 几乎看不到。 解决:用一个比较高的 temperature T 重新过 softmax,让分布"摊开":
T = 1 是普通 softmax;T 越大分布越平。蒸馏时通常 T ∈ [3, 10],让小类的相对差异显出来。
损失函数是两个 KL 散度(教师分布 vs 学生分布)加上一项原始硬标签损失:
- 第一项:学生在高温下尽量拟合教师的软标签(学 dark knowledge)
- 第二项:学生在正常温度下别忘了原始 one-hot 标签(学正确答案,用 交叉熵)
T²是常数补偿,因为高温下梯度会变小- α 调节比重,通常 0.5-0.9(偏重模仿教师)
④ 50 行代码看完整流程
⑤ 为什么有效?三个层面的解释
- 信息论角度:soft labels 是更高熵的"训练信号", 每个样本传递的信息量更大。one-hot 标签只回答"正确类是哪个"—— V 个候选里指一个,大约 log₂V bits; 而 soft labels 还告诉模型"各类的相对相似度",等于把整个概率分布都传过来, 信息量是 O(V) 级别 —— 信息含量丰富得多
- 正则化角度:教师的分布天然带"标签平滑"效应, 防止学生过度自信,泛化更好
- 课程学习角度:教师告诉学生"哪些类容易混", 学生能优先学好难分的边界,类似有经验老师指点的"重点 vs 非重点"
⑥ 为什么会有"蒸馏"这个东西?
要理解蒸馏的意义,得回到 2015 年的语境。当时的 Hinton 团队遇到一个具体的工程问题:
- 大模型 / 模型集合训练出来了,但部署不动。 当时业界发现"泛化最好"的方法是把 N 个不同模型的预测取平均(ensemble)。 但 N = 10 的 ensemble 部署成本是单模型的 10 倍,根本没法上线
- 移动端 / 嵌入式设备装不下大模型。 Google 想把图像识别放进手机,但当时 SOTA 模型一跑就把电池打爆了
- 训练用大模型,部署用小模型—— 这是工程师的本能直觉,但传统方法(直接训小模型)效果远逊大模型
Hinton 的洞察就是为解决最后这一点:让小模型从大模型那里"学到"一些原始数据里没有的东西 —— 类间相似性、不确定性结构 —— 就是上面说的 dark knowledge。 这把"训练 vs 部署"的鸿沟一下子缩窄了。
⑦ 蒸馏的意义与价值
从 2015 到 2026 的 11 年里,蒸馏的价值层层递进:
- 降低部署成本:大模型推理一次几毛钱,小模型几分钱。 C 端产品月调用量上亿级时,差异是一年几亿成本
- 降低使用门槛:1.5B / 7B 蒸馏模型能跑在普通笔记本 / 树莓派 / 手机上。 没有蒸馏,AI 永远只能在云端 —— 蒸馏让本地推理 / 离线 AI / 隐私敏感场景成为可能
- 加速研发迭代:研究者用小模型快速试验想法,效果好再扩到大模型 —— 把单次实验从"几周"压到"几小时"
- 数据效率革命:用大模型生成的"合成数据" 代替原始网络数据 —— 高质量、可控、覆盖罕见场景。 很多 2024-2026 的训练 trick 都建立在"大模型造数据 → 小模型学"的循环上
- 推动开源生态:DeepSeek-R1-Distill 这类开源蒸馏模型让全球研究者有了 "接近闭源 SOTA 的推理能力",公平参与前沿研究 —— 闭源 vs 开源的鸿沟正在被蒸馏缩小
- 能力解耦与分发:教师拥有"推理 / 数学 / 代码 / 多语言"全套能力, 蒸馏可以把单项能力抽出来给到对应小模型 —— 类似把通才老师的"数学课"单独录下来给孩子看
⑧ DeepSeek 现在又在做什么?
先把 2024-2026 的主要节点理一下:
| 时间 | 发布 | 意义 |
|---|---|---|
| 2024-06 | DeepSeek-Coder-V2 | 236B MoE 代码模型,开源代码模型新基线 |
| 2024-12 | DeepSeek-V3 | 671B MoE(每 token 激活 37B),训练成本仅 558 万美元,惊动业界 |
| 2025-01 | R1 / R1-Zero / R1-Distill ×6 | 开源推理模型 + 蒸馏家族,引爆全球开源 reasoning 复刻潮 |
| 2025-03 | V3-0324 | V3 增量更新,编码 / 工具调用 / 长上下文能力小步迭代 |
| 2025-05 | Prover-V2 | 数学定理证明专模,蒸馏 + 自学习闭环,在 Lean 上接近顶尖人类 |
| 2025-08 | V3.1 | 原生混合推理(hybrid thinking),思维链可按需开关 |
| 2025 末-2026 初 | V3.5 / R 系列迭代 | 长上下文、agent 能力、多模态版本陆续更新 |
快速浏览这条时间线,你会发现 DeepSeek 的"飞轮"长这样 ——每一个新模型都既是上一代的"蒸馏学生",又是下一代的"合成数据教师"。 这是过去一年所有"高效迭代"的核心方法论。
R1-Distill 不是 DeepSeek 故事的起点也不是终点,下面把这些动作分类整理:
关键做法跟传统蒸馏不完全一样:
- 蒸"过程"不只蒸"答案":DeepSeek 让 R1 对每道题输出完整的思维链(<think>...</think> 段),然后让小模型学习"完整的推理过程 + 最终答案"。 这比传统蒸馏的"概率分布拟合"信息量大得多
- 用 R1 生成大量合成数据:用 R1 跑大量数学 / 代码 / 逻辑题(约 80 万条样本),收集(题目,推理过程,答案)三元组。 这是"数据级蒸馏",相当于"R1 把课题翻译成更好的教材,喂给小模型"
- SFT 而不是 RLHF:传统强化学习训练推理能力要花费巨量算力。 R1-Distill 系列只用 监督微调,训练成本降到 1/100,但小模型推理能力比同尺寸原版翻倍
- 结果颠覆性:32B 蒸馏版在数学 评测(AIME, MATH)上接近 OpenAI o1-mini。 一个能跑在 2 张 A100 上的模型,达到了几个月前还要顶级集群才能跑的推理水平
A. 训练方法的演化
- R1-Zero 路线:尝试完全不要 SFT,让基础模型纯靠强化学习自发产生思维链。 这是"蒸馏的反向"—— 不让模型抄答案,而是让它"自己悟出来推理过程"。 R1-Zero 是 R1 的前身,证明了 RL 自己就能催生 reasoning,只是输出可读性差,所以最终版用 SFT + RL 混合
- 多轮迭代蒸馏:把 R1 蒸到 Qwen-Distill,再把 Distill 当新的"半教师"继续生成数据, 训练下一代。每一轮都让小模型再向教师靠近一步
- 混合推理("hybrid thinking"):从 V3.1 起,DeepSeek 模型支持按需开关思维链 —— 简单问题直接答(快 / 省钱),难题才调用 reasoning。 实现方式是用蒸馏让"短答案"和"长 CoT"在同一个模型里共存,再用一个 token / API 参数控制开关。 OpenAI 的 GPT-5 也走了类似路线,但 DeepSeek 是开源最早把这件事跑通的
B. 模型架构上的尝试
- MoE → 稠密的反向蒸馏:DeepSeek V3 / V3.5 是 671B 参数的Mixture-of-Experts(每次只激活约 37B)。它在云端部署很高效,但在端侧 / 单卡推理仍然太大。 他们在探索把整个 MoE 蒸成稠密小模型(dense small),让小模型推理时不再需要复杂路由
- 多 head latent attention 蒸馏:V3 用了一种叫 MLA(Multi-head Latent Attention)的新架构, 推理 KV cache 缩小到约 1/10。把 MLA 模型蒸到普通 attention 小模型时如何保留长上下文能力,是当前研究热点
- 长上下文扩展:从 32k → 128k → 1M token 的迭代。 蒸馏在这里的角色:用"超长上下文教师"生成"摘要 + 中间索引", 训练学生在短窗口里学会"长程依赖怎么 reason"
C. 领域专精:用蒸馏造垂直模型
DeepSeek-Prover-V2(2025-05):用 R1 生成 Lean 4 形式化证明,再蒸到小模型。 在 miniF2F、PutnamBench 等定理证明评测上接近顶尖人类竞赛选手。这是"领域专精蒸馏"目前最漂亮的案例DeepSeek-Coder-V2:把 V3 的代码能力蒸到 16B / 236B 两个版本, 专注代码生成 / 补全 / 修复。开源代码模型新基线DeepSeek-VL2:多模态视觉语言模型。 把"文本世界"的 reasoning 通过对齐蒸馏迁移到"视觉 + 文本"任务上
D. 飞轮:合成数据 + 自我引用
- 用 R1 / V3 生成训练数据 → 喂给下一代基础模型预训练 → 下一代更强 → 生成更高质量数据 …… 这是蒸馏催化下的数据飞轮。每转一圈对外部网络数据的依赖减少一些 —— 这也是 DeepSeek 能在闭门状态下持续追赶 OpenAI 的根本原因
- Agent 任务数据:让模型在沙箱里反复跑工具调用 / 多步 reasoning / 错误修正, 只保留"成功路径"做蒸馏数据。这是 2025 下半年到 2026 的新前沿
- 困难题挖掘(hard sample mining):让模型自己找"自己做不对的题", 升级教师再生成解答,专门蒸这部分困难数据。比"无差别造数据"效率高 3-5 倍
⚠️ 这个领域 6 个月一大变。本节快照到 2026 春,最新进展请关注 github.com/deepseek-ai 和 HuggingFace deepseek-ai 组织页。
对你的启发:蒸馏不是"小模型偷大模型作业",而是知识压缩与重新表达的工程艺术 —— 教师把"知识 + 推理过程"翻译成更易消化的形式(high-quality 训练数据),学生靠这些 训练数据 + 普通 SFT 就能学到 90%+ 的能力。
2026 年的现实是:谁会做合成数据 + 谁的蒸馏链路顺,谁就能用小预算追上巨头。 这正是 DeepSeek 一年内从无名到全球前列的核心方法论。
⑨ 蒸馏的局限
- 容量上限:小模型再怎么学也学不出"超过自身容量"的知识。 1.5B 模型蒸馏后能逼近 7B,但不可能超过 70B
- 分布偏移:学生只见过教师输出的数据,遇到分布外问题时仍然脆弱
- 放大教师偏见:教师有偏见 / 错误,学生会被放大学到。蒸馏不会修正错误,只会拟合
- 需要好教师:教师本身得足够强 —— 用一个 GPT-3.5 蒸馏到 7B,效果远不如用 R1