技术拆解 · 模型原理

小模型是怎么「学会」大模型本事的:蒸馏到底蒸走了什么

蒸馏不是「能力复制」,而是「行为复制」。真正值钱的东西,往往蒸不走。

2026-10-10技术拆解约 14 分钟

引言:它是真学会了,还是背熟了?

2025 年下半年开始,一个现象越来越刺眼。

一个 7B 参数的小模型,在 MMLU、GSM8K 这些主流榜单上,分数追平甚至超过了千亿参数的大模型。参数差了一百多倍,跑分只差几个点。评论区一片欢呼:「小模型时代来了」「大模型的护城河不存在了」。

但真拿它去做生产,又不是那么回事。写长代码容易出 bug,做复杂推理会在某一步悄悄拐错方向,遇到稍微偏门一点的问题就开始胡说——而且说得特别像那么回事。

反差在哪?答案几乎都指向同一个词:知识蒸馏(Knowledge Distillation)。

这些小模型不是自己从零学出来的。它们是「抄」大模型的作业抄出来的。

但「抄作业」这个比喻太粗糙了。抄选择题答案是一种抄法,抄解题步骤是另一种,连老师的错题思路一起抄下来,又是另一种。不同的抄法,最后得到的东西完全不一样。

这篇文章想回答七个问题,沿着一条主线推进:蒸馏到底蒸走了什么,又蒸不走什么?那些蒸不走的部分,恰恰是理解大小模型差距的钥匙。

01蒸馏到底在「蒸」什么?

不是把大模型的参数压缩进小模型。是让小模型模仿大模型的「输出分布」。

先回到源头。2015 年,Hinton 带着 Vinyals 和 Dean 发了篇文章,叫《Distilling the Knowledge in a Neural Network》。这篇论文把「蒸馏」这个概念正式带进了深度学习的语境。

它的核心想法朴素到有点反直觉:

一个训练好的大模型(老师),面对一张图片,输出的不是「这是猫」这一个答案,而是一个概率分布——猫 90%,狗 7%,马 2%,其他 1%。那个 90% 叫硬标签(hard label),也就是标准答案。剩下的 10% 呢?没人在乎,训练小模型的时候直接忽略掉了。

Hinton 说,不对。那 10% 里藏着东西。

软标签:把「犹豫」也教给学生

举个例子就懂了。

给模型看一张博美犬的照片。大模型的输出分布大概是:博美 70%,萨摩耶 15%,金毛 8%,猫 3%,汽车 2%……

你用硬标签训练小模型,只告诉它「这是博美」。小模型学到的就是「博美 = 1,其他 = 0」。它不知道博美和萨摩耶长得像,也不知道金毛虽然也是狗但差别要大一些。它只知道一个正确答案,其他全是「错误」,没有远近之分。

你用软标签(soft label)训练呢?你告诉它:「这是博美,但你也得知道,它跟萨摩耶有几分像,跟金毛也沾点边,跟猫完全没关系,跟汽车更没关系。」

小模型学到的就不只是答案本身,还有答案之间的关系。

硬标签 vs 软标签:差别不在正确答案,在错误答案的结构

硬标签(Hard Label) 博美 萨摩耶 金毛 猫 1.0 0 0 0 软标签(Soft Label) 博美 萨摩耶 金毛 猫 0.70 0.15 0.08 0.03

硬标签只有一个 1,其余全是 0。软标签保留了所有类别的概率,类别之间的远近关系一目了然。

温度:把分布「摊开」给学生看

这里有个问题。大模型通常很自信。对于一张清晰的图片,正确类别的概率可能是 99.9%,剩下所有类别加起来才 0.1%。那点微弱的差异,小模型几乎学不到什么。

所以 Hinton 引入了一个叫「温度」(temperature)的东西。在计算 softmax 之前,把 logits 除以一个温度 T。T 越大,输出分布越「软」——原来 99.9% 的主峰降下来,旁边那些小峰抬起来,类别间的差异被放大了。

就像把一杯浓缩咖啡兑了水。味道淡了,但层次更清楚。

训练完之后,温度调回 1,小模型就拥有了正常的输出分布。

一句话理解蒸馏:不要只教学生答案,要把老师的「犹豫」和「判断结构」也教出去。那些看似错误的选项里,藏着老师对世界的理解。

02为什么「老师的错题」里反而藏着更多信息?

Hinton 把这叫「暗知识」。标准答案里没有,但它真实存在。

「暗知识」(dark knowledge)这个说法很妙。

你想,一个大模型有几千亿参数。它学到的所有东西,最后都压缩在每一次输出里。但你只取那个最大值——一个答案——就把剩下 99% 的信息全扔了。那感觉就像你去听一位老教授讲课,你只记下了他说的最后一句话,中间的推理、类比、反例,全漏了。

软标签把这些信息捞回来了。

类别相似性:模型的「世界观」

最直接的信息是类别之间的相似关系。

在大模型眼里,2 和 3 长得像,2 和 7 就没那么像,2 和字母 Z 可能还有点像。这些相似性不是人类标注的(人类标注只告诉你「这是 2」),是模型自己从数据里学出来的。它代表了模型对这个世界结构的理解。

用软标签训练,小模型就继承了这份理解。它不只是会分类,它还知道类别之间的远近。

这有什么用?用处比你想的大。

一个只学过硬标签的模型,认错了就是乱错。一个学了软标签的模型,认错了也错得有道理——它把博美认成萨摩耶,而不是认成汽车。这种「有结构的错误」在真实场景里重要得多,因为下游的纠错成本低。

更平滑的损失地形

另一个好处更技术,但也更根本。

硬标签是 0 和 1 的极端值。模型每做对一个样本,梯度就几乎为零——它觉得自己已经完美了,不需要再学了。但完美的只是这一个样本,泛化能力不一定好。

软标签不一样。每一个样本都能提供丰富的梯度信息。就算模型已经选对了正确类别,它还得把其他类别的相对概率也调好。这意味着模型在训练过程中收到的信号密度高得多。

打个比方。硬标签训练像做判断题,对就是对,错就是错。软标签训练像做简答题,你不仅要给出答案,还要解释为什么其他选项不对,以及不对到什么程度。后者训练出来的人,理解显然更深。

「我们发现,用软标签训练的小模型,在从未见过的数据上表现出奇地好。它似乎学到了某种泛化的结构,而不只是记住了答案。」 —— Hinton, Vinyals & Dean, "Distilling the Knowledge in a Neural Network", 2015

但这里要插一句。Hinton 那篇论文是针对图像分类的。到了大语言模型时代,「软标签」的含义已经大大扩展了。它不再只是分类概率——它变成了「下一个 token 的概率分布」。

这就引出了下一个问题:在 LLM 的世界里,小模型到底从大模型身上学走了什么?

03小模型到底学走了什么?

学的是行为,不是机制。是老师怎么答题的样子,不是老师为什么会答题。

先把话说清楚:蒸馏出来的小模型,不是大模型的缩小版。

你不能说「7B 蒸馏模型 = 70B 大模型的十分之一」。这不是按比例缩放的关系。它们内部的结构、表示、推理路径,完全不一样。它们只是在输出行为上看起来很像。

学到的第一件事:说话的口吻和格式

最容易蒸走的,是「语气」。

大模型经过 RLHF 之后,回答问题有一套固定的格式:先承认问题的合理性,然后分点作答,每点有例子,最后总结。它会说「这是个好问题」「让我们一步步来」「需要注意的是」。

这些模式化的东西,蒸馏起来特别高效。小模型很快就能学会「像大模型那样说话」。以至于用户有时候分不出来——毕竟大多数人判断模型强不强,就是看它说话像不像那么回事。

但这也是最容易造成错觉的部分。说话专业 ≠ 内容正确。

学到的第二件事:解题步骤的形态

比口吻更深一层的,是思维链(Chain-of-Thought)蒸馏。

大模型会一步步推理。「让我想想,第一步应该……然后第二步……所以答案是……」你把这些带推理过程的回答喂给小模型,让它模仿这种「先想再说」的格式,小模型的解题能力会有显著提升。

DeepSeek 在 2024 年放出 R1 的时候,大家发现一个有意思的现象:用 R1 的推理数据蒸馏出来的小模型,数学和代码能力涨得特别快。有些 7B 模型甚至能在 GSM8K 上追到接近 GPT-4 的分数。

但注意。它学会的是「推理的姿势」,不是「推理的能力」。

什么意思?它学会了在得出结论之前先写几行分析,学会了把一个问题拆成几个子问题,学会了「我们来验证一下」这种自我检查的句式。这些姿势本身就能提升准确率——因为强制模型把步骤写出来,减少了跳步出错的概率。

但如果问题的复杂度超过了它参数能承载的极限,它的推理就会在某一步悄悄滑向错误方向,而且滑得特别自然。你读起来觉得逻辑挺顺的,最后答案错了,你还得回头找半天是哪一步开始歪的。

行为复制 vs 能力复制:两条完全不同的路径

大模型:从数据到能力 海量训练数据 内部表示与推理机制 输出行为(答案+推理) 蒸馏小模型:只复制行为 老师的输出分布 小模型模仿行为 内部机制不相同 蒸馏只取这一层 看起来输出一样,但内部走的是完全不同的路

大模型从数据中建立内部机制,再输出行为。蒸馏跳过了中间那步——它直接从行为学行为。

学到的第三件事:分布内的「捷径」

更深一层的,是小模型学会了大模型在常见问题上的「解题捷径」。

大模型处理问题有一套内部的计算路径。某些常见问题,它走得多了,就形成了高效的「通路」。蒸馏的时候,小模型不需要复制整条路径,它只需要学会「遇到这类输入,就给出这类输出」的映射。

这就像刷题。你不需要理解物理原理,只要把题型和解题套路背熟了,考试也能拿高分。

但套路的问题是:只在套路覆盖的范围内有效。出了这个范围,就乱套了。

这也是为什么蒸馏模型在基准测试上表现很好,一到真实场景就容易翻车——因为基准测试的题型和训练数据高度重叠,而真实场景的问题千奇百怪。

04那蒸不走的是什么?

如果只看输出,你可能觉得蒸走了一切。但有些东西,只存在于老师内部。

这是整篇文章最核心的问题。

蒸馏的本质是「行为层面的模仿」。只要输出像,就算成功。但模型内部发生了什么,蒸馏管不了,也不关心。

所以那些「只存在于内部、不体现在输出上」的东西,天然就是蒸不走的。

第一样蒸不走的:分布外泛化

这是最大的一块。

大模型的价值,很大程度上在于它能处理「没见过的问题」。给它一个全新的场景、一种奇怪的组合、一个偏门的领域,它依然能给出有质量的回答。这种能力来自它庞大参数空间里建立的通用表示。

小模型呢?它学的是「常见问题 → 常见回答」的映射。如果一个问题落在训练分布里,它答得又快又好。一旦偏出去一点,它就不会了——不是答错,是胡编。而且它编得特别自信,因为它从老师那里学来了「自信的口吻」。

这也是最危险的地方。一个明显很菜的模型,你不会信它。一个说话特别像大模型、但关键时刻会掉链子的小模型,反而更容易误导人。

去年底某金融科技公司的技术分享会上,他们的 AI 负责人讲了个真实案例:用 7B 蒸馏模型做客服问答,标准测试集上准确率 96%,上线后第一个月,用户投诉率涨了三倍。原因很简单——用户不会按测试集的方式提问。他们说的是「我上次买的那个理财咋没分红」,而不是「请查询产品 X 的收益发放情况」。 —— 某金融科技公司内部复盘,2025

第二样蒸不走的:校准与「自知之明」

好的大模型有一个很重要的品质:它知道自己什么时候不知道。

你问一个偏门的问题,它会说「我不确定,但我可以帮你查一下」或者「根据我的知识,可能是……不过你最好验证一下」。这种校准能力(calibration)——也就是模型对自己答案的置信度和答案实际正确率之间的吻合度——是大模型很宝贵的特质。

蒸馏模型呢?它学的是老师的输出分布,但它学不到老师「为什么给这个置信度」。结果就是,它说话的语气永远那么肯定,哪怕说错了也一样。它的置信度是「装出来的」,不是真的基于内部评估算出来的。

换句话说,大模型的「犹豫」是真犹豫。小模型的「犹豫」是表演出来的犹豫。

第三样蒸不走的:真正的推理链

这个争议比较大,但值得说清楚。

大模型做复杂推理的时候,它内部的 token-by-token 生成过程,是不是真的在「一步步思考」?学界还在争论。但有一点相对明确:大模型的推理过程中,每一步的中间表示(hidden states)里,确实编码了关于问题的中间状态。

蒸馏出来的小模型呢?它的思维链输出可能看起来很像——「第一步……第二步……所以答案是……」——但它内部是不是真的在一步一步推理?不一定。它很可能是「知道答案之后,补了一个看起来合理的推理过程」。

怎么验证?有个简单的方法:你把推理过程中间的某一步故意改错,看看模型会不会发现。大模型经常会发现——因为它真的在跟着走。小模型往往发现不了——因为它的推理是「写出来给你看的」,不是用来算答案的。

第四样蒸不走的:可解释性和内部结构

最后一样,对研究人员来说重要,对普通用户可能没那么直观。

大模型的内部有结构。你可以用探针(probing)的方法,从某一层的激活里提取出语法结构、世界知识、推理状态。这些结构是模型能力的「骨架」。

蒸馏模型的内部呢?它可能完全没有同样的骨架。它只是通过另一条完全不同的路径,到达了相似的输出。就像两个人都能弹同一首曲子,一个是从乐理开始学的,一个是靠肌肉记忆背下来的。表面听起来一样,内里完全不同。

这意味着,基于大模型内部表示做的那些研究——可解释性、机制理解、能力编辑——很难直接迁移到蒸馏模型上。你以为你在研究「同一种能力的不同尺寸版本」,其实你在研究两种完全不同的东西。

05既然蒸不走,为什么排行榜上它还能追平?

因为考纲是公开的。而且,大家都在对着考纲练。

这是个很自然的疑问。如果蒸馏只能学个皮毛,那为什么 7B 小模型在 MMLU、GSM8K、HumanEval 这些榜上能追平甚至超过千亿大模型?

答案藏在一个词里:分布重叠。

基准测试是「已知考纲」的考试

所有主流基准测试,数据分布都是相对固定的。题型、难度、领域分布,都在一个可预测的范围内。

这意味着什么?意味着只要你用大模型生成足够多「类似题型」的问题和答案来蒸馏,小模型就能把这些题型「练熟」。到了考场上,它看到的题全是练过的类型,当然分数高。

这不叫泛化能力强。这叫考试能力强。

两者的区别在分布外才会显现。而基准测试,恰恰就是分布内的。

更微妙的问题:基准污染

还有一个大家心照不宣的事实:基准测试的数据,早就「渗透」进训练数据里了。

不是说有人故意作弊。是这些基准题被讨论得太多了——博客、GitHub、Reddit、Stack Overflow、论文……到处都是。大模型在预训练的时候可能就见过,蒸馏数据生成的时候又会生成类似的,小模型训练的时候再来一遍。几遍下来,模型对这些题熟得不能再熟。

结果就是,基准测试的分数越来越高,但它和「真实能力」的差距也越来越大。

那基准测试还有用吗?
有用,但用处变了。它现在更像「最低保障线」——分数高不一定强,但分数低一定弱。真要比较模型能力,得看它在你自己的真实业务数据上的表现,而不是看榜单。
怎么判断一个小模型是「真强」还是「考得好」?
三个信号:一是看分布外的表现,拿你的真实问题去测,而不是只看榜单;二是看失败模式,它错的时候是「错得有道理」还是「完全胡说」;三是看校准,它对自己不确定的问题会不会表示犹豫。

所以不是「蒸馏让小模型追上了大模型」。是「蒸馏让小模型在基准测试上追上了大模型」。

这两句话的差别,比你想的大得多。

06今天的蒸馏早就不是 2015 年那一套了吧?

没错。从「模仿答案」到「模仿思考过程」,再到「用强化学习蒸馏」,进化了好几代。

Hinton 2015 年的版本,是最朴素的蒸馏:用老师的软标签训练学生。放到今天,这叫「响应蒸馏」(response-based distillation)——只看最终输出。

十年过去,蒸馏已经演化出了好几个世代。

第一代:响应蒸馏(模仿答案)

就是上面说的软标签。最简单,最通用,也是最浅层的。小模型学到的只是「输入长这样,输出就该长这样」。

在 LLM 里,对应的就是「下一个 token 概率分布的 KL 散度」。训练目标是让小模型输出的 token 分布尽可能接近大模型的。

第二代:特征蒸馏(模仿中间层)

光看答案不够,能不能连中间的思考过程也一起学?

特征蒸馏就是这个思路。它不只要小模型的输出像大模型,还要小模型的中间层激活(hidden states)也像大模型的中间层。就像学画画,不只是临摹成品,还要临摹大师的草稿和笔触。

在 LLM 里,这通常意味着让小模型的某一层去匹配大模型的某一层。但这里有个问题:小模型的层数和大模型不一样,怎么对应?是第 1 层对应第 1 层,还是用其他映射方式?这个「层映射」的策略,至今还是个开放问题。

第三代:关系蒸馏(模仿样本间的关系)

再进一步。不只要单个样本的输出像,还要样本之间的关系也像。

什么意思?比如有两个样本 A 和 B。大模型觉得 A 和 B 很像,那小模型也应该觉得 A 和 B 很像。大模型觉得 A 和 C 完全不同,小模型也应该觉得不同。

这种蒸馏学到的是「数据空间的结构」,而不只是单个样本的映射。它通常比前两种效果更好,因为它抓的是更本质的东西。

第四代:推理蒸馏与 RL 蒸馏

到了大模型时代,蒸馏又进化了一步。

前面几代都是「老师已经有了答案,学生来学」。但现在的大模型本身就有推理能力——它可以一边想一边写,先试错再修正,甚至可以用工具来辅助思考。

于是出现了两种新的蒸馏方式:

LEVEL 1

响应蒸馏

  • 模仿最终输出分布
  • 最简单,效果最浅
  • 学到「答案长什么样」
LEVEL 2

特征蒸馏

  • 模仿中间层激活
  • 学「思考过程的样子」
  • 层映射策略是关键
LEVEL 3

关系蒸馏

  • 模仿样本间的相似结构
  • 学「数据空间的结构」
  • 通常泛化更好
LEVEL 4

推理/RL 蒸馏

  • 模仿推理过程和策略
  • 学「怎么想、怎么决策」
  • 当前最前沿的方向

进化的方向:越来越深,但也越来越贵

注意一个规律:蒸馏的层次越深,效果越好,但成本也越高。

响应蒸馏最省——你只需要大模型的输出 logits,一次性生成数据,然后训练小模型就行。

到了推理蒸馏和 RL 蒸馏,成本就上去了。你得让大模型一步步推理,每一步都要生成中间状态。而且数据量也更大——一个带推理过程的样本,比一个直接答案的样本信息密度高得多,但生成成本也高得多。

这其实是个很有意思的经济学问题:蒸馏的成本和收益,平衡点在哪?如果蒸馏一个 7B 模型花的钱,都快赶上直接用大模型了,那蒸馏还有意义吗?

答案取决于你要部署的规模。如果你的业务每天要跑十亿次推理,那哪怕每个请求省一分钱,总量也是天文数字。蒸馏的成本再高,摊到每个请求上也几乎为零。但如果你的业务每天只有几千次请求,那可能直接调用大模型 API 更划算。

07这对用模型的人意味着什么?

不要问「小模型够不够强」。要问「我的场景里,它的边界在哪」。

讲了这么多原理,最后落回实际:你该怎么选模型?什么时候能用小模型,什么时候必须上大模型?

没有绝对的答案,但有几条判断原则。

原则一:先看你的问题分布

如果你的业务问题高度标准化——比如客服问答、文档检索、固定格式的数据提取——而且你能拿到大量真实的用户问题,那蒸馏小模型很可能够用。因为你的问题分布很集中,小模型能覆盖大部分情况。

如果你的问题五花八门,用户什么都问,而且经常有新奇的、偏门的问题——比如通用助手、开放式创意写作、复杂的代码调试——那你大概率还是需要大模型。小模型在分布外的表现会让你失望。

原则二:看错误成本

模型说错一句话,代价是什么?

如果只是客服回答不够准确,用户再问一次就行,那错误成本低,小模型可以上。如果是医疗建议、法律意见、金融决策,错一次可能出大事,那你不仅需要大模型,还需要人工审核和多轮验证。

这里要特别警惕蒸馏模型的「自信幻觉」。它说话的语气很像大模型,很容易让人放下戒心。但它的实际能力可能撑不起那份自信。

原则三:算总账,不要只算推理成本

很多团队选型的时候只看一个指标:每千 token 多少钱。

小模型的推理成本确实低——可能只有大模型的几十分之一。但你得把总账算清楚:

把这些都加进去,你会发现,很多时候「便宜的模型反而更贵」。

一个更实用的策略:分层架构

不是非此即彼。更好的做法是大小模型搭配用。

举个典型的分层架构:

  1. 第一层:小模型处理 80% 的常见问题。又快又便宜,覆盖大部分流量。
  2. 第二层:中等模型处理 15% 的复杂问题。小模型拿不准的,或者置信度低的,交给中等模型。
  3. 第三层:大模型处理剩下 5% 的疑难问题。真正难的、关键的、需要深度推理的,才上大模型。

再加一个「回退机制」:如果小模型的置信度低于某个阈值,自动升级到大模型。用户几乎感知不到,但成本和效果的平衡能做到最优。

实用建议:别一上来就想着「我要蒸馏一个自己的小模型」。先把你的真实问题数据整理出来,直接拿大模型 API 跑一遍,看看效果、成本、失败模式。心里有数了,再决定要不要蒸馏、蒸馏到什么程度。

收束

文章写到这,该说的都说了。最后说一句实在话。

蒸馏是个好东西。它让小模型获得了远超自身参数规模的表现,也让 AI 的部署成本降了一个数量级。没有蒸馏,就没有今天这么多端侧模型,也没有这么便宜的 API。

但蒸馏不是魔法。它不能把 7B 变成 70B,也不能把「会答题」变成「真理解」。蒸走的是行为,蒸不走的是机制。

真正值得问的问题从来不是「小模型能不能追上大模型」。

而是——你要解决的那个问题,到底需要行为,还是需要机制?

总结

  • 蒸馏的本质是行为复制,不是能力复制。小模型学的是大模型「怎么答」,不是「为什么会答」。
  • 软标签比硬标签信息量大得多。那些「错误选项」的相对概率里,藏着模型对世界结构的理解(暗知识)。
  • 蒸得走的:说话的口吻、答题的格式、常见题型的解法、分布内的表现。
  • 蒸不走的:分布外泛化、校准与自知之明、真正的推理链、内部的可解释结构。
  • 排行榜的追平是考纲效应。基准测试在分布内,蒸馏模型专门对着考纲练,当然分数高。真实场景是另一回事。
  • 蒸馏已经进化了四代:响应蒸馏 → 特征蒸馏 → 关系蒸馏 → 推理/RL 蒸馏。越深越有效,也越贵。
  • 选型看三件事:你的问题分布是否集中、错误成本有多高、总账(不只是推理成本)划不划算。
  • 最实用的策略是分层架构:小模型扛常见流量,大模型兜底疑难问题。

参考资料