小白看懂蒸馏原理
封面 · 真实大于一切
下载 PDF00 / 10
教师模型与学生模型之间传递知识的抽象实验室插画
一本给普通人的 AI 科普书

小白看懂
蒸馏原理

10个案例讲明白蒸馏是怎么回事。看懂教师、学生、教材和考试,也看清“原版 Prompt”究竟真在哪里。

门槛无需编程结构10个真实案例阅读约60分钟
真实
大于一切
01

模型蒸馏,就是让一个模型学习另一个模型表现出来的能力

不是把大模型压成 ZIP,而是“老师示范、教材整理、学生练习、用新题考试”。

老师带着学生完成练习和考试的科普插画

把它想成师傅带徒弟

  1. 师傅做示范、给答案或打分。
  2. 示范被整理成教材。
  3. 徒弟反复练习。
  4. 最后用没见过的新题考试。

边界:学生只在指定任务上学习教师信号。教师没有把“整个大脑”交出去。

为什么要蒸馏

更便宜降低单次任务成本
更快缩短等待时间
更小减少体积和资源占用
更专门集中学习一类能力
更可控学习固定格式与流程
有取舍复杂推理和长尾能力可能下降

事实:蒸馏通常是在能力、速度、成本和体积之间取舍。[S04][S09–S12]

02

少一个角色,都不算完整闭环

教师提供信号,学生吸收信号,教材承载信号,考试证明学生不是背题。

教师 Teacher更大的模型,或多个模型组成的 ensemble。
学生 Student通常更小、更便宜,或更擅长某一任务。
教材 Dataset答案、概率、理由、偏好或工具轨迹。
考试 Eval用训练时没见过的新题独立检验。
03

学生学的不止是“正确答案”

从标签到概率,再到内部表示和理由,教师可以给出不同深度的学习信号。

Hard Label|只看答案

图片里是一只猫,答题卡只写“猫”。信息清楚,但不知道别的选项有多像。

Soft Label|看确定程度

猫 70%、狐狸 25%、汽车 0.1%。次高选项也藏着教师对世界的判断。[S09]

Logits 与 Temperature

Logits 是归一化成概率前的原始分数。低温像老师斩钉截铁;高温像老师把几个可能选项都摊开。Temperature 不创造新知识,只改变信号的呈现方式。

Loss

Loss 是学生离目标还有多远。像射箭:箭离靶心越远,Loss 越大;训练不断调整参数,让下一箭更接近。

04

放进去什么,最后得到什么

合成数据只是教材。只有继续训练 Student 并独立评测,才构成完整蒸馏闭环。

9类主要输入

普通样本文本、图片、数学题、代码
真实标签人工标注或可验证答案
Teacher Response教师生成的最终回答
Soft Labels多个候选的相对概率
内部表示Hidden States / Attention
理由 Rationale公开生成的解释或步骤
Preference / Score哪个更好、各项多少分
Tool Trace调用、参数、返回与答复
多模态文字、图像、音频、视频

主要产物

SFT 训练集、Preference 数据集、Student Model、LoRA / Adapter、Reward Model、专项分类器或 Detector。

05

10个案例,看见十种“教法”

每个案例都回答:输入是什么、教师给了什么、学生学什么、结果怎样。Prompt 只展示已核验原文。

01

经典知识蒸馏:老师不只告诉你答案

Hinton、Vinyals、Dean|Soft Targets [S09]

小白类比:老师不只说“选 A”,还告诉学生 A、B、C 各有多像正确答案。

无聊天式 Prompt。这是训练系统中的概率分布蒸馏,不能为了好看编一段对话。
INPUT同一训练样本例如一张图片
TEACHERSoft Targets经 Temperature 处理
MATERIAL标签+概率比单一答案信息更多
STUDENT较小单模型学习 ensemble 判断

论文报告 MNIST 结果,并将商业语音系统的 ensemble 知识蒸馏到单模型;本书不补写摘要未给出的样本概率。

02

整句答案蒸馏:学习老师生成的序列

Sequence-Level Knowledge Distillation [S10]

小白类比:学生不再只看每个词的局部提示,而是学习老师写出的一整句译文。

未发现可逐字展示的自然语言 Prompt。本书不虚构翻译源句和教师译文。
INPUT翻译源序列待翻译的一整句
TEACHER完整目标序列教师生成的译文
MATERIAL源句+目标句配对学习
STUDENT较小生成模型学习序列预测

论文摘要称最佳学生比当时教师快 10 倍,性能损失很小。这是论文结果,不是通用保证。

03

数学推理:OpenR1-Math-220k

公开数据集原始 row|Apache-2.0 [S17]

为什么数学题常见:答案明确、难度可分级,还能用公式或验证器筛选。数据卡描述 220k 道题,Hugging Face 元数据列出 225,129 条样本,每题含 2–4 条 DeepSeek-R1 reasoning traces。

P09 · OPEN-SOURCE EXACT
精确前置指令译文非原版
Please reason step by step, and put your final answer within \boxed{}.
来源与证据边界

OpenR1-Math-220k dataset card。作者公开的精确前置指令。https://huggingface.co/datasets/open-r1/OpenR1-Math-220k

INPUT船速原题加精确前置指令
TEACHERR1推理轨迹两条 generation
MATERIAL题目+验证字段保留 correctness
RESULT10 和 4但验证为一真一假

两条 generation 最终都写出 10 和 4,但 correctness_math_verify[true, false]。看起来一样,仍需验证器筛选。

04

专项分类:OpenAI 葡萄品种案例

OpenAI 官方 Cookbook|MIT [S05]

小白类比:先让资深侍酒师回答一批酒评,再把审核后的答案教给成本更低的助手。

P06A · OFFICIAL SYSTEM MESSAGE
逐字 System message译文非原版
You're a sommelier expert and you know everything about wine. You answer precisely with the name of the variety/blend.
P06B · ORIGINAL PYTHON F-STRING BODY
保留来源开头换行与缩进译文非原版
    Based on this wine review, guess the grape variety:
    This wine is produced by {row['winery']} in the {row['province']} region of {row['country']}.
    It was grown in {row['region_1']}. It is described as: "{row['description']}".
    The wine has been reviewed by {row['taster_name']} and received {row['points']} points.
    The price is {row['price']}.

    Here is a list of possible grape varieties to choose from: {variety_list}.
    
    What is the likely grape variety? Answer only with the grape variety name or blend from the list.
    
来源与证据边界

OpenAI Cookbook notebook。英文框分别保留原 System message 与 Python f-string body;没有把两个来源字符串拼成一条 Prompt。未复制具体酒评原文,也不补写未收录的 Teacher 输出。

INPUT酒评字段产区、描述、分数等
TEACHERgpt-4oJSON Schema 品种名
MATERIAL500行子集输入+通过评测的回复
STUDENTgpt-4o-mini完成专项分类
05

DistilBERT:不用聊天Prompt也能蒸馏

预训练阶段蒸馏 [S11]

小白类比:老师不写长答案,而是让学生对齐自己的判断分布和“脑内笔记”。

无聊天式 Prompt。它使用预训练文本、Logits 与隐藏表示,不是通过聊天界面套取回答。
INPUT预训练文本通用语料
TEACHER分布+表示内部学习信号
LOSS三类目标LM、蒸馏、余弦距离
STUDENTDistilBERT更小、更快

论文摘要报告:体积减少 40%,保留 97% 语言理解能力,速度提升 60%。仅代表该论文实验。

06

TinyBERT:两阶段、多层次地学

Transformer 多层信号蒸馏 [S12]

小白类比:学生先学通识课,再学考试专项;不仅对答案,还对齐老师的课堂笔记。

无聊天式 Prompt。该方法匹配 Transformer 的 Attention、Hidden States 等多层信号。
INPUT通用+任务数据两个学习阶段
TEACHER多层信号中间层与预测层
MATERIAL对齐目标通用与任务蒸馏
STUDENT4层 TinyBERT通识+专项

论文摘要报告:达到教师 BERTBASE 在 GLUE 上超过 96.8% 的表现,同时体积小 7.5 倍、推理快 9.4 倍。

07

理由也当教材:Distilling Step-by-Step

Google Research|Rationale Distillation [S13][S14]

小白类比:老师不仅给标签,还写一句“为什么”。学生一边学答案,一边学理由。

完整生成 Prompt 未取得。本项目未下载数据包,因此只展示官方论文和仓库公开的方法定义,不编 Prompt。
Loss = alpha × label_prediction_loss + (1 - alpha) × rationale_generation_loss
INPUT分类或问答普通任务样本
TEACHER标签+理由公开生成 rationale
MATERIAL双任务监督答案与理由一起学
STUDENT较小任务模型提高数据效率
08

自动造教材:Self-Instruct 与 Stanford Alpaca

官方代码与原始公开数据 [S15][S16]

小白类比:先给模型几道样题,让它继续出新题、写输入和答案。过滤后,再用这些三元组训练学生。

P13 · ORIGINAL TEACHER-GENERATED ROW
公开数据行译文非原版
{
  "instruction": "Explain why the following fraction is equivalent to 1/4",
  "input": "4/16",
  "output": "The fraction 4/16 is equivalent to 1/4 because both numerators and denominators are divisible by 4. Dividing both the top and bottom numbers by 4 yields the fraction 1/4."
}
来源与证据边界

Stanford Alpaca 原始 teacher-generated 数学样本,text-davinci-003 生成,CC BY-NC 4.0。Self-Instruct 前缀原文为 “Come up with a series of tasks:”。

边界提醒:Self-Instruct 首先是数据合成与自训练,不等同于经典 Teacher–Student KD。合成教材随后训练 Student 并在新题上评测,才构成这里所说的广义蒸馏流程。

INPUTSeeds+前缀少量示例任务
TEACHER新三元组instruction/input/output
MATERIAL过滤后数据去无效与相似内容
STUDENT7B LLaMAAlpaca 使用 52K 条

Self-Instruct 作者警告:抽样 200 条中可能有 46% 存在问题。“自动生成”不等于“自动可靠”。

09

Agent工具使用:Microsoft Traces → SFT

Microsoft Foundry 官方 MIT Demo [S06]

小白类比:新人不只听师傅说什么,还观察师傅先查订单、再查物流、最后提交结果。

P07 · TWO OF 20 EXACT TEMPLATES
官方仓库逐字节选译文非原版
I want to return my order {oid} — the {item} doesn't fit
My order {oid} arrived damaged. The {item} has a cracked screen. Can I get a refund?
来源与证据边界

完整 20 条模板中的两条逐字节选。Microsoft Foundry / TracesDistillation / fixtures/push_prompts.py,MIT。

取证边界:以下生产 traces、Teacher tool-call 与结构化训练材料来自 Microsoft demo README 的流程说明。本项目只核验 README 与公开 fixtures,未取得私有生产 traces,也没有把 fixtures 冒充生产日志。

INPUTREADME所述请求+System另含 tool schema
TEACHERREADME所述 gpt-4.1-mini逐条生产输出未公开
MATERIALREADME所述 traces消息、调用、工具返回
STUDENTgpt-4.1-nano学习工具选择

该 demo 的 held-out(训练时没见过)结构测试报告:Student 从 60% 提升到 100%,每 token(每个文本单位)成本约低 10 倍。不是所有 Agent 的通用结论。

10

合法学习与攻击边界:公开证据能证明什么

官方披露、片段与 synthetic seed 必须分开 [S01][S02][S03]

先说结论:没有找到 Anthropic 所称 1,600 万次交互的原始 Prompt 泄露。Anthropic 只公开一条明确标为“近似类似 Prompt”的示例。这三类证据互不相连,不能拼成同一次真实蒸馏任务。

P01 · OFFICIAL APPROXIMATE EXAMPLE
近似示例,不是泄露原Prompt译文非原版
You are an expert data analyst combining statistical rigor with deep domain knowledge. Your goal is to deliver data-driven insights — not summaries or visualizations — grounded in real data and supported by complete and transparent reasoning.
来源与证据边界

Anthropic 官方披露。原文说 “approximates similar prompts”,所以不能称为 DeepSeek 原版 Prompt 或 1,600 万条中的某一条。

P02 · OFFICIAL FRAGMENT
Google 局部原文译文非原版
"... language used in the thinking content must be strictly consistent with the main language of the user input."
来源与证据边界

省略号来自 Google 公告,前文未公开,不得自行补齐。Google 表示该 campaign 超过 100,000 prompts。

P03 · THIRD-PARTY SYNTHETIC SEED
不是真实攻击流量译文非原版
{
  "prompt": "Solve this differential equation: dy/dx = 2x + 3y. Walk me through your reasoning step by step, showing all intermediate work.",
  "subcategory": "reasoning_trace_extraction",
  "complexity": "high",
  "domain": "mathematics",
  "language": "en"
}
来源与证据边界

Validia-AI / Distillery,第三方 GPL-3.0 synthetic seed。README 明确说明 generated synthetic data,不是真实攻击流量。

能证明
  • 官方确实发布上述文字
  • Validia 公开 synthetic seeds
  • OpenR1 含大量数学推理数据
不能证明
  • 1,600万条真实Prompt已泄露
  • 所称攻击流量主要是数学题
  • 厂商归因已由法院裁定
06

名字很像,动作并不一样

一次训练可能同时属于微调与蒸馏,但数据合成、量化和剪枝各自解决不同问题。

蒸馏 vs 数据合成合成是制作教材;蒸馏还要训练 Student 并评测。
蒸馏 vs 微调微调是继续训练;蒸馏说明信号来自 Teacher。
蒸馏 vs 量化量化用更少位数保存参数,像更省墨的印刷。
蒸馏 vs 剪枝剪枝删除连接;蒸馏重新训练另一个 Student。
蒸馏 vs 模型提取技术可重叠,合法性取决于授权、条款与调用方式。
07

先写验收单,再看漂亮案例

“模型更小”不是成功。能力、效率、稳定、安全和权利边界都要一起看。

  1. 学生必须保住哪些能力?
  2. 可以牺牲哪些能力?
  3. 要快多少、便宜多少或小多少?
  4. 用什么没见过的新题考试?
  5. 哪些安全或权利问题一票否决?
能力正确率、通过率、任务完成率
效率延迟、吞吐、显存、能耗、成本
稳定换说法、长文本、噪声与工具失败
安全与权利隐私、版权、许可与安全边界

三个假成功:训练集高分、只挑漂亮案例、只报模型更小。

08

“原版”也有不同身份证

未改写,不代表它一定是攻击日志;它可能是官方近似示例、官方片段、synthetic seed 或公开数据行。

  1. 证据类型:官方、论文、仓库还是第三方?
  2. 英文 Original 与本书中文译文是否分开?
  3. URL、作者、发布日期是否齐全?
  4. 文件路径、样本ID、split或revision是否可回溯?
  5. 抓取时间、SHA-256与许可边界是否记录?

始终追踪:输入从哪里来 → Teacher 给了什么 → 教材怎样形成 → Student 是谁 → 新题考得怎样 → 是否获得授权。

09

把工程词翻译成人话

第一次看到术语时,不必记公式。先记住它在“老师带学生”的故事里扮演什么角色。

Knowledge Distillation:让 Student 学习 Teacher 提供的知识信号。

Hard Label:只给最终类别或标准答案。

Soft Label:Teacher 对多个候选给出的概率分布。

Logits:归一化成概率前的原始分数。

Temperature:调整分布尖锐或平缓的参数。

Loss:当前输出与目标之间的可计算差距。

Rationale:公开生成的理由,不等于完整内部思维。

Response Distillation:用 Teacher 最终回答训练 Student。

Tool-use Trace:任务、调用、返回和最终答复的记录。

Model Extraction:通过查询或观察目标模型复制其功能。

10题自测

1. 为什么蒸馏不等于把大模型压缩成 ZIP?

因为它用 Teacher 信号重新训练 Student,不是打包 Teacher 权重。

2. Teacher、Student、教材、考试分别是什么?

Teacher 提供信号;Student 学能力;教材承载输入与信号;考试用未见数据检查。

3. Hard Label 与 Soft Label 有何不同?

Hard Label 只给答案;Soft Label 还给多个候选的相对概率。

4. 为什么经典蒸馏可能没有聊天Prompt?

它可能直接读取 Teacher 概率或内部表示。

5. 收集Teacher Response为何不等于完成蒸馏?

还要清洗、训练 Student,并独立评测。

6. 为什么数学题常用于reasoning distillation?

答案通常明确、难度可分级,也容易用验证器筛选。

7. OpenR1 row 0 告诉我们什么?

最终数字一样不代表两条推理都通过验证。

8. Validia seeds为什么不是攻击日志?

仓库明确声明它们是 generated synthetic data。

9. Anthropic示例为何不是DeepSeek原版Prompt?

Anthropic 明确写的是 approximates similar prompts。

10. 为什么不能只看Student变小?

还要检查能力、效率、稳定、安全、权利和未见测试集。

10

每一条“真实”,都能走回原处

完整抓取时间、license、SHA-256 与取证范围记录在 data/sources.json。

查看逐字 Prompt 档案 · 查看机器可读来源元数据

已复制