Skip to content
Published on

蒸馏会迁移什么、不会迁移什么 — 把 DeepSeek 蒸馏进 GPT-OSS,审查没有跟过来

分享
Authors

引言 — 那篇 147 分的 Show HN 实际展示了什么

2026 年 7 月 30 日,发到 Show HN 上的一个实验拿到了 147 分。一个叫 CTGT 的团队以研究笔记的形式公开的内容是这样的:把中国模型 DeepSeek V4 Flash 当作教师,向美国的开放权重模型 GPT-OSS 蒸馏金融推理能力,结果能力上去了,而教师身上那种政治审查并没有出现在学生身上。

这个结论之所以引人关注,是因为它和一场政策争论挨着。中国产开放权重模型一旦扩散,裹在里面的政治偏向就会顺着派生模型传播 — 这样的担忧一直有人提,而这个实验说,至少在一种条件下并非如此。

不过本文的目的不是那场政策争论。这里有意思的,是一个能存活得久得多的问题 — 蒸馏究竟复制了什么。知识蒸馏复制的不是权重,而是教师在特定输入上给出的输出。既然如此,能不能迁移就由三件事决定:观测了什么、在哪里观测的、以及复制给谁。这个实验既是解释这套框架的好例子,同时也是一个展示单个非正式实验最多能支撑到哪里的例子。

把实验设计原样搬过来

项目
教师DeepSeek V4 Flash
学生GPT-OSS-120B、GPT-OSS-20B
方法基于提示的自蒸馏 + 逆 KL(定位出错点 → 注入提示 → 双路续写 → 对其后 100 个学生 token 的区间施加逆 KL)
唯一的实验变量提示的作者(DeepSeek 的输出 对 学生自己修正过的推理)
蒸馏数据训练提示词 220 条、on-policy 示例 176 条、合成金融题 1,574 道(CAPM、DCF、期权定价)
数据中的中国敏感内容0 条(作者明示)
评估152 组配对 — 核心政治 76 组(天安门、台湾、新疆),金融相邻 76 组(河南银行停止取款、塞浦路斯自救纾困)
打分4 个 LLM 裁判(Grok、Gemini、GPT-5 Mini、Claude)给出 0 到 100 的审查分
裁判校验与 96 条人工打分的皮尔逊相关 0.948,平均绝对误差 6.08 分
教师的审查落差+45.45 分,在 87% 的政治配对上为正,相对随机约 7 个标准差
学生的审查落差基座 +0.43 分,蒸馏后全部配对合并 +3.94 分
金融性能自蒸馏的 120B 在 FinanceReasoning 上、按 8k token 预算为 83.61%

设计里做得最好的一处是配对。像大跃进和乌克兰大饥荒这样结构相同、只有一边与中国相关的问题被配成一对,然后看分数差。这样做就能把「这个模型本来对政治问题就谨慎」和「这个模型只回避与中国相关的问题」分开。这是只看绝对分数得不出来的区分。用 96 条人工打分给 LLM 裁判做校准,也是这类评估里常被省掉的一步,这里做了;相关系数 0.948 的话,裁判分数直接拿来用是够的。

教师那一侧的数字也值得点一下。45.45 分的落差、在 87% 的配对上一致为正,这就不是零星的回避,而是成体系的行为。也就是说,这个实验一开始就排除了「教师原本就没有审查」这种没意思的结论。

能力迁移了 — 可那是什么能力

先看成功的那一侧。金融推理上,据报告自蒸馏的 120B 在 FinanceReasoning 上录得 83.61%。这个数字本身不是本文的主题,但为什么能力能顺利迁移是主题。

原因就直接写在蒸馏的目标函数里。蒸馏直接优化的,是让学生的输出分布对齐教师的输出分布。训练数据里填满了 CAPM、DCF、期权定价的题目,那么被优化的恰恰就是这些题目上的分布。不是能力碰巧迁移得好,而是损失函数里明确写着「要迁移过来」这件事

方法论里也反映了这一点。找到出错的地方插入提示,只在其后 100 个 token 的区间上施加逆 KL。也就是说,学生并不吸收教师的整体风格,只取走学生做错的那个位置上的局部修正。实验变量也只有提示的作者这一个。这个设计对能力迁移是高效的,但同时也把教师其他性向渡过来的通道压得非常窄。这一点下一节还会回来。

审查没有迁移 — 以及为什么这并不令人意外

学生的审查落差是基座 +0.43,蒸馏后 +3.94。从统计上说就是基线。结果很清楚,但这个结果是否令人意外,是另一回事。

蒸馏数据里装的中国敏感内容是 0 条。作者们也把这点明确写成局限,说这个实验测到的是「审查的缺席」,不是「主动压制的失败」。HN 讨论帖里的指摘也是同一个方向。有一条排在前面的评论说,不到 200 条示例不可能改变模型对乌克兰大饥荒的态度;也有人总结说,是金融领域与审查行为缠得不够紧,所以没渗出来。

把它一般化就成了这样。蒸馏能迁移的行为,只有教师在蒸馏数据的支撑集内部真正表现出来的行为。哪怕教师是一个对天安门问题给出回避式回答的模型,只要训练数据里一条这样的问题都没有,那份回避就从来没有被当成目标提出过。没有被当成目标提出的东西不会被损失抓住,没有被损失抓住的东西不会推动权重。

往反方向翻过来,就得到一个实务得多的结论。安全对齐也因为同样的理由不会迁移。从一个对齐良好的教师那里蒸馏编码能力,来的就只有编码能力。没有任何依据可以假定学生会和教师一样安全。如果蒸馏数据里没有安全相关的提示词,学生只是原封不动保留了自己基座模型的安全特性。这次实验里学生的分数与基座实质相同这一事实,展示的正是这个命题 — 蒸馏并没有把学生整体拉向教师,它只在特定区域里拉了一把。

审查住在三个地方

「审查会不会迁移」这个问题之所以经常空转,是因为审查并不住在一个地方。至少要分成三层来看。

  • 权重之外(服务层)。App 与网页界面的输入输出过滤、系统提示词、服务端拦截规则。这一层不在权重里,所以别说蒸馏了,就算把权重整包下载下来也不会跟过来。自己直接服务开放权重模型时和在官方 App 里问时答案不一样,大多数情况都出在这里。
  • 权重之内、作为行为被安装的部分。在后训练阶段被塑造出来的、对特定主题给出回避式回应的性向。HN 有一条评论表达得很好:大部分审查不是知识的删除,而是安装了一种让知识不外露的行为。实际上有一条研究脉络显示,拒绝行为被表示为残差流里的一个线性方向,并且有结果报告说操纵那个方向就能把拒绝开关打开或关上。如果知识真的消失了,是没法碰一个方向就复活的。
  • 预训练数据里本来就没有的部分。这不是行为,是真正的缺席。用对齐手段也恢复不了。

做完这个区分,这次实验碰到了什么就清楚了。学生在第二层上保持了自己基座模型的状态,而教师的第二层因为蒸馏数据没有踩进那个区域,从来没有被当成目标提出过。第一层本来就只影响 API 的响应,所以不在讨论范围内。第三层不是这个实验能处理的对象。

方向相反的证据 — 阈下学习与共享初始化

只看到这里,「蒸馏数据里没有的东西不会过来」看上去像一条干净的规则。可是存在方向完全相反的研究结果,把它一起摆上,规则才算完整。

2025 年 7 月出来的阈下学习论文报告说,即使用语义上毫无关联的数据,教师的性向也会迁移给学生。哪怕拿数字串或代码这类看上去与性向毫无关系的输出去训练,哪怕把对该性向的直接提及过滤掉,迁移依然发生。决定性的条件只有一个 — 它只有当教师与学生从同一个基座模型出发时才出现,从彼此不同的基座出发时不出现。

2026 年出来的后续研究朝着量化这件事的方向走。有结果测量了安全性退化在蒸馏中会迁移多少,而迁移的样貌随基座模型系列差别很大。某些系列呈现出超过特定强度就急剧过去的阈值形态,另一些系列则是连续地、并且以更高的比例迁移。

把这两股合起来,规则就被打磨成这样。

  • 教师在蒸馏数据支撑集内部表现出来的行为会迁移。因为它被明确优化了。
  • 支撑集之外的行为大体不会迁移。这次实验观测到的就是这种情况。
  • 但是,如果教师与学生共享初始化,支撑集之外的性向也可能渗出来。

第三条在这次实验里没有被验证。作者们也明示了,他们没有测试把中国教师蒸馏进中国系列基座的情形。可现实中做派生模型的人里,相当一部分用的恰恰就是那种配置 — 拿同一系列的开放权重当基座,拿同一系列的更高阶模型当教师。这个实验最没有覆盖到的条件,恰恰是最常见的条件

这一个实验支撑的范围,以及实务规则

归纳起来,这个实验支撑的命题是下面这一句。用完全不含中国敏感内容的金融领域数据,对一个不同系列的开放权重模型,施加局部化的逆 KL 蒸馏,教师的政治审查行为没有出现在学生身上。

不支撑的命题也要说清楚。它不支撑「蒸馏中国模型,审查不会跟过来」这个一般命题。它没有测试蒸馏数据里混进政治、历史相关提示词会怎样,也没有同系列基座上的结果。讨论帖里也有人指出评估项里漏掉了香港和入侵乌克兰;152 组这个规模是适合探索性实验的尺寸,不是能把结论钉死的尺寸。更重要的是,这是一个没有经过同行评审的、单一的非正式实验,而且没有被复现。作者们自己也写道,他们对这个行为住在表示空间的什么位置不作任何主张。

即便如此,还是有几条实务规则能直接从这套框架里出来。

  • 不要假定你继承了教师的安全属性。如果你只从一个对齐良好的模型里蒸馏了能力,那么学生的安全特性依然是基座的。必须单独评估。
  • 评估要按配对来设计。绝对分数区分不了模型的一般性谨慎和对特定主题的回避。造出结构对齐的配对所付出的成本,是这个实验里最有价值的部分。
  • 确认基座与教师是不是同一系列。阈下学习研究说的危险条件正是这个。如果是同一系列,那么蒸馏数据里没有的性向也得放进检查清单。
  • 把蒸馏数据的支撑集写成文档留下来。什么能迁移、什么不能迁移,大多只看这份文档就能预测。它也是事后排查异常行为时第一份要看的材料。
  • 量一量自己直接服务开放权重与通过官方 API 调用之间的差。那个差就是服务层过滤的大小。不知道这个值,就没法判断「这个模型被审查了」这句话说的是权重还是服务。

结语 — 蒸馏不复制教师,它复制教师说过的话

如果把蒸馏理解成「把大模型装进小模型的技术」,这次的结果看上去会很意外。但蒸馏复制的不是模型,而是对特定输入的输出分布;这么看,结果就接近于设计的必然。只问了金融题,所以只复制来了金融答案。

所以下次再被问到「蒸馏之后 X 会不会跟过来」,回答之前反问三件事就行。蒸馏数据里有没有让教师表现出 X 的输入。那些输入在数据分布里占多大比重。以及学生是不是和教师从同一个基座出发。三个答案凑齐,方向大多不用做实验就能预测。只不过知道方向不等于知道大小,所以再往下仍然是测量。