为什么 RL 比 SFT 更会"举一反三"?

原文:mp.weixin.qq.com/s/Mc-6RlqGn...(2026年10月11日)

做 AI 应用的人常有这种直觉:监督微调(SFT)出来的模型,遇到见过的题型特别稳,一遇到新花样就开始"死记硬背"地套旧答案。

这不是错觉。有一组像"教学演示"一样的实验,把这种差别清清楚楚地量了出来。

一个"24 点"游戏,照出了"背"和"懂"

这个游戏叫 GeneralPoints,规则和大家玩过的"24 点"很像:给你四张牌,用加减乘除凑出 24,每张牌用一次。

它的精妙之处在于------训练和测试的规则故意不一样:

训练时,扑克牌里的 J、Q、K 一律当成 10 来算;可到了测试时,把它们分别当成 11、12、13 来算。这样一来,测试里必然出现训练时从没见过的数字组合,正好考察它是"真懂"还是"死记"。

结果很鲜明:

•

遇到规则变化 :RL 的准确率涨了 3.5% ,而 SFT 不升反降了 8.1%。

•

研究者还做了个"换花色"的小实验:训练用黑色牌(♠♣),测试改用红色牌(♥♦)。结果 RL 涨了 17.6% ,SFT 跌了 9.9%。

为什么会这样?一个很合理的解释是:有限的 SFT 数据,让模型死死记住了"看到 J/Q/K 就按 10 算"这条死规矩 。测试时 J 变成 11,它还是按 10 算;而 RL 更像是在反复练习中悟出了"不管规则怎么变,我都要算到得出正确答案为止"这个活办法。

更有意思的是,追踪发现:RL 甚至顺带提升了模型"看牌"的底层能力;而 SFT 因为死抠"解题步骤的文字套路",反而荒废了对牌面的识别。

当然,这只是实验中的一个普遍倾向,不是说 SFT 就只会背、RL 就一定能举一反三。

RL 到底是怎么"学"的?用一份考卷看懂

要理解 RL 为什么能举一反三,先看它一轮"训练"里到底发生了什么。今天最主流的算法之一叫 GRPO,可以用一个场景讲清。

假设给它一个任务:某段程序有个毛病(bug),请修好它,而且不许改测试。

第一步:同一道题,交 16 份答卷。 系统把同样的题目和环境,复制成 16 份互不干扰的副本,让模型各自独立地做一遍。"读代码→改代码→跑测试→交卷"这完整的一遍,专业上叫一次 rollout(可以理解成"一次完整作答")。因为模型每次都有点随机性,16 份答卷的走势可能完全不同。

第二步:给每份答卷打分。 每份做完后,用一个"判卷器"(验证器)来打分。比如 16 份里有 4 份通过了全部测试、也没偷改测试文件,这 4 份得 1 分,其余 12 份得 0 分。在编程这类任务里,打分并不神秘------就是跑测试,对了给分、错了不给。(如果是没有标准答案的开放题,才需要请人来评,或者用"AI 评委"打分。)

第三步:算"相对优势"------也就是谁比谁强。 光知道每份成功还是失败还不够,还要知道它在一组里排第几 。这一组的平均分是 4/16,那 4 份通过的因为高于平均,得到"正分";12 份失败的低于平均,得到"负分"。GRPO 的精髓,就是这个"组内互相比较"。

第四步:按排名调整习惯。 把名次翻译成"该鼓励还是该打压",然后调整模型参数:让它以后多做 那些拿到"正分"的选择,少做那些拿到"负分"的选择。

关键在于:它不是在背某个具体的成功答案,而是在大量练习中,慢慢养成"遇到类似问题,先复现、再检查边界、改完要跑测试 "这样的习惯倾向。这,才是"举一反三"的真正来源。

那 PPO、GRPO、DPO 又是什么?

它们都是 RL 的具体"算法",区别主要在于------"拿谁跟谁比":

•

GRPO (G roup R elative P olicy O ptimization,组相对策略优化):让同一道题的多份答卷互相比较(就是上面的例子),简单高效。

•

PPO (P roximal P olicy Optimization,近端策略优化):额外训练一个"陪练/教练",帮它判断"这一步走得好不好",适合步骤多、需要逐步评估的长任务。名字里的"近端",指每次更新都限制在旧策略附近、不让模型一步迈得太大。

•

DPO (D irect P reference O ptimization,直接偏好优化):不自己现场做题,而是直接看现成的"好答案 vs 差答案"对比来学,最简单,但也少了探索的乐趣。

一句话:算法决定"怎么比较、怎么调整",奖励决定"什么算成功",环境和数据决定"能练到哪些题"。

一个隐蔽的坑:它可能"悄悄跑偏"

这里有个技术细节,虽然有点硬核,但它直接决定你的训练会不会突然崩掉。

理想情况下,RL 应该是"用自己当前的水平现场练习 "(专业上叫 On-policy,在轨 )。但现实中,大模型训练常常是"一台机器出卷、另一台机器判卷"。两边即便用的是同一份模型,因为计算的先后顺序、精度等细微差别,同一个字算出来的"概率"也会有一丁点不同。

这一丁点不同,会被越长越放大:一段几千字的回答里,每个字都偏一点点,累积起来就可能让整个"概率比"偏出好几倍,进而让训练剧烈震荡、甚至崩溃。

所以工程上要做的,是把它当成一件正经事来盯 :监控两边算出的概率差了多少、偏差有没有在扩大。"出卷机"和"判卷机"的一致性,要和"得分曲线"一样认真地看。

一句话总结

RL 之所以更会"举一反三",不是因为它更聪明,而是因为它优化的目标是"结果对不对",而不是"答案像不像"------这逼着它去重新推理,甚至顺带提升了底层能力。

但也别神化它:RL 又贵又容易不稳定,还有一堆"数值上的暗坑"。很多时候,它需要 SFT 先搭好台,才能唱好戏。理解了这一点,你也就不会再纠结"到底该用 SFT 还是 RL"------它们本就是一套组合拳,不是非此即彼。

本篇名词速查

•

RL(强化学习):让模型自己多试,按结果好坏调整行为,相当于"刷题复盘"。

•

rollout:模型完整作答一次的过程,可以理解成"交一份卷子"。

•

奖励(Reward):给一份答卷打的分。

•

GRPO / PPO / DPO:三种常见的 RL 算法,区别在于"拿谁来比较"。

◦

GRPO = Group Relative Policy Optimization,组相对策略优化

◦

PPO = Proximal Policy Optimization,近端策略优化

◦

DPO = Direct Preference Optimization,直接偏好优化

•

On-policy(在轨):用模型当前的水平"现场练习",而不是照着旧数据练。

相关推荐
上海潭龙东海科技有限公司32 分钟前
客运站管控之动态孪生技术方案(新增一屏管控模块
数据仓库·人工智能·算法·重构·动态规划
民乐团扒谱机1 小时前
Agent-Skills 新手入门与实战部署指南
人工智能·ai·agent·skill
打工仔折腾 AI2 小时前
Changedetection.io 网页变动监控:Docker 部署、通知配置与公网暴露实践
运维·人工智能·后端·python·docker·容器·性能优化
深圳雨林凯AI2 小时前
商品详情长图的自动生成:版块模板、要素抽取与版式约束的实现思路
人工智能·ai
lisw052 小时前
迁移学习(Transfer Learning):概念、历史、内容、挑战与展望
人工智能·机器学习·迁移学习
炫酷的大高个2 小时前
98% 连跑 20 次只剩 67%,我算了大模型重试账
人工智能·架构·开源
可乐ea2 小时前
智能体的模型列表为什么要从三处来源合成:一次让 GPT-6.1 Sol 选不上的发布延迟
人工智能·gpt·chatgpt·智能体框架·模型列表·多源数据合成·客户端工程
泯泷3 小时前
模型"缺课"了:为什么该补底座,而不是急着上 RL
llm·agent·强化学习
freewebsys3 小时前
【原始POSTMAN】最老一个版本的postman 大家还记得吗?官方已经不支持没有升级了,下载了组件用AI直接升级了下可以使用了!
人工智能