☰
验证之后再蒸馏:教师也会犯自信的错误
2026/9/30 3:35:49 网站建设 项目流程

先问你一个问题。假如你请了一位金牌家教,专门辅导数学。这位家教平时讲课非常自信,从来不含糊其辞,每道题都给出斩钉截铁的解法。你会不会毫不犹豫地把他讲的每一步都当成标准答案抄下来?

大部分人会说会啊,毕竟是金牌家教。

但如果我告诉你,这位家教在编程题上其实经常犯错,而且犯错的时候语气和讲对题时一模一样自信,你还敢照抄吗?

这正是这篇论文要讲的故事。故事的主角不是家教,是最近几年很火的一种大模型训练方法,叫做“在线策略蒸馏”。

**核心问题:教师会说谎,而且说得很有信心**

先说说这个技术背景。

在线策略蒸馏

*On-Policy Distillation,简称OPD:一种让小模型(学生)向大模型(教师)学习的训练方法,学生自己生成答案,教师负责打分指导*

是目前大模型后训练里效率很高的一种手段。它比另一种常见方法——带可验证奖励的强化学习(RLVR)要快上一个数量级。RLVR的问题在于,它对一整段答案只打一个分数,就像老师批改作文只写“60分”,学生完全不知道到底哪句话错了。而OPD不一样,它让强大的教师模型对学生生成的每一个词都打分,相当于老师拿着红笔,在你写的每一个字下面都标出该往哪个方向改。

这种逐词打分靠的是一个叫反向KL散度的数学工具。

*反向KL散度:衡量学生模型的输出分布与教师模型有多大差异的一种指标,具有“模式寻求”的特性,会让学生拼命往教师最有把握的答案上靠*

这里有个关键词,“模式寻求”。通俗点说,这个机制会让学生死死盯住教师最自信的那个答案,而不是在教师给出的所有可能答案里雨露均沾。

问题就出在这里。如果教师这次刚好很自信,但是自信错了呢?

论文里做了一个很扎实的诊断实验,让教师针对2400道编程题和2400道数学题,每题独立生成10次答案,用验证器(单元测试或者规则判题)去检验这些答案对不对,算出教师的真实“可靠率”。然后再看教师自己的自信程度(用输出词的平均对数概率衡量)能不能预测这个可靠率。

结果很扎心。在编程任务上,教师的自信程度和它是否可靠,几乎没有关系,用AUROC(一种衡量区分能力的指标,0.5等于瞎猜,1.0是完美区分)来衡量只有0.51,基本等于抛硬币。数学任务稍好一点,是0.73,但也远远谈不上可靠。

更要命的是,在教师本身就不太靠谱的那批题目里(也就是10次采样通过率低于50%的题),教师给出的“最自信”那个答案,在编程题上有84%的概率是错的,数学题上也有61%是错的。

这意味着什么?

意味着当学生用反向KL去拼命模仿教师最自信的答案时,恰恰是在这些教师最容易出错却又表现得最自信的题目上,学生被带偏得最狠。这就像前面那个家教的比喻,一个从不表现出犹豫的老师,你根本没法从他的语气里判断这道题他到底会不会。

**如果不检查会怎样:闲置的算力和被浪费的信任**

论文团队还发现了另一个很实际的问题,这个问题看似和上面讲的可靠性无关,但恰恰是解决方案的关键突破口。

在实际部署中,学生生成答案和教师打分是异步进行的:学生在一批服务器上不停地生成文字(这个过程叫自回归解码,很慢),教师则在另一批服务器上等着,一旦学生生成完一批答案,教师才开始打分(这个过程只是一次前向计算,很快)。

结果就是,教师所在的服务器大部分时间在摸鱼。论文测量了一个4B模型(一种参数量40亿的语言模型规模)的实际训练过程,发现教师节点的GPU平均利用率只有9.8%,而且在测量的一小时里,有59%的时间利用率低于5%。

这就好比你请了一位专家顾问,按小时付费,结果这位专家一天工作八小时里有接近五个小时在办公室里干等着,因为项目组还没把材料准备好给他审核。你付的是专家的全职工资,却只用到了他十分之一的时间。

如果不做点什么,这些空闲的算力就白白浪费了。而论文的核心创新,恰恰是把这两个看似无关的问题,用同一个动作解决了。

**TGOPD:让教师先自证清白,再决定要不要听他的**

这篇论文提出的方法叫做“教师门控的在线策略蒸馏”

*TGOPD,Teacher-Gated On-Policy Distillation:在每道题开始正式训练之前,先检验教师在这道题上是否可靠,可靠就用蒸馏,不可靠就换个方式训练*

核心思路其实特别朴素:与其在教师可能说谎的时候还全盘照收,不如先让教师当场做几道同类型的题,用验证器(也就是标准答案检查器)看看他做对了几道,再决定要不要相信他。

具体的做法是,针对每一道正式训练题,教师额外独立生成三个答案(论文里这个数字叫探测预算,用KT表示,KT等于3),这三个答案不参与正式训练,只是拿来“体检”。用同样的验证器给这三个答案打分,算出通过率,这个通过率就是这道题上教师的可靠性估计。

如果三次里至少两次做对(也就是通过率达到三分之二这个门槛),系统就认为这道题上教师值得信任,于是启用完整的密集蒸馏信号,教师的每个词的判断都用来指导学生。

如果教师在体检里表现不及格,系统就直接不听教师的了,转而使用一种叫做GRPO的方法。

*GRPO:一种不依赖教师,只依赖学生自己多次尝试后的相对表现来打分的训练方式,同一组答案里表现好的给正分,表现差的给负分*

这个GRPO打分不再是逐词的,而是整段答案打一个统一的分数,比蒸馏信号粗糙,但它的好处是完全基于客观验证结果,不会被教师的“自信表演”带偏。

这里有个设计细节特别值得说一说:这两种信号是互斥的,绝对不会在同一道题上被混在一起用。论文里管这个叫“路由”而不是“融合”。为什么不融合?作者的解释是,蒸馏信号是逐词的、密集的,GRPO信号是整段的、稀疏的,如果把两种粒度不同、来源不同的信号强行按权重叠加在一起,这个权重该怎么定就成了一个没有依据的超参数,效果也很难预测。干脆做一个非黑即白的开关,教师值得信任就完全听他的,不值得信任就完全不听,逻辑清清楚楚。

这就像公司审批报销单。如果一张发票金额可疑,财务不会说“这张发票我信七成,按七折报销”,而是要么打回去要求补充凭证走正常流程重新核实(对应GRPO),要么审核通过按发票原样全额报销(对应蒸馏)。混着来的“打折报销”看起来像是折中,实际上既没有真正核实清楚,又破坏了报销标准的确定性,两头不讨好。

再回到之前那个闲置算力的问题。三次探测生成的时机被特意安排在学生自己生成答案的过程中同步进行,也就是蹭上了教师节点原本闲置的那段时间。既然教师本来就在干等,不如让他趁着这段空闲时间先把体检做了。论文测量显示,这个设计让教师节点的GPU利用率从9.8%直接拉到了78.9%,几乎是把浪费的算力捡了回来。

这就是前面提到的专家顾问的比喻能继续延伸的地方:与其让专家干等五个小时,不如让他利用这段等待时间,先看看手头这批材料靠不靠谱,值不值得他动用专业判断力认真审核。如果材料本身就有问题,那干脆走标准流程重新核实,省得专家把宝贵的专业判断浪费在有问题的材料上。

**实验结果:编程任务上差距最大,因为教师的“表情”最骗人**

论文在4B和35B(参数量350亿,激活参数30亿的混合专家模型)两种规模的学生模型上,分别在数学、编程、指令遵循三个领域做了对比实验。

下面这张表格摘录了部分核心结果:

| 方法 | 数学AIME2025 | 数学AIME2026 | 编程LiveCodeBench | 编程OJBench | 指令遵循IFEval |

|---|---|---|---|---|---|

| 基础模型 | 47.8 | 58.1 | 39.4 | 14.4 | 85.3 |

| 教师模型 | 63.4 | 73.4 | 53.3 | 17.0 | 85.3 |

| 传统蒸馏(Vanilla OPD) | 61.1 | 71.2 | 42.3 | 18.8 | 83.9 |

| **TGOPD(本文方法)** | **64.8** | 73.5 | 47.1 | **20.0** | **85.2** |

(以上为4B规模部分结果,完整数据涵盖35B规模及更多基准)

结果显示,TGOPD在全部六个“规模乘领域”的组合里,都超过了传统的Vanilla OPD。而且提升幅度最大的恰恰是编程领域,4B规模上平均提升3.0分,35B规模上提升2.9分,这和前面诊断实验里发现的“教师在编程题上自信程度最不靠谱”高度吻合。

更值得注意的一个细节是在35B规模的LiveCodeBench编程基准上,几乎所有其他对比方法(包括几种同期发表的其他改进型蒸馏方法)都出现了负迁移,也就是学生训练完之后的表现反而不如什么都没训练过的原始模型。只有TGOPD不仅没有掉分,还反超了未训练模型3.0分,甚至超过了教师模型本身1.3分。

这个“学生超过教师”的结果乍看有点反直觉,蒸馏不就是让学生尽量接近教师吗,怎么会超过?但仔细想想就明白了:当教师在某道题上不靠谱的时候,TGOPD直接关闭了教师信号,转而用GRPO让学生自己在多次尝试里筛选出相对更好的答案。这种“自我校正”机制在教师本身靠不住的场景下,反而比死盯着一个不靠谱的老师更有效。

论文还做了一系列细致的消融实验。比如把门槛调节到不同严格程度,发现门槛设在“五次探测里至少三次通过”附近时效果最好,太松(几乎照单全收)或太严(几乎全部拒绝)都不如中间值。这说明这个把关机制不需要做到特别精准的排序,只要能做一个大致靠谱的粗筛就够用了。

另外一个消融实验对比了“教师不可靠时直接跳过这道题不训练”和“教师不可靠时换成GRPO继续训练”这两种策略。结果显示,光是“拦住不可靠的教师信号”这一步,就已经贡献了大部分的提升(大约90%),而换成GRPO作为替代方案,只是在此基础上锦上添花,带来了剩下一小部分的额外收益。这个发现挺有意思,说明这套方法里最值钱的那一步,其实是“识别并拒绝错误信号”本身,而不是拒绝之后具体用什么替代。

论文还测试了把这套方法用在多领域联合训练的场景(同时训练数学、编程、指令遵循三个领域,每道题路由给对应的专家教师)。结果显示,在4B规模上,七个基准的平均分从53.40提升到54.54,35B规模上从60.99提升到61.94,说明这套方法不局限于单一领域,可以直接套用到更复杂的多教师场景里。

**这个方法解决了什么根本矛盾**

回过头来看,这篇论文其实是在处理一个很本质的矛盾:密集监督信号效率高,但前提是信号源可靠;而验证过的信号可靠,但天然是稀疏的、粗糙的。传统做法要么全盘接受密集但可能失真的信号(Vanilla OPD),要么退回去用稀疏但可靠的信号(纯GRPO),两头都有代价。

TGOPD的做法是不在这两者之间做一次性的选择,而是把选择权下放到每一道具体的题目上,让每道题自己决定该用哪种监督方式。这种“先验证,再决定信任程度”的思路,其实在很多领域都能找到影子:贷款审批要先看征信记录,招聘要先做背景调查,甚至日常生活里买二手车之前要先找师傅检测一遍。信任不是默认给出的,是靠具体的、可核验的证据挣来的。

如果论文没有做这个门控,会发生什么?前面的实验数据已经给出了答案:所有对比方法里,凡是让教师信号无差别地作用于每一道题的方法,在编程这种教师自信程度和实际能力脱节最严重的领域,几乎全部出现了负迁移。这不是一个理论上的担忧,是实打实测出来的后果。

Q&A

Q1:TGOPD是什么?

A:TGOPD是一种改进版的在线策略蒸馏训练方法,核心思路是让教师模型先针对每道题做几次“体检”测试,验证器打分判断教师是否靠谱,靠谱就用密集蒸馏信号训练学生,不靠谱就换成基于验证结果的GRPO信号训练。

Q2:为什么教师模型自信满满还会出错?

A:论文诊断实验发现,教师的自信程度(也就是输出概率高低)和它答案是否真的正确之间关联很弱,尤其在编程任务上几乎没有关系(AUROC只有0.51),在教师本身不太靠谱的题目里,它最自信的答案仍有六到八成概率是错的。

Q3:TGOPD会不会拖慢训练速度?

A:影响很小。论文测算显示,教师体检所需的额外计算主要占用了原本闲置的算力(教师节点利用率从9.8%提升到78.9%),一次匹配的35B规模实验里,端到端的单步耗时只增加了5.9%。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询