大模型是怎么蒸馏的
最近最反华的Anthropic又开始了一轮表演式的指控,说中国的大模型公司偷它们的数据。

我们不讨论Anthropic的指控数据是否属实。他们只是提出指控,并没有提供证明这些指控的证据。因为这些证据并不重要,即使是Anthropic也不得不承认蒸馏是合法的。所以他们只是打着“国家安全”的幌子进行政治迫害而已。

有趣的是,这个帖子下的回帖,大多数是对Anthropic的嘲讽。
更有趣的是一位网友POM,他说,你不是说DeepSeek发起了15万次提问吗?这算什么,我一个人在Cluade上的提问次数比DeepSeek提的都多,干脆把这些提问都开源了。于是他把自己15.5万条交互数据都开源了,比DeepSeek还多5千条呢。同时还贴心地附上了一个工具,可以将自己的数据脱敏,鼓励大家一起共享。并且在Hugging Face上将它命名为DataClaw,暗讽前段时间Anthropic给cludeclaw发律师函的事件。然后马斯克给他点了一个赞。

一些有趣的“事实”
从Anthropic的报告 中能看到一些有趣的东西:
1.有趣的排名
Anthropic声称中国公司开了2.4万个账号进行了超过1600万次申请,其中:
Deepseek: Over 150,000 exchanges
Moonshot: Over 3.4 million exchanges
MiniMax: Over 13 million exchanges我们看到,DeepSeek其实只有15万次,月之暗面的Kimi进行了340万次申请,而申请次数最多是的MiniMax,有1300多万次。
但是Anthropic在指控时还是把DeepSeek排在第一位。看起来即使现在DeepSeek的排名已经远远落后于Kimi、MiniMax等其它国内模型,但上次的打击还是让他们印象太深刻了。
然后从报告中也能看出上面提到的三家大模型各自的特点:
DeepSeek的提问关注的是思维链和安全审查数据。 Kimi提问关注是推理工具及视觉能力。 MiniMax的提问则是关注于编码能力。
我个人到是很奇怪名单里没有z.ai的GLM,因为我使用起来感觉GLM比MiniMax的编码能力更强啊。但不管怎么说,MiniMax能用Clude 1/12的价格实现其80%的功能,是个人都知道应该怎么选择。
2. 不打自招的隐私策略
他们的报告中自称
“By examining request metadata, we were able to trace these accounts to specific researchers at the lab.”
说明他们系统是可以根据账号中元数据跟踪到用户个人信息的,你以为你只提供了账号中的信息,但是你与他的每次交互,都会提交更多的个人信息。
3. 恶劣的企业行为
刚刚看到这个时,我到没有注意有什么问题,不过网上马上有人[1]指出,这就是暗示,如果我发现你的行为可疑,我不封禁你,而是在给你的输出内容中“投毒”。
至于什么行为是可疑的,由我说了算。

对于一家企业来说,用这种态度对待自己的用户,实在是令人叹为观止。
抛开“事实”不谈,我们来谈技术
1. 怎么优化模型
我们都知道,大模型是根据原始文本,生成各个词之间的概率关系,最终生成一个权重文件,这个文件就包含了训练的结果。
权重文件是模型能力的直接载体,不同的模型之间最主要的区别就在于这个权重文件。
那么怎么优化这个已经存在的权重文件,从而提高性能呢?
在工程实践中,常见的模型压缩组合策略包括剪枝(Pruning)、知识蒸馏(KD)与量化(Quantization)。有人将其称之为P-KD-Q组合策略[2]
P是剪枝 (Pruning) :通过识别并剔除网络结构中的冗余连接或参数来达到压缩目的。它考虑的是模型结构的冗余性,直接减少参数数量,从而降低计算量 的示意图,要求体现其技术原理....png)
Q是量化 (Quantization):通过降低数值精度(例如将 32 位浮点数 FP32 转换为 8 位或 4 位整数 INT8/INT4)来减小存储代价。它不改变网络结构,但能显著减少内存占用并加速推理。 
中间最重要就是KD——知识蒸馏 (Knowledge Distillation)。
2. 什么是蒸馏?
简单来说,就是一个学生模型通过向教师模型问问题,把教师模型反返回数据当作高质量的语料进行微调或者作为判定标准进行监督学习。从而将自己的权重尽可能地与教师模型类似。 
3. 蒸馏是大模型优化的一个基本技术
可以肯定地说,每个模型都在使用这个技术。
上图显示,Anthropic蒸馏了OpenAI的数据。
当然他们不可能只蒸馏一家公司,很快有人发出了下面的图 
Anthropic的Cluade Sonnet4.6蒸馏了DeepSeek 3.2的思维链。
4. 蒸馏能还原出教师模型的权重文件吗?
理论上是不可能的,但的确可以蒸馏出一个性能和行为相近的模型。
因为蒸馏的目标是模拟行为,而不是复制权重。知识蒸馏的核心在于知识迁移,即让学生学习教师的逻辑。
举例来说,学生向教师模型问了一个问题,得到一个答案。学生同时自己就这个问题得到一个答案。比较两个答案,然后学生模型可以调整自己的权重数据,看看调整后出的答案是否与教师的一致。反复重试后,认为两个答案一致了,学生可以将调整后的权重数据固定下来,可以认为是学到教师的权重数据了。
但是问题在于,教师给出的答案只是是其能力的一部分,它得到的结论,可以有多种思路,而这次输出是按哪种思路推导出的,学生不知道。即使能完整地学到这个推导过程,也只是教师能力的一部分,所以说,蒸馏肯定会导致模型多样性(Diversity)的下降 。
5. 黑箱蒸馏的有趣特点
上面的这种蒸馏方法,我们一般称之为**“黑箱蒸馏”** 。 这种蒸馏学习的方法很明显是学生学到的能力不可能超过教师,因为它学到的知识肯定只是教师的一个子集。这一点和人类学生有点不同,因为模型学生学到的知识会覆盖掉自己的知识。
另外还有一个和人类学生相似的有趣案例是,如果教师模型过于强大而学生模型太弱,蒸馏的效果反而会变差。一个教授无法教会幼儿学会微积分。
当教师模型能力远超学生模型容量上限时,学生模型会“装不下”。知识蒸馏的核心目标是让学生拟合教师的输出分布,而这种拟合本质上是用数学公式表达,如果教师输出的函数复杂度远超学生可表达函数族时,学生会长期处于”欠拟合“状态,由于损失函数过大,使得梯度方向不稳定。
另外,根据上面提到的蒸馏方法,它是根据教师输出的内容为正确答案,通过修正权重参数后的输出内容与正确答案比较来进行模拟。这其实还涉及到一个概率问题,就是教师输出内容中包含一些”暗知识“,所谓暗知识,就是输出的内容其实是蕴含着概率的,如果你在系统参数中调整Temperature参数,这些概率会发生变化,输出内容也会变化。而过于强大的教师模型会出现概率分布过于尖锐的表现,这对于学生模型来说,难于学习。甚至直接退化成普通 的监督训练了。
关于教师模型和学生模型能力差多少才比较合理呢?我也懒得找资料了,直接问DeepSeek,它的回答是教师规模是学生的10倍最好,如果100倍,那效果就比较差了,而1000倍,还不如不蒸馏呢,学生反而会学废,能力会退化。
教师模型与学生模型能力差别过大时,就别直接学了,可以增加中间教师,让教授教大学生,让大学生去教小学生。
6. 数据蒸馏
除了黑箱蒸馏,还有一种常见的变体是数据蒸馏 。这种方法不是学习概率分布,而是从强大的教师模型中提取高质量的推理数据和语料库,再用这些数据去训练(SFT)一个新的模型。这同样能使小模型获得大模型的逻辑能力,但其权重文件依然是全新的。
当前这也可以是语料清选的一种方式,你从网上拉下来一堆数据,人工清洗成本高效率低,但一个高效的大模型完全可以根据这些不规范的数据整理出高质量的文本。然后你用这些文本当语料进行训练。事半功倍!
7. 多找几个教师
这种技术在学术界和工业界被称为多教师蒸馏(Multi-Teacher Distillation, MTD)。它的核心思想正是通过整合多个教师模型的知识,为学生模型提供更丰富、更具多样性的监督信息,从而使其性能超越单一教师指导的效果。
从Cluade学编程,从DeepSeek学推理,通过学习多个教师,学生模型可以博采众长,捕获到更全面的知识特征。但是在多教师的情况下,学生模型必须有一个整合机制来处理不同教师输出的内容。也就是说学生自己得知道如何取舍。
这种蒸馏模式对学生模型的要求比较高了,同时成本也比较高,因为计算的开销成倍增加了。而且对蒸馏出数据的处理也需要增加额外的算力和足够的容量。
但是现在所有的大模型都会使用到多教师蒸馏的,这也是在任何大模型发布后,总有人会贴出一些问答,显示出A模型自称是B模型的情况。然后出现一轮无聊的抄袭指责。
8. “教学相长”
如果教师模型和学生模型互相蒸馏,会出现一个能力是二者平均后的平庸版本的模型吗?
这种“互相蒸馏”的情况在学术上被称为深度相互学习(Deep Mutual Learning, DML)在线蒸馏(Online Distillation),其结果通常不是产生平庸的平均版本,而是实现模型性能的共同提升。
教师提升学生我们可以理解,但用蒸馏学生怎么会提升教师呢?这是一个非常有意思、也非常“反直觉”的现象。但它确实经常发生。原因不在“能力传递”,而在分布重塑、优化轨迹重构、隐式正则化。
因为大模型容量大,往往其中有大量的数据噪声,而小模型在学习后由于多模性的降低,往往起到了一个去噪的作用,相当于小模型对大模型做了一次低秩投影。再用小模型去训练大模型时,相当于一次结构化平滑了。
举一个例子,大模型是一张8K的照片,细节更多,但带有噪点,小模型是一张压缩后的4K照片,噪点被平均掉,然后再用4K去恢复8K的版本,细节少一点,但是更干净更自然了。
反向蒸馏提升教师,并不是学生更聪明,而是:学生模型对教师函数进行了低秩去噪和平滑化处理,重新塑造了优化轨迹,使大模型进入更优的泛化区域。
9. 让通才教出专才
如果以一个通用的模型为教师模型,学生模型通过只问某一类特定的问题,能否蒸馏出一个专用模型?
这是肯定的,这种方法通常被称为任务特定蒸馏(Task-specific Distillation) 或数据蒸馏(Data Distillation),是实现大模型向垂直领域落地的核心技术之一。
现在很多专业领域的AI,就是通过蒸馏通用模型的方法来实现的。这里的关键是如何构建一个代表“特定问题”的数据库。
应优先通过Prompt(提问)引导教师模型生成具备推理链路(CoT)的高质量合成数据,并结合软标签分布特征筛选出信息量大且难度适中(符合学生模型容量)的样本,同时通过交叉熵损失结合真实标签来确保监督学习的准确性。
用上面的例子来说,MiniMax只向Cluade问关于编程的问题,自然学到Cluade在编程领域的专门知识,但是它很明显不可能想一出是一出,随机地提问啊,这些问题的列表、顺序和处理才是学生模型的能力体现。只有会学习的学生才能成绩好啊。学霸不是会背题,而是会学习。
10. 让多个大模型互相蒸馏会蒸出一个AGI吗?
如果把当前最优秀的大模型放在一起持续地相互蒸馏,最终会蒸出一个AGI吗?你肯定会想到养蛊。也许会养出一个毒王,但不会进化成一个新品种啊。
理论上来说,无法直接蒸馏出一个通用人工智能。
因为蒸馏的本质是“函数逼近”,不是“能力创造”。蒸馏只能逼近教师分布,不能生成教师分布之外的新能力。从信息论的角度,信息不会凭空产生,如果模型中不存在真正的因果结构信息,互蒸是不会产生这些信息的。
另外,就是当前所有的大模型都是基于Transformer架构,它们处于同一个函数族,蒸馏不会改变模型的表达架构,因此难以创造出架构本身无法表达的新能力。
相互蒸馏是一个极佳的性能增强和模型压缩手段,它可以产生出极其接近顶尖水平的小模型,甚至在特定任务上通过博弈思想保留丰富的多样性。但在没有外部增量(如更强的数据、新的算法架构或 RL 迭代)的情况下,它无法突破最强个体的上限,因此不足以仅凭此路径诞生 AGI。