花 600 万就能复刻百亿模型?蒸馏技术到底是什么
摘要:DeepSeek 用 600 万美金训练成本做出了对标 OpenAI 的模型,OpenAI 指控它用了"蒸馏"技术。蒸馏到底是什么?它如何让小模型学会大模型的"思维方式"?本文从师生框架、硬标签/软标签、温度参数 T 等维度,拆解知识蒸馏的核心原理。
📑 目录
- DeepSeek 事件:600 万美金背后的"吸星大法"
- 知识蒸馏是什么?师生传承的 AI 版本
- 硬标签 vs 软标签:答案 vs 思维方式
- 温度 T:调节软标签的"锐度"
- 蒸馏的损失函数:学生如何"学"?
- 三种蒸馏范式:授课模式的选择
- 蒸馏 vs 微调 vs 剪枝:模型压缩三兄弟
- 蒸馏的局限性与挑战
- 实践中如何获取软标签:logprobs 参数
- 一点总结
- 互动讨论
DeepSeek 事件:600 万美金背后的"吸星大法"
2025 年,DeepSeek 用 600 万美金训练成本,做出了可以和 OpenAI 掰手腕的模型。OpenAI 指控 DeepSeek 用了蒸馏技术------把 OpenAI 的输出拿去训练自己的模型,相当于"抄捷径"。
有人把蒸馏比喻成"吸星大法"------巨量地向 OpenAI 发请求,把它的能力"吸"过来。
这场争议背后,是一个真实存在的技术:知识蒸馏(Knowledge Distillation) 。它不是什么黑魔法,而是一种让"小模型学习大模型"的成熟技术方案。
蒸馏(Distillation)是化学术语------把混合液体加热,让某些部分变成蒸汽挥发,冷却搜集,提取精华去其糟粕。大模型蒸馏的核心思路也是这样:把 LLM 里的精华知识提取出来,灌进小模型。
知识蒸馏是什么?师生传承的 AI 版本
知识蒸馏的核心思想是:让一个体积庞大、性能优越但成本高昂 的大模型(教师模型 Teacher ),把自身的"知识"传授给一个体积小巧、运行高效 的小模型(学生模型 Student)。
最终目标:让学生在保持高性能的同时,极大地降低计算和存储成本,使其能够部署在手机、浏览器、边缘设备等资源受限的场景中。
一句话本质:知识蒸馏 = 师生传承 = 让"大模型"的思维过程教会"小模型"如何思考,而不是仅仅告诉它答案。
这就像培养一个厨师新人:
- 方案一:给他看菜谱,他学会了步骤,但没学到别的------这是"硬标签"
- 方案二:让米其林大厨亲自示范,新人在旁边学习大厨怎么判断火候、怎么调味------这就是"蒸馏训练"
硬标签 vs 软标签:答案 vs 思维方式

小模型学习大模型的能力,可以有两种方式:
方式一:向大模型发送请求,得到答案。 题目和标准答案都有了,小模型直接背答案。比如"这张图是猫",这就是硬标签(Hard Label) ------答案就是"猫",记住就好。
但死记硬背远远不够。
方式二:小模型学习的不是背答案,而是思维方式。

大模型在回答问题时,给的其实不是一个答案,而是一组概率分布 ------这就是软标签(Soft Label) 。
| 标签类型 | 来源 | 内容 | 作用 | 类比 |
|---|---|---|---|---|
| 硬标签 | 真实数据标注 | [1, 0, 0](如"猫") |
让学生不偏离正确答案 | 考试的标准答案 |
| 软标签 | 教师模型的输出概率分布 | [0.6, 0.3, 0.1](猫、狗、虎的概率) |
让学生模仿教师的思维方式 | 老师写出的解题思路 |
例如,一张动物图片,大模型输出的软标签可能是:
- 猫:60%
- 狗:30%
- 老虎:10%
为什么软标签更有信息量?
硬标签只告诉小模型:"答案就是猫,记住就好了。"但软标签告诉小模型:
这张图 60% 像猫,30% 像狗,10% 像老虎。
它包含了大模型对这道题的"理解方式":
- 猫和狗有相似之处
- 老虎不太像,但也有点像
这种"类比感"、"关联感",是大模型积累了海量数据之后形成的暗知识(Dark Knowledge) 。蒸馏,就是让小模型去模仿这一套概率分布,从中学到"思维方式",而不只是背标准答案。
小模型学到的,不是答案,而是"思维方式"------把老师的"思维方式"提炼出来,传给学生。
温度 T:调节软标签的"锐度"
软标签在传递给学生之前,会经过一个 "温度缩放" 操作:
qi = exp(zi/T) / Σj exp(zj/T)
| 温度值 | 效果 | 适用场景 |
|---|---|---|
| T = 1 | 标准 Softmax(原始概率分布) | 常规推理 |
| T > 1(如 4 或 8) | 概率分布更平滑,小概率类别的"暗知识"被放大 | 让学生学到更多细微的区分能力 |
| T < 1(如 0.5) | 概率分布更尖锐,接近硬标签 | 让学生只关注最可能的答案 |
关键认知:温度 T 是蒸馏中最重要的超参数。T 越高,学生能学到老师越多的"思考过程";T 越低,学生越接近"直接背答案"。
蒸馏的损失函数:学生如何"学"?
学生的训练目标是两部分损失的加权组合:
总损失 = α × 硬标签损失 + β × 蒸馏损失
| 损失类型 | 来源 | 作用 |
|---|---|---|
| 硬标签损失 | 真实标签(Ground Truth) | 让学生"不要偏离正确答案" |
| 蒸馏损失 | 教师模型的软标签(经温度缩放) | 让学生"模仿教师的思维方式" |
实践建议:通常 β > α,强调模仿教师比死记答案更重要。
三种蒸馏范式:授课模式的选择
| 范式 | 名称 | 工作方式 | 适用场景 |
|---|---|---|---|
| 离线蒸馏 | 先学后教 | 先训练好教师模型(不再更新),然后专门指导学生 | 最常见的模式,适合资源充足、追求极致压缩的场景 |
| 在线蒸馏 | 教学相长 | 教师和学生同时训练、共同进步,教师会随学生一起更新 | 教师本身也需要迭代优化的场景 |
| 自蒸馏 | 自己教自己 | 模型利用自身深层 网络学到的知识,来指导浅层网络 | 不需要额外教师模型,适合资源有限的场景 |
蒸馏 vs 微调 vs 剪枝:模型压缩三兄弟
| 维度 | 蒸馏 | 微调 | 剪枝 |
|---|---|---|---|
| 压缩率 | ⭐⭐⭐⭐⭐(极高,10x~100x) | ⭐(不压缩) | ⭐⭐⭐(中等,1.2x~2x) |
| 训练成本 | ⭐⭐(需要训练学生,但远低于从头训练) | ⭐⭐⭐⭐(需要大量标注数据) | ⭐(几乎不需要训练) |
| 知识保留 | ⭐⭐⭐⭐(较好) | ⭐⭐⭐⭐⭐(最好) | ⭐⭐⭐(一般) |
| 适用场景 | 部署到边缘设备、移动端、浏览器 | 领域适配、特定任务优化 | 快速压缩已有模型 |
关键认知 :蒸馏是压缩率最高 的方法,但需要额外的训练流程;剪枝是成本最低的方法,但压缩率有限。
蒸馏的局限性与挑战
| 局限性 | 技术含义 | 影响 |
|---|---|---|
| 容量差距(Capacity Gap) | 学生模型参数量远小于教师,结构上限天然低于教师 | 学生很难在复杂推理任务上完全复刻教师表现 |
| 偏见继承(Bias Inheritance) | 如果教师模型本身存在数据偏见或逻辑缺陷,学生会"照单全收" | 偏见会在蒸馏过程中被放大或固化 |
| 知识损失(Knowledge Loss) | 教师的全部知识无法 100% 迁移给学生 | 学生在"边缘案例"上表现可能差强人意 |
| 极端情况失效 | 如果学生太小,甚至无法拟合教师的软标签 | 蒸馏效果差,可能不如直接在大数据集上从头训练 |
实践中如何获取软标签:logprobs 参数
在调用大模型 API 时,可以通过设置 logprobs 参数获取模型输出的概率分布------这是实现蒸馏的数据来源。
json
json
{
"model": "gpt-4",
"messages": [...],
"logprobs": true,
"top_logprobs": 5
}
返回数据示例:
json
css
{
"choices": [{
"logprobs": {
"content": [{
"token": "猫",
"logprob": -0.05,
"top_logprobs": [
{ "token": "猫", "logprob": -0.05 },
{ "token": "狗", "logprob": -2.3 },
{ "token": "兔", "logprob": -3.9 }
]
}]
}
}]
}
注意 :并非所有模型都支持
logprobs,某些推理专用模型可能禁止此参数以保证性能。
一点总结
知识蒸馏 = 用教师模型的"思维日志(软标签)"去指导学生模型的成长,配合硬标签纠偏,辅以温度 T 调节学习粒度。
| 概念 | 一句话解释 |
|---|---|
| 教师模型 | 大模型,扮演"师傅"角色 |
| 学生模型 | 小模型,扮演"徒弟"角色 |
| 硬标签 | 标准答案(猫=1,狗=0) |
| 软标签 | 概率分布(猫=0.6,狗=0.3,虎=0.1) |
| 暗知识 | 软标签中蕴含的类比感、关联感 |
| 温度 T | 调节软标签"锐度"的超参数,T 越高越平滑 |
| 蒸馏损失 | 让学生模仿教师思维方式的损失项 |
| 硬标签损失 | 让学生不偏离正确答案的损失项 |
互动讨论
- 为什么软标签比硬标签更有信息量? 它包含了哪些"硬标签没有"的内容?
- 温度 T 调高和调低分别会带来什么效果? 在什么场景下应该调高?
- 蒸馏和微调的本质区别是什么? 它们能结合使用吗?
- 容量差距(Capacity Gap)是蒸馏的天然限制,如果学生模型太小,会出现什么问题?
- 你在调用大模型 API 时,有没有留意过
logprobs参数? 你觉得它除了蒸馏还能用在什么场景?
📌 一点心得:蒸馏的核心价值不是"让小模型变聪明",而是"用极低成本复刻高能力"。它把 AI 从"云端专属"带到了"手机、手表、浏览器都能跑"的时代。