学生模型学会了做对题,却学不会做对题的多种方式,问题出在哪 Оригинал на китайском

你有没有想过一个奇怪的现象:一个学生跟着老师学了一年,做题的正确率明明提高了,可一旦换个角度考同一道题,他却总是只会那一种解法,其他思路完全想不出来。
这不是比喻,这是当下大语言模型蒸馏训练里正在真实发生的事。
大模型的蒸馏,简单说就是用一个强大的"老师模型"去教一个较小的"学生模型"。为了省钱省算力,工业界现在流行一种叫做采样token式在线蒸馏的做法:学生自己生成一句话,每生成一个词,只问老师"这个词你打多少分",而不是把整本词典的打分表都摊开给学生看。这个方法已经被写进了GLM-5、KiMi、Qwen3这些大厂的最新训练流程里。
问题是,这个省钱的做法有一个致命的副作用。用论文里的说法,学生的pass@1在涨,pass@k却停滞不前。
pass@1:指模型只生成一次答案时,答对的概率。
pass@k:指模型生成k次答案,只要有一次答对就算成功的概率,k越大越能反映模型思路的多样性。
翻译成人话就是:学生做一道题,第一次尝试的正确率越来越高,看起来学得不错。可如果允许他反复尝试16次、64次,他能想到的解法却越来越单一,好像脑子里只剩下一条路,走不通就是走不通,压根没有备选方案。这就是论文标题里说的"多样性蒸馏失败"。这事儿要是发生在真实考试场景里,后果很严重。因为很多复杂推理任务,靠的就是多次尝试、多角度突破,一条路走到黑的模型在这种任务上会非常脆弱。
为什么会这样:一个被忽视的信号
要理解这个问题,得先搞清楚采样token式蒸馏具体在做什么。
学生生成一个词,记作y,然后去问老师:你觉得这个词该打多少分。学生自己心里也有一个打分,两者的差值叫做优势值(Advantage),记作Ay。这个差值越大,说明老师和学生对这个词的看法分歧越大,学生就要往老师的方向"挪"得越多。
在此之前,研究者们的直觉是:优势值Ay的正负和大小,应该能决定这次更新是让模型的输出更集中(熵下降,多样性变差)还是更分散(熵上升,多样性变好)。这个直觉听起来很合理,几乎所有相关工作都是照着这个思路设计干预方案的。
论文用一组实验图直接打破了这个假设。研究者们把真实训练中的每一次更新拿出来,横轴是Ay,纵轴是这次更新导致的熵变化,画出来的散点图不是一条清晰的线,而是一个乱糟糟的扇形。同样的Ay值,有的更新让熵上升,有的却让熵下降,幅度还差得很大。
这说明单看优势值这一个数字,根本猜不出这次更新是在扩大学生的思路,还是在收窄它。
论文给出的解释很直观。假设老师都建议"提高某个词的概率",这个正的Ay对两种情况的效果完全不同:如果这个词本来在学生眼里就已经是热门选项,再加把劲,分布只会更尖锐,熵下降;但如果这个词本来是个冷门选项,把它的概率抬上来,反而让原本集中的分布变得平坦一些,熵上升。
同样一句"再加把劲",用在一个已经跑在前面的选手身上和用在一个吊车尾的选手身上,效果是截然相反的。如果只盯着"加了多少劲"这一个数字去判断比赛结果会怎样变化,你注定会预测错一半的情况,因为你漏掉了"这个选手起跑时排第几"这个关键前提。这正是论文想说的:优势值只是"加了多少劲",而学生当前的概率分布才是"起跑排位",两者缺一不可才能判断熵的走向。
找到真正的罪魁祸首:一阶局部熵影响
既然优势值单独不够用,论文接下来做了一件很硬核的事:用数学推导,把熵变化拆解成两个乘积项。
论文提出了一个叫做一阶局部熵影响(First-Order Local Entropy Influence,记作IH(y))的量,公式是IH(y) = Ay × Dy。
一阶局部熵影响:一个衡量单次更新对模型输出多样性(熵)影响方向的信号,由老师学生的分歧度(Ay)乘以学生当前分布结构的一个系数(Dy)共同决定。
其中Dy这一项完全由学生当前的概率分布决定,和老师无关。它本质上刻画的就是前面说的"起跑排位"效应:这个词在学生心里的概率是高是低,分布本身是尖是平。
论文把这个新指标IH(y)重新拿去和真实的熵变化做对比,发现散点图立刻从乱糟糟的扇形变成了一条紧密贴合的直线。这说明IH(y)的正负号,能可靠地预测这次更新到底是让模型变得更多样,还是更单一。
这个发现的价值在于,它把一个原本模糊的、靠感觉判断的问题,变成了一个可以精确计算的信号:只要算出IH(y)的符号,就知道这次更新是在"扩大版图"还是在"收缩版图"。
熵是怎么被偷走的:一个反直觉的发现
有了IH(y)这个信号,最直接的想法是:凡是IH(y)小于零的更新(在收缩熵),全部踩刹车。但论文在这里做了一个很关键的检验,结果推翻了另一个流行的假设。
之前不少同类研究(比如论文里提到的TIP、Token Teachability这些方法)都默认一件事:熵的损失主要来自老师和学生分歧特别大的地方,也就是老师说这个词该打9分,学生却只打了1分这种极端不合的位置。这个假设听起来也很自然,分歧越大,调整幅度也越大,熵变化自然也该越剧烈。
论文实测的结果却出人意料。研究者把所有更新按老师学生的分歧程度分桶,统计每个桶累积贡献了多少熵损失,画出来的分布(论文里的图2)显示,累积熵损失确实在高分歧的区域有一个小高峰,但真正的主峰,峰值出现在分歧几乎为零的地方。
换句话说,真正把模型多样性偷走的,不是那些老师学生激烈争吵的位置,而是那些老师学生几乎意见一致、看起来毫无问题的海量位置。每一次这样的更新单独看几乎无关痛痒,可这种位置的数量实在太多,积少成多,变成了熵损失的主力军。
这就好比一个家庭的开支黑洞,往往不是那笔大额的装修款,而是每天顺手买的一杯奶茶、一次打车。单看一笔账,谁都不会心疼,可一年下来一算总账才发现,这些不起眼的小额消费才是真正掏空钱包的元凶。如果只盯着大额支出去省钱,反而管不住真正的漏财口子。这个例子里"大额装修款"对应的就是高分歧位置的更新,"每日奶茶钱"对应的就是那些看似无害却数量庞大的低分歧更新。
解决方案:精准止损,而不是一刀切
搞清楚了熵损失从哪来,论文提出的解决办法叫做影响导向自适应在线蒸馏(Influence-Directed Adaptive On-Policy Distillation,简称IDA-OPD)。
它的逻辑其实很简单,分两步走。
第一步是用IH(y)的符号做筛选:凡是IH(y)大于等于零的更新,也就是本来就在扩大模型多样性的更新,原封不动地保留,不去干涉它。
第二步才是关键。对于IH(y)小于零的更新,也就是正在收缩熵的那些位置,论文不是简单粗暴地全部砍掉,而是引入一个叫做散度自适应收缩权重(记作wy)的系数,去按比例削弱这次更新的力度。
这个权重wy的计算方式是老师和学生打分差异的绝对值除以两者之和,数值落在0到1之间。它的效果是:老师和学生本来意见就高度一致的位置,wy会很小,接近于零,这次更新几乎被完全冻结;老师和学生分歧很大的位置,wy会接近于1,这次更新基本原样保留。
这套设计恰好对上了前面发现的规律:熵损失的主力是那些低分歧、大数量的更新,而wy恰恰能把这批更新的力度削到最弱,同时对真正有价值的高分歧修正基本不动手。论文还证明了一个数学性质,当分歧趋近于零时,wy乘以Ay的衰减速度是二次方级别的,衰减得非常快,而当分歧很大时,wy乘以Ay几乎等于原来的Ay,不受影响。
这个设计思路很像一个精明的编辑在审稿。稿子里有些地方作者写得已经和标准答案几乎一模一样,这时候编辑再挑刺、再反复打回去重写,对文章质量提升微乎其微,却会白白消耗作者的耐心和创造力,让整篇稿子的风格越改越死板。真正该下狠手修改的,是那些明显偏离主题、逻辑有硬伤的段落。如果编辑对每一处哪怕一个字的差异都要求重写,最后交出来的稿子会失去所有个性,变成一份千篇一律的模板文章,这正对应着论文说的熵收缩、多样性丧失。
值得一提的是,整个过程IDA-OPD只用到了老师对采样词的那一个打分,没有引入老师的完整词典分布,也没有用到代价高昂的前向KL散度计算。这和另一类"老师信息更丰富"的方法(比如论文提到的AOPD、EOPD)形成了鲜明对比,后者虽然效果不错,但需要老师给出top-K的完整候选分布,计算和存储成本高出一大截。
实验说话:数字不会骗人
论文在数学推理和代码生成两个领域做了完整的实验验证。
数学推理任务上,论文用了两套师生组合,一套是8B规模的Qwen3模型,一套是4B规模的Qwen3模型,评测数据集覆盖了AIME 2024、AIME 2025、HMMT 2025两场比赛的数据。
结果显示,标准的采样token式蒸馏(OPD)确实存在前面说的问题。以4B模型为例,学生在AIME 2024上pass@16(允许尝试16次)只能达到78.7%,而老师模型能达到80.0%,差距不算太夸张,但在AIME 2025上,学生只有65.7%,老师却有73.3%,差了整整7.6个百分点。
IDA-OPD训练出来的学生,在AIME 2024上pass@16达到了83.3%,不仅追上了老师,甚至反超了3.3个百分点。在HMMT Feb这个更难的赛道上,相比标准OPD直接提升了8.3个百分点。8B模型上的结果类似,pass@16在HMMT Feb上提升了7.2个百分点。
论文还专门画了pass@k从1到64的完整曲线图(对应文中图3)。曲线显示,在k等于1的时候,IDA-OPD和标准OPD差距不大,大约只领先2个百分点,毕竟只尝试一次,靠的是模型最自信的那条路,两者差别有限。但随着k增大到8到16,差距迅速拉开到4到5个百分点,并且一直保持到k等于64。这个走势恰恰印证了论文的核心判断:标准OPD训练出来的模型,几次尝试之后就把所有备选方案用完了,而IDA-OPD保留下来的那部分多样性,恰好在这个区间里持续发挥作用。
代码生成任务上同样验证了这个模式。在MBPP+这个基准上,标准OPD的pass@16几乎原地踏步,从学生原始的73.5%只涨到72.9%,反而略微下降了。IDA-OPD则把pass@16提升到73.8%,同时pass@1也从69.5%涨到71.6%,两个指标同步改善。
论文还做了细致的消融实验,拆掉IDA-OPD里的每一个组件单独测试。如果去掉IH(y)这个筛选门,对所有更新一刀切地施加收缩权重,pass@1会明显下降,从56.7%掉到53.8%,说明不分青红皂白地收缩会误伤那些本该保留的扩展性更新。如果换成硬性掩码,直接把收缩类更新的力度归零,pass@1掉得更狠,到52.1%,说明简单粗暴的一刀切会丢掉很多有价值的老师修正信号。如果用Ay的正负号代替IH(y)作为筛选依据,pass@16直接掉到65.2%,证明优势值的符号确实不能替代IH(y),这也再次印证了论文最开始的核心发现。
训练过程里能亲眼看到的证据
论文还做了一个很有说服力的追踪实验:在真实训练过程中,分别尝试只保留IH(y)大于零的更新(把负的全部砍掉)、只保留IH(y)小于零的更新(把正的全部砍掉),然后画出整条训练曲线上的策略熵变化。
结果显示,砍掉扩展类更新的那条曲线,熵一路走低,明显低于标准OPD;砍掉收缩类更新的那条曲线,熵则一路走高,冲到了最高点。而IDA-OPD的曲线,稳稳地夹在两者中间,同时明显高于标准OPD的基线。
这个结果的意义在于,它证明了IH(y)这个信号不只是理论推导上成立,在真正的、充满噪声的大规模训练过程里,依然是一个可靠的方向标。论文特别提到,理论推导时假设的是理想化的单步梯度更新,而实际训练用的是AdamW这种带动量、带自适应学习率的复杂优化器,权重还是共享的,这中间隔着不小的鸿沟。能在这种真实条件下依然观察到清晰的分离效果,说明这个信号确实抓住了问题的本质,而不是理论上好看、实际上不管用的花架子。
论文还做了token级别的熵分布统计,对比老师、标准OPD学生、IDA-OPD学生在AIME 2024题目上生成答案时每个词的确定程度。标准OPD训练出来的学生,在最低熵区间(0到0.1,意味着几乎已经"锁死"某个答案)堆积了将近74%的词,而老师只有57%左右。IDA-OPD学生则控制在55%左右,和老师非常接近。这组数字直观地展示了标准蒸馏训练是怎么一步步把模型"逼死"到一条道走到黑的。
这个方法的代价有多低
论文最后专门算了一笔计算成本的账。IDA-OPD在每个位置只需要传输老师的一个标量分数,复杂度是O(L),L是序列长度。而那些老师信息更丰富的方法,比如EOPD和AOPD,需要在部分位置传输老师完整的top-K候选分布,复杂度是O(Lsel × K),这里的K往往是几十甚至上百。
IDA-OPD唯一的额外开销,是计算Dy这一项,而这一项所需要的学生分布信息,在正常的前向传播过程里本来就已经算出来了,不需要额外的计算资源。这意味着IDA-OPD用OPD级别的成本,换来了接近甚至超过昂贵方法的效果。
写在后面
读完这篇论文,最触动我的其实不是IDA-OPD这个方法本身有多精巧,而是它揭示的那个反直觉发现:大家一直以为熵的流失来自"分歧大的地方",结果真正的元凶是"分歧几乎为零、看起来毫无问题"的海量位置。这种发现的价值在于,它提醒我们很多系统性的问题往往不是被某几个显眼的坏点拖垮的,而是被无数个看起来完全正常、单独判断毫无问题的小决定悄悄侵蚀掉的。
这个思路其实和很多领域里"温水煮青蛙"式的失败有相通之处。一个团队的创造力被磨掉,往往不是因为某次决策特别糟糕,而是因为无数次看起来合理的小修小改,一点点把所有的棱角磨平了。IDA-OPD的做法某种程度上提供了一个通用的思考框架:当你想保护某种"多样性"或者"探索性"的时候,与其去堵那几个明显的漏洞,不如去审视那些数量庞大、看起来无害的日常操作。
论文里还有一个细节我觉得值得单独提一下,就是那个一阶影响IH(y)和优势值Ay之间的散点图对比。前者是一条紧贴的直线,后者是一团乱糟糟的扇形,这两张图放在一起的视觉冲击力,比任何文字论证都更有说服力。有时候找到正确的度量方式,本身就是解决问题的一大半。
那么下一个问题是,如果多样性的流失真的主要来自那些"看起来毫无问题"的高频微小决策,那在其他需要保持探索能力的系统里,比如强化学习的策略更新、甚至组织管理里的常规决策,是不是也存在类似的、被我们长期忽视的隐形损耗源?
Q&A
Q1:什么是采样token式在线蒸馏,它和传统蒸馏有什么区别?
A:传统蒸馏需要老师模型给出整个词表的完整概率分布,计算和存储成本很高。采样token式在线蒸馏只需要老师对学生自己采样出的那一个词打分,不需要完整分布,因此效率更高,已经被GLM-5、KiMi、Qwen3等大模型采用。
Q2:什么是多样性蒸馏失败,为什么pass@1提升但pass@k不变?
A:这是指学生模型经过蒸馏后,单次答题的正确率(pass@1)提高了,但允许多次尝试后的正确率(pass@k)却没有明显进步。原因是训练过程中大量看似正常的更新在悄悄压缩模型的输出多样性,导致模型只学会了一种解题思路,反复尝试也想不出新路子。
Q3:IDA-OPD方法为什么能在不用老师完整分布的情况下解决多样性问题?
A:IDA-OPD只用老师对采样词的单一打分,通过一阶局部熵影响信号判断每次更新是在扩大还是收缩模型多样性,再用散度自适应权重精准削弱那些收缩多样性且分歧很小的更新,保留有价值的高分歧修正,因此计算成本和标准方法一样低,效果却接近需要完整分布的昂贵方法。