
你有没有想过,训练一个大模型其实可以像走捷径一样,偷懒到让一个小模型先去吃苦头,然后把它吃苦头换来的经验原封不动地搬给大模型用?
这听起来有点像现实生活里的"站在巨人肩膀上",但这次更夸张:巨人是个小个子,肩膀却要扛起一个大块头。这就是这篇论文要讲的故事,一个关于如何更聪明地偷懒的故事。
**强化学习很贵,这是个公开的秘密**
先说说背景。现在的大语言模型想要变聪明,光靠预训练堆数据是不够的,还得经过强化学习这道工序去打磨。
强化学习*:一种让模型通过试错和反馈不断改进自己行为的训练方法,简单说就是做对了奖励、做错了惩罚。
问题是,模型越大,强化学习的成本就越高。生成答案要花钱,训练要花钱,维护整套训练系统更要花钱。于是就出现了一个尴尬的局面:越是潜力大、越需要被强化学习精心打磨的大模型,打磨它的代价反而越高。这就像给顶级跑车做保养,车越贵,零件和工时费越贵,结果很多车主干脆不敢开去保养厂。
有一群研究者想到了一个取巧的办法,先在一个小模型上做强化学习,便宜又快,然后把小模型"进步的痕迹"提取出来,想办法转移给大模型,让大模型不用真正经历那个烧钱的强化学习过程,却能获得类似的进步。这个思路听起来几乎是白捡的好处,学术上管这个叫Direct-OPD。
Direct-OPD(直接在线策略蒸馏)*:一种方法,先对小模型做强化学习,得到强化学习前后两个版本(参考模型和教师模型),然后计算这两个版本在每个词预测上的概率比值变化,把这个变化当作奖励信号,教给大模型。
这个方法的巧妙之处在于,它不要求教师模型比学生模型更强,只要求教师模型"进步过"。这就打破了传统蒸馏方法的一个硬性约束,传统蒸馏必须找一个比学生更厉害的老师,但Direct-OPD只需要一个经历过成长的老师,哪怕这个老师本身能力不如学生,它成长的轨迹依然有参考价值。
**免费的午餐,真的没有陷阱吗**
这篇论文的标题引用了一句话,"天下没有免费的午餐",这其实是在暗示一件事:Direct-OPD这个看起来美好的捷径,可能藏着一个没被注意到的漏洞。
研究者们发现的问题出在这个"概率比值"身上。你可以把它理解成一个相对变化率,比如从0.0001涨到0.001,涨了10倍,从0.1涨到1,也涨了10倍。但这两种涨法的含义完全不同,前者是从几乎不可能变成依然不太可能,后者是从有点可能变成几乎确定。
问题就在这里:Direct-OPD只看这个相对变化的比值,根本不管这个变化背后到底承载了多少实际的概率质量。换句话说,哪怕教师模型和参考模型在某个词上的预测概率都小到可以忽略不计,只要比值没变,Direct-OPD给出的奖励信号就不会变。
研究者们用一个精确的数学构造证明了这一点。他们设计了一组分布,让教师和参考模型分配给候选词的总概率质量按一个因子ε缩小,ε越小,这部分概率质量越接近于零。结果发现,不管ε怎么缩小,Direct-OPD的奖励值和训练时的梯度更新都纹丝不动,完全不受影响。但与此同时,衡量两个分布到底有多不同的一个指标,JS散度,却随着ε趋近于零而一起趋近于零。
JS散度(Jensen-Shannon divergence,简称JSD)*:一种衡量两个概率分布有多相似的指标,数值越小说明两个分布越接近,数值有上界,并且对称,不管谁跟谁比结果都一样。
这意味着什么?意味着Direct-OPD可能会把奖励实实在在地发给一个"教师根本没怎么变过"的状态。想象一下,你雇了一个品酒师来给你打分,但这个品酒师评分的方式是看两杯酒的"相对浓度比",而不管这两杯酒到底是用一整瓶原浆兑出来的,还是用几滴酒精兑了一大桶水稀释出来的。如果不看浓度比例背后的真实量,品酒师完全可能把两杯几乎只剩水味的饮料打出天差地别的分数,因为比值计算上它们确实"差别很大",但这种差别对你真正想要评判的"酒好不好喝"这件事毫无意义。如果不加区分地相信这种比值,你最后训练出来的模型会在那些根本没有实质变化的地方被反复"教育",浪费了宝贵的训练信号。
**用JSD来筛,只留下真正值钱的那10%**
发现问题之后,研究者提出了解决方案,取名叫S?D-OPD。
S?D-OPD(Direct-OPD的选择性监督)*:在原有Direct-OPD基础上增加一道筛选工序,只在教师模型和参考模型分布差异足够大的状态上进行训练,把差异小的状态直接屏蔽掉。
具体做法并不复杂。对学生模型采样生成的每一个词的位置,研究者去计算教师模型和参考模型在这个位置上,针对学生最可能选择的那些候选词(也就是Top-K候选集)的JS散度。
Top-K候选集*:模型在预测下一个词时,并不是只盯着一个答案,而是会给词表里每个词都算一个概率,Top-K就是取概率最高的K个候选词。
算完JS散度之后,把一次回答里所有的位置按散度从高到低排个序,只留下排名前10%的位置参与Direct-OPD训练,剩下90%的位置直接当作空气,不计入奖励,也不计入正则化项。
这个设计的巧妙之处在于计算这个筛选分数几乎不花额外的钱,因为Direct-OPD本来就要把教师和参考模型的概率都算出来,S?D-OPD只是把这些已经算好的数字重新组合利用了一下,没有增加任何额外的前向计算。
这里有一个细节值得说一下,研究者没有在整个词表上算JS散度,而是只在学生的Top-K候选词加上一个"剩余概率"的虚拟词上计算。这个处理有数学上的依据,叫数据处理不等式,简单说就是这样压缩计算出来的散度值不会超过完整词表上算出来的散度值,所以用它来做筛选是安全的,不会漏掉真正重要的变化。
打个比方,这就像你去医院体检,医生不会把你全身上下几万个细胞都检查一遍,而是重点检查那些历史上容易出问题的器官,比如心肺肝肾。如果体检报告显示这几个重点指标都正常,那通常可以合理推断你整体状况大致健康,用不着把每一寸皮肤都切片化验。如果不做这种聚焦,检查成本会高到没人愿意做体检,而且绝大多数细胞的检查结果根本不会告诉你任何有用信息。
**实验结果:七局八胜,没有输**
光讲道理不够,这篇论文做了相当扎实的实验来验证这个筛选是不是真的有用。
研究者用了两组"教师配对":一组是从R1-Distill-1.5B强化学习升级到JustRL-1.5B,另一组是从Nemotron-1.5B升级到QuestA-1.5B。然后把这两组教师的"进步经验"分别转移给四个不同规模的学生模型,从17亿参数的Qwen3-1.7B到80亿参数的Qwen3-8B,还有70亿参数的R1-Distill-7B。
测试的考题是数学竞赛题,AIME和HMMT这些难度很高的赛事题目,并且特意选用了比所有学生模型训练数据更晚发布的题目,确保学生模型不是靠"背题"拿分。
结果是,在八组对比实验里,S?D-OPD在七组里的表现都超过了不做筛选的Direct-OPD,剩下一组打平,没有一组输。用统计学方法算下来,S?D-OPD平均把测试准确率提高了0.95个百分点,而且这个提升在统计上是显著的,不是偶然波动。
更有意思的是训练过程的曲线表现。研究者发现,即便只用了10%的数据量,S?D-OPD在训练早期完全没有落后于用满了100%数据的Direct-OPD,说明真正推动早期进步的信号,本来就集中在那被筛选出来的10%高散度状态里。而且到了训练后期,S?D-OPD表现得更稳,不会像Direct-OPD那样反复从高点掉下来,甚至有一个案例里,Direct-OPD训练到300步时准确率竟然跌破了学生模型最初的水平,而S?D-OPD没有出现这种倒退。
**低散度的监督不只是没用,是真的有害**
接下来的实验更有说服力,也更让人意外。
研究者把训练数据按JS散度从低到高切成十个档位,每个档位单独训练一个模型,另外设了一个随机抽取10%数据作为对照组。
结果发现一个清晰的梯度:散度最高的那个档位训练出来的模型表现最好,比随机抽样对照组还要好。而随着档位往下走,表现逐渐变差,最低的两个档位训练出来的模型甚至跌破了初始学生模型的水平,直接崩溃了。
这个结果验证了前面的数学推导不是纸上谈兵,低散度状态真的就是"教师几乎没怎么变过"的状态,在这些状态上硬塞训练信号,不仅没有帮助,反而会把学生模型往错误的方向带偏。
这就好比你请了一个健身教练,教练给你布置训练计划的方式是只告诉你"今天举的重量比昨天变化了多少倍",而不管你举的到底是5公斤还是50公斤。如果教练盯着你举1公斤变成2公斤这种变化沾沾自喜地记录下来,然后拼命根据这个"变化率"调整你的训练强度,你很可能会被引导去做一堆对真实体能提升毫无意义的动作,甚至练出错误的发力习惯。如果不筛掉这种"虚假进步"信号,整个训练计划的方向感会被严重误导。
研究者还发现,随机抽样对照组的表现恰好落在"平均散度和最终提升幅度"这条线性关系上,这说明不管你是精挑细选还是随便乱抽,只要抽中的样本平均散度够高,效果就跟得上,这反过来也印证了散度确实是衡量监督价值的一个可靠标尺。
**散度大的位置和"奖励值大"的位置不是一回事**
论文里还有一个案例分析特别值得拿出来讲讲,因为它颠覆了一个直觉。
你可能会以为,奖励信号最大的位置就应该是最值得学习的位置。但研究者发现了一个反例:在某次采样里,强化学习把某个词被选中的概率从0.12骤降到几乎为零,这在数值上制造出了整个回答里最大的奖励信号。但仔细一算,教师模型的整体分布其实只移动了0.12的总变差距离,变化并不算特别剧烈,它的JS散度只有0.044,远低于当次筛选的门槛0.067,所以这个位置会被S?D-OPD直接屏蔽掉。
与此同时,另一个位置虽然单个词的奖励值没那么夸张,但教师模型把概率在多个候选词之间做了更大幅度的重新分配,JS散度达到0.262,远高于门槛,因此被保留了下来。
这说明一件事:只盯着单个数字的变化幅度容易被误导,而看整体分布的重新洗牌程度,反而更能反映教师模型到底有没有发生实质性的改变。这就像评价一场选举结果,如果只看某一个候选人得票率从1%涨到2%,听起来翻了一倍很惊人,但如果整体选民结构几乎没有变化,这个"翻倍"毫无意义。真正值得关注的是选票在各个候选人之间有没有发生大规模的重新分配。
**JSD只管变化大小,不管对错**
这里有必要泼一盆冷水,提醒大家这个方法不是万能药。
研究者做了一些案例分析,发现JS散度这把尺子只衡量教师模型的分布变了多少,完全不负责判断这个变化是不是正确的。论文里举了一个例子,学生模型在解一道题时把一个中间结果的奇偶性判断错了,强化学习反而强化了这个错误判断,把"奇数"的概率从某个值推高了0.41,这个状态的JS散度是0.1197,超过了那次回答的筛选门槛0.0744,于是这个错误判断被保留下来继续训练。
这说明S?D-OPD解决的是"该不该在这个位置花训练资源"的问题,而不是"这个位置的信号本身对不对"的问题。如果教师模型本身强化学习做得不到位,学歪了,S?D-OPD也没法把这个歪的部分纠正过来,它只是让训练更聚焦,而不是让训练更正确。
**这套方法经得起换着法子折腾吗**
研究者还做了一系列稳健性测试,换了不同的散度度量方式,比如用KL散度代替JS散度,结果发现效果基本一致。他们还试过把筛选范围从"每条回答内部选前10%"改成"整个批次里统一选前10%",发现结果也差不多。甚至把保留比例从5%一路调到20%,准确率的波动都在一个百分点以内,而且每个比例都稳稳超过了不筛选的基线。
这说明这套筛选思路不是靠运气凑出来的某个魔法数字,而是在相当宽的参数范围内都能稳定生效,这对于一个想要被广泛采用的方法来说是个相当重要的加分项。
Q&A
Q1:Direct-OPD方法为什么会出现概率质量被忽略的问题?
A:因为Direct-OPD用的奖励信号是教师模型和参考模型的概率比值,这个比值只反映相对变化,哪怕两个模型分配给某个候选词的概率都小到接近于零,只要比值不变,奖励信号就不会变,这样就忽略了变化背后真实承载的概率质量大小。
Q2:S?D-OPD具体是怎么筛选训练位置的?
A:它在学生模型采样生成的每个位置上,计算教师模型和参考模型在学生候选词集合上的JS散度,然后在每条回答内部,只保留散度排名前10%的位置参与训练,散度低的90%位置直接屏蔽掉,不计入奖励也不计入正则化。
Q3:只用10%的数据训练会不会让效果变差?
A:不会,实验显示S?D-OPD只保留10%的高散度状态,在八组测试里有七组效果超过了用满全部数据的Direct-OPD,还有一组打平,训练早期进度不落后,后期还更稳定,说明关键训练信号本来就集中在这部分被保留的数据里。
好文章,需要你的鼓励
GeoVerse融合几何潜在扩散模型与Wan2.2视频生成先验,并引入全局空间记忆机制,实现了跨视角一致、生成质量高且推理速度快的新视角合成,在多个数据集上大幅超越现有方法GLD。
本文解读TT-VidT,一种通过分离外观锚点与动作令牌、结合Diff Compression训练目标的视频自监督方法。在24种架构目标组合的受控实验中,仅TT3D与Diff Compression搭配才能进入强动作敏感区,且计算量比同类方法降低近一半。
Q&A Q1:Imprint Reader是什么? A:Imprint Reader是上海人工智能实验室团队开发的模型,通过SMaRT训练方法学会读取另一个模型冻结的权重更新,把参数层面的变化翻译成自然语言描述,判断这次更新到底注入了什么知识或诱导了什么行为习惯。 Q2:MetaEdit能做什么? A:MetaEdit能把Reader对目标行为的梯度信号迁移到原始模型上,不需要任何目标任务的训练数据,只用一句行为描述就能定向调整模型参数,已经在安全性拒绝率调节、数学推理风格转变和工具调用能力提升上验证过效果。 Q3:Imprint Reader读权重更新的准确率高吗? A:目前还不高,知识类目标的Pass@100只有2%,行为类目标是16%,说明自由生成描述的可靠性有限,但相比原始模型完全答不出来的0%基线,已经证明了权重更新的自然语言读取是可行的。
统一多模态模型能看也能画,理论上该会自我修正。本论文提出UMM-Reflection,用整条轨迹的强化学习联合训练诊断和修图能力,GenEval提升12分,且迁移到多个未训练基准,揭示RL提升的是选择可靠性而非新能力。