摘要:你给它一道题,它可能很快能找到一个能拿高分的解法。然后,它就会把这个解法焊在脑子里,以后碰到所有类似的题,翻来覆去就是这一招。这种现象,行话叫“模式崩溃”(mode collapse)。
现在的AI大模型做推理,特像一个只会刷题的书呆子。
你给它一道题,它可能很快能找到一个能拿高分的解法。然后,它就会把这个解法焊在脑子里,以后碰到所有类似的题,翻来覆去就是这一招。这种现象,行话叫“模式崩溃”(mode collapse)。
这会导致一个大问题:AI变得死板,缺乏创造性和泛化能力。它只知道那条走得最熟的路,却忽略了其他同样正确、甚至可能更巧妙的康庄大道。
为了治好AI这个“呆呆”的毛病,来自上海交通大学、上海人工智能实验室、微软研究院、清华大学、北京大学、中国人民大学、斯坦福大学和芝加哥丰田技术研究所的一群研究人员,联手搞了个新方法,叫FlowRL。
这个方法的核心思想,一句话就是:别再死盯着最高的那个奖励分了,咱们的目标是学习所有能得分的路径的分布图景。
这就像教学生解题,不是告诉他“这个解法能拿满分”,而是告诉他“这里有五种解法,它们都能得分,各有各的妙处,你都得学学”。
强化学习的老路子走窄了
先看看以前大家是怎么训AI的。
强化学习(Reinforcement Learning)是训练大模型推理能力的一把好手。从早期的REINFORCE算法,到后来更稳定高效的PPO(近端策略优化),再到简化版的GRPO(分组奖励策略优化),这些方法本质上都是一个逻辑:奖励最大化。
简单说,就是让AI不断尝试,做对了就给个“糖”(高奖励),做错了就给个“巴掌”(低奖励)。久而久之,AI为了吃到最多的糖,就会拼命优化那个最容易拿到高分的行为模式。
这个逻辑在很多场景下都很好用。但在复杂的推理任务里,比如数学证明或者代码生成,它的弊端就暴露无遗了。
这就是现有方法的根本局限。它们过度拟合了奖励分布里最突出的那个“尖峰”,把其他有价值的“小山包”全给忽略了。结果就是,生成的推理路径千篇一律,缺乏多样性。
为了解决这个问题,研究人员把目光投向了一个叫GFlowNets(生成流网络)的框架。
GFlowNets就像一个城市的水管系统。它的核心原理叫“流平衡”。想象一下,从一个总水源(初始状态)流出的水,通过复杂的管道网络(推理步骤),最终会汇集到不同的出水口(最终答案)。每个出水口的流量,严格正比于这个出水口的价值(奖励)。
这种机制天然就能促进多样性。为了让所有有价值的出水口都能获得与它价值相匹配的水流,系统必须探索所有可能的管道路径,而不是把所有水都冲向流量最大的那个口。
FlowRL正是借鉴了这种“流平衡”的思想,把强化学习的目标从“抢占最高峰”变成了“描绘整张地图”。
FlowRL的两把刷子
理论很美好,但要把它应用到动辄生成几千个词的长篇推理(长链思维CoT)中,还有两个大坑要填。
第一个坑叫“梯度爆炸”。
FlowRL的目标是在整个推理路径(一个完整的解题步骤)的层面上进行优化。一个解题步骤可能非常长,由成百上千个token组成。在计算模型更新方向(梯度)时,需要把这条路径上每个词的概率都乘起来。路径一长,这个计算结果要么变得无限大,要么变得无限小,训练过程直接就崩了。
FlowRL的解决办法是“长度归一化”。
这个操作很直观,就像算平均分一样。不管你的解题步骤是长是短,我都把你路径的总得分除以你的长度。这样一来,长路径和短路径就被拉到了一个公平的起跑线上,避免了因为长度问题导致的计算不稳定。这本质上是一种巧妙的奖励塑造。
第二个坑叫“采样不匹配”。
为了提高训练效率,像PPO和GRPO这样的主流算法,都会把模型之前生成过的数据存起来,反复利用。这叫“离策略”(off-policy)训练。
但FlowRL的理论基础,也就是那个漂亮的KL散度公式和轨迹平衡,严格要求所有的数据都必须是当前最新版模型生成的,也就是“在策略”(on-policy)。
FlowRL的解决办法是“重要性采样”。
这个技术也不是什么新鲜玩意儿,PPO里就在用。它的作用像一个“校准器”。它会计算新旧两个模型对于同一份旧数据,给出相同答案的概率比值。通过这个比值,它可以给旧数据重新加权,让它“伪装”成像是新模型生成的一样。
为了防止这个“伪装”过程玩脱了,导致模型更新步子迈得太大,Flow-RL还加了一个类似PPO的“裁剪”机制,给这个权重比值设定一个上下限。
把长度归一化和重要性采样这两个补丁打上之后,FlowRL的最终目标函数就诞生了。它既保留了分布匹配的核心思想,又解决了长链推理中的实际工程难题,可以无缝集成到现有的强化学习框架里。
与当前奖励最大化方法PK
研究团队在数学和代码两大推理高地,对FlowRL进行了严格的测试。
在数学领域,他们用了Qwen-2.5-7B和32B模型作为基础,在AIME、AMC、MATH等六个高难度数学竞赛基准上进行评测。
在代码领域,他们用了DeepSeek-R1模型,在LiveCodeBench、CodeForces等三个主流代码生成基准上进行检验。
对手则是三个代表性的奖励最大化方法:REINFORCE++、PPO和GRPO。为了公平起见,所有模型的训练参数,比如学习率、批量大小、训练步数都保持一致。
结果怎么样?
在数学推理上,FlowRL取得了碾压性的胜利。以32B模型为例,它的平均准确率达到了48.4%,把最强的对手PPO甩开了5.1个百分点,更是比GRPO高出了10.1个百分点。
在代码生成上,FlowRL同样是全面领先,各项指标均拔得头筹。
这些数据雄辩地证明,FlowRL的思路走对了。通过促进多样化的解决方案探索,它实实在在地提升了模型的泛化能力。
研究团队还做了一组“控制变量”实验(消融研究),想看看那两个补丁到底有多重要。
结果一目了然。一旦去掉了“重要性采样”(w/o IS),FlowRL的平均准确率直接从35.63%暴跌到26.71%。这说明,解决新旧数据不匹配的问题,是整个方法能够成功的关键。
FlowRL真的能生成更多样化的答案吗?
为了验证这一点,研究人员请来了另一位AI裁判——GPT-4o-mini,让它来评判不同方法生成的答案是不是“花样百出”。
FlowRL的多样性得分遥遥领先。这说明,别的模型翻来覆去就那几招,而FlowRL是真的做到了“百花齐放”。
一个具体的例子能更生动地说明问题。
面对同一道AIME数学题,GRPO的表现很“执着”。它上来就是一套祖传的AM-GM(均值不等式)三连击,结果把自己绕进了一个死胡同,最后得出了一个自相矛盾的结论,解题失败。
再看FlowRL。它没有钻牛角尖,而是选择了一条更聪明的路。它大胆假设a = b(利用对称性),一下子就把问题简化成了一个更容易处理的三次方程。接着,它通过有理根测试、多项式因式分解,一步步抽丝剥茧,最终漂亮地得出了正确答案。
这个案例生动地展示了两种方法在探索策略上的根本差异。GRPO的奖励最大化让它过度迷信于熟悉的工具,陷入了局部最优的陷阱。而FlowRL的分布匹配,则赋予了它策略性决策的能力,能够发现并执行更多样化、更有效的解决方案。
FlowRL的核心贡献,就是把大模型强化学习的范式,从“奖励最大化”推向了“奖励分布匹配”。
这个根本性的转变,直接解决了现有方法在复杂推理任务中的“模式崩溃”顽疾。通过流平衡优化,FlowRL教会了AI如何进行更高效的探索,学习到更具泛化能力的推理轨迹。
这为大模型强化学习的研究,打开了一扇新的大门。
参考资料:
来源:算泥社区