打开网易新闻 查看精彩图片

你有没有遇到过这种情况:一个特别厉害的老师,讲课讲得又快又准,学生跟着他一字不差地记笔记,考试也能考不错的分数,但一到需要自己独立解题、遇到老师没教过的新题型时,学生就懵了。

这不是学生笨,是他从头到尾都在模仿,没有真正学会自己思考。

这篇论文讲的就是这么一个问题,只不过老师和学生都是AI模型。

两种教AI的方式,各有各的毛病

现在训练大语言模型做数学题、写代码,主流有两条路。

第一条路叫**强化学习与可验证奖励**

> RLVR(Reinforcement Learning with Verifiable Rewards):让AI自己生成答案,然后用一个规则化的裁判(比如检查数学答案对不对,代码能不能跑通)给整段回答打一个分。

这个方法的代表叫**GRPO**

> GRPO(Group Relative Policy Optimization,群体相对策略优化):让AI针对同一道题生成好几份不同的回答,比较这几份回答的好坏,得出一个相对分数,这个分数会被平均分配给这份回答里的每一个字。

问题就出在这个"平均分配"上。想象一下,你写了一篇八百字的作文,其中只有最后一句话是点睛之笔,前面七百多字都是普通的铺垫。但老师批改的时候,把这篇作文的总分平均分摊到每一个字上,不管是那句神来之笔还是普通的过渡句,得到的评价都一样。这样一来,AI没法知道自己到底哪一步做对了,哪一步是在瞎蒙。

尤其是遇到特别难的题目,一组回答里可能一份正确的都没有,这时候GRPO给出的分数几乎为零,等于什么都没说。AI最需要指导的地方,恰恰是这个方法最没用的地方。

第二条路叫**在线策略蒸馏**

> OPD(On-Policy Distillation,在线策略蒸馏):找一个更强的AI模型当老师,让学生AI自己生成回答,然后老师给学生生成的每一个字打分,看看学生这个字选得像不像老师会选的字。

这个方法确实解决了GRPO的粗糙问题,它能精确到每一个字,密度很高。但它也有一个天生的缺陷:它衡量的是"学生像不像老师",而不是"学生做得对不对"。如果老师自己都有盲点,学生学的就是老师的盲点。而且,这种方法只会拼命把学生往老师身上拉,从来不会奖励学生"超越老师"这件事。

这就好比一个学生一直在模仿老师的解题风格,模仿得惟妙惟肖,但老师自己有个知识盲区,学生也就跟着有了这个盲区,而且永远不会想着自己去突破老师没教过的东西。

两个方法一个太粗糙但至少方向正确,一个很精细但可能带偏方向,天然地互补。于是有研究者想到:干脆把两种打分方式加起来用,不就两全其美了吗?

简单相加,为什么会翻车

事情没这么简单。

研究者们做了个最直接的尝试:把GRPO给的分数和OPD给的分数,按一个固定的比例(比如1:1)加在一起,作为AI每个字的最终得分去训练模型。

结果训练没多久,模型的探索欲望就迅速枯竭了。

这里要解释一个概念。

> 策略熵(Policy Entropy):衡量AI生成内容时"选择的多样性"的一个指标,熵越高说明AI在每一步都还愿意尝试不同的可能性,熵越低说明AI变得越来越死板,倾向于重复固定的套路。

论文的实验数据显示,固定比例融合的训练方式,会让策略熵从大约0.35迅速跌到0.30左右,然后就一直卡在这个低水平,几乎不再回升。而与此同时,模型和老师之间的差距(用KL散度衡量)跌到了四种训练方式里最低的水平,说明它确实在拼命模仿老师,但代价是它不再愿意自己探索了。

后期的准确率也因此过早地进入平台期,涨不动了。研究者们深挖之后,发现了两个具体的病根,一个关于"力度",一个关于"时机"。

第一个病根叫**幅度错配**

第一个问题在于两种分数的"体量"完全不对等。GRPO给出的分数是每次采样一组回答后,经过归一化处理得到的,数值范围是有边界的,比较"温和"。而OPD给出的分数是每个字单独计算的对数概率差,这个值理论上没有上限,实际训练中经常会出现个别字的分数比GRPO的分数大出一个数量级甚至更多。

论文里做了个很扎实的验证。他们统计了训练最初十步里所有字的OPD分数绝对值分布,发现绝大多数字的分数确实都聚在零附近,非常温和。但同时也存在极少数字,分数一下子飙到了正常值的十几倍甚至二十倍。具体来看,论文抽查了180个OPD分数最高的字,发现每一个的绝对值都超过了它所在那句话GRPO分数的绝对值,最极端的一个OPD分数达到了20.3585,而同一批数据里GRPO分数最大也就2.4749。

这意味着什么?意味着在固定1:1融合的时候,只要一个字的OPD分数特别高,它就能把整句话原本应该体现的GRPO信号彻底盖过去,不管这句话到底对不对。

这就好比一个班级投票选班长,本来每个人一票,规则很公平,但突然有个学生的票被系统错误地算成了20票。最终选出来的班长,可能根本不是大多数人真正想要的那个人,只是因为那一张异常的票把整个统计结果带偏了。如果不去限制这种异常票数,投票机制表面上还在运行,实际上早就失灵了。

第二个病根叫**时序错配**

老师的指导力度应该随着学生的进步而调整,但固定系数的融合方式做不到这一点。训练刚开始的时候,学生什么都不会,老师全力指导当然合理。可是一旦学生已经把老师会的东西学得差不多了,还继续按照原来的强度手把手教,学生就没有机会自己去闯、去试错了,天花板也就被锁死了。

更麻烦的是,老师本身也不是完美的。

> 教师模型的局限性:论文里提到的教师模型(Qwen3-30B-A3B-Instruct-2507)本身的判断也可能有错,如果学生持续被要求模仿一个不完美的老师,那学生学到的可能不是正确答案,而是老师的错误习惯。

这就像家长一直盯着孩子写作业,纠正孩子的每一个笔画,一开始这确实能帮孩子少走弯路。可如果这种事无巨细的纠正持续到孩子已经能自己解题的阶段,孩子就永远学不会自己判断对错,甚至会把家长自己都没意识到的错误习惯也学了过去。如果家长的干预不懂得随着孩子的成长逐渐放手,孩子的成长空间就会被这种"过度关心"生生挤没了。

SAF:给AI老师配一套"松紧带"

发现了这两个具体的病根,研究者们提出了自己的解决方案,叫做**SAF**

> SAF(Stable Advantage Fusion,稳定优势融合):一个专门用来调节OPD分数的四阶段流水线,只处理OPD这一部分信号,完全不碰GRPO的分数,针对幅度问题和时机问题各自配了两套机制。

整套流程可以理解成给OPD这个"过于热情的老师"戴上了两副"松紧带",一副管他说话的音量,一副管他说话的时长。

### 第一副松紧带:先筛掉噪音,再压平极端值

管幅度的这部分分成两步。

第一步叫**稀疏化**

具体做法是,对每一份AI生成的回答,只保留那些OPD分数绝对值排在前20%的字(这个比例可以调),剩下80%的字,它们的OPD分数直接清零,不参与后面的计算。

这一步的道理很朴素:既然大部分字的分数本来就聚在零附近,没什么信息量,那干脆别让它们参与运算,省得它们制造无意义的噪音。

第二步叫**压缩**

对筛选后剩下的、真正有价值的高分数字,再用一个叫做tanh的数学函数把它们的数值压缩到一个固定区间内(比如正负0.1之间),不管原始分数有多离谱,压完之后都跑不出这个区间。同时这个函数在数值比较小的时候几乎是线性的,不会破坏原本的大小关系。

打个比方,这就像给一个说话嗓门忽大忽小的人装了个限音器。平时说话轻声细语的时候,限音器几乎不起作用,让他自然发挥。可一旦他突然吼起来,限音器会自动把音量压到一个安全范围内,既不会让整个房间被他的吼声震得听不清别人说话,也没有完全禁止他表达强调的语气。如果不装这个限音器,只要有人偶尔情绪激动地喊一嗓子,整个房间的对话秩序就全乱了。

### 第二副松紧带:先热身,再逐渐放手

管时机的部分也分两步。

第一步叫**KL触发的预热**

一开始,OPD的影响力从零开始,随着训练步数线性增长。但这个增长过程不是死板地按固定步数走完,而是会实时监测学生和老师之间的KL散度下降了多少。

> KL散度(Kullback-Leibler Divergence):这里特指学生模型和老师模型在生成同一段文字时,概率分布上的差异程度,数值越小说明学生的表现越接近老师。

论文设定了一个阈值,一旦这个下降幅度达到20%,预热阶段就提前结束,不用非得等到预设的最大步数(比如100步)走完。这样设计的原因是,不同的模型、不同的任务,学生需要多长时间才能追上老师是不一样的,用一个固定的步数一刀切并不合理。

第二步叫**退火**

预热结束之后,OPD的影响力系数开始随着训练进行线性下降,从1一路降到接近0(论文里保留了一个很小的下限值,不完全归零)。预热结束得越早,说明学生学得越快,剩下的退火时间就越长,衰减也就越平缓。

这两步合起来,就像是给一段旅程设计的加速和减速曲线。一开始你需要老师带着你熟悉路线,跑得快一点没关系,因为你什么都不知道。可一旦你已经能认路了,老师就该逐渐松开手,让你自己判断该往哪走,而不是一直握着你的方向盘不放。如果老师永远不放手,你可能永远学不会自己开车,即使技术上你已经具备了这个能力。

论文里还专门提到一个细节,如果把这个提前结束预热的阈值从0.2调到0.3,意味着要求更大的KL下降幅度才能结束预热,相当于让老师多管一会儿,结果准确率反而从45.89%掉到了44.51%,掉了1.38个百分点。这恰恰印证了前面说的,老师自身也有局限,逼着学生继续贴近一个并不完美的模范,只会让学生把老师的错误也学进去。

把这四步(稀疏化、压缩、预热、退火)按顺序串起来,就是完整的SAF融合公式,最终得到的分数会再和GRPO的分数相加,一起用于训练模型。整个过程不需要额外的模型、不需要额外的损失函数,只是对已有的OPD分数做了一层轻量的加工,可以直接插进现有的训练流程里。

实验结果说话

研究团队用了Qwen3系列的三种规模模型(8B、4B、1.7B参数)作为学生,用一个更大的模型Qwen3-30B-A3B-Instruct-2507当老师,分别在数学推理(AIME24、AIME25、HMMT25等赛题)和代码生成(HumanEval+、MBPP+、LiveCodeBench等基准)两大领域做了测试。

结果显示,SAF在全部六个"模型规模×任务领域"的组合里,都比固定比例融合的方式表现更好,提升幅度从0.51%到2.70%不等。

具体来看,数学推理任务上,8B模型提升了0.97%,4B模型提升了1.51%,1.7B模型提升了1.85%,规模越小的模型反而提升越明显,说明小模型更依赖这种被精细控制过的密集指导信号。代码生成任务上则不是单调的,4B模型提升最大,达到2.70%,8B模型提升1.67%,1.7B模型提升最小只有0.51%(这个规模下OPD单独使用反而是最强的基线)。

论文还专门做了拆解实验,验证是不是每一个模块都有用。结果发现,光加幅度控制(稀疏化加压缩),但系数还是固定的,效果和原始固定融合差不多(44.35%对44.38%),几乎没提升。光加预热但不配退火,效果甚至更差一点(44.07%)。只有当退火机制也加进来,平均分才明显跳到45.23%。最后用上完整的SAF配置(选定阈值0.2),达到了45.89%,比原始固定融合整整高出1.51个百分点。

这个结果说明一件挺有意思的事:光解决幅度问题不够,光解决时机问题也不够,两个问题必须同时解决才能看到真正的效果,就像一辆车既要修好刹车又要修好方向盘,只修一样是没法安全上路的。

训练过程中的几组曲线也很能说明问题。固定融合的方式,策略熵很快跌到0.30左右并且一直起不来,模型和老师之间的KL散度也压到了四种方式里最低的水平。反而是完全不用OPD的纯GRPO训练,熵能维持在0.42以上,KL散度也最高。SAF正好卡在中间,熵维持在0.35到0.38之间,KL散度平稳下降但不像固定融合压得那么死。

这种"中庸"的状态直接反映在了最终表现上。SAF训练出来的模型,回答长度稳定在5300到6200字左右,没有像固定融合那样缩到只有4500字左右(说明模型变得不敢多说、只会重复套路),也没有像纯GRPO那样膨胀到7000字(说明它没有丧失方向感地瞎写)。验证集上的准确率,SAF也是持续攀升到训练末期,最终在AIME-24上跑到59%左右,AIME-25上跑到53%左右,都超过了固定融合方式的57%和51%。

论文里特别强调了一个反直觉的现象:固定融合的方式,虽然在训练过程中和老师贴得最紧(KL散度最低),但最终的准确率却是四种方式里最低的,而且最早进入停滞期。

这说明贴得越紧不代表学得越好,反而可能是在死记硬背老师的答案,而不是真正吸收了能解决新问题的能力。

一些没有明说但值得琢磨的细节

论文附录里还做了一件挺有意思的补充实验,从参数空间的角度去观察GRPO和OPD训练出来的模型内部到底发生了什么变化。研究者们对比了两种训练方式产生的权重更新矩阵,发现OPD的更新集中在很少的几个方向上(用"稳定秩"这个指标衡量数值偏低),而GRPO的更新则更分散、维度更高。两种方法在"读"信息的角度上有相当程度的重叠,但在"写"权重的方向上却差异很大。

这可以理解成,两位老师都在观察学生同样的知识点,但给出的修改建议方向截然不同。这也从另一个侧面印证了为什么简单粗暴地把两种信号叠加,容易出现冲突。

论文作者也很坦诚地说,这部分参数空间的分析只是探索性质的旁证,SAF的设计并没有直接建立在这个发现之上,这是留给未来研究的方向。

Q&A

Q1:SAF是什么?

A:SAF全称Stable Advantage Fusion(稳定优势融合),是一种把强化学习RLVR和在线策略蒸馏OPD两种AI训练信号安全融合的方法,通过四个独立可开关的阶段(稀疏化、压缩、预热、退火)分别解决固定比例融合导致的幅度失衡和时机失衡问题,从而避免训练过程中模型探索能力过早枯竭。

Q2:为什么把GRPO和OPD的分数直接相加会出问题?

A:因为GRPO给出的分数是整句话共用一个有界限的值,比较温和,而OPD是按每个字单独计算的,数值没有上限,个别字的分数可能比GRPO大出十几倍甚至二十倍,会把GRPO原本的信号淹没掉;同时OPD的指导力度应该随训练进程调整,如果一直保持全力指导,会限制模型自主探索的空间,导致最终准确率提前进入瓶颈。

Q3:SAF方法实际效果如何?

A:在Qwen3的8B、4B、1.7B三种规模模型上,涵盖数学推理和代码生成共六个任务组合里,SAF相比固定比例融合的方式都取得了更好效果,提升幅度在0.51%到2.70%之间,同时训练过程中模型的探索能力(策略熵)保持得更健康,没有出现过早崩溃的情况。