Qwen3新强化学习算法GSPO:解决大型语言模型训练不稳定的关键

Qwen3团队提出GSPO算法,通过序列级重要性权重解决大型模型强化学习及MoE模型训练难题。

原文标题:DeepSeek-GRPO重要性权重设计错误?详解Qwen3新强化学习算法GSPO

原文作者:数据派THU

冷月清谈:

针对大型语言模型在强化学习(RL)阶段遇到的训练不稳定问题,特别是GRPO算法的重要性权重设计缺陷,Qwen3团队提出了一种创新的解决方案——GSPO(Group Sequence Policy Optimization)算法。GRPO由于其针对下一token的重要性权重设计,容易引入高方差噪声,导致训练崩溃。

GSPO的核心改进在于,将重要性权重从token级别转换到序列(sequence)级别,并从序列维度计算梯度,使其与奖励函数的定义保持一致。这一改变不仅解决了RL训练中的稳定性难题,尤其是在MoE模型训练中表现卓著,避免了额外复杂的稳定策略,简化了RL架构。实验结果显示,相对于GRPO加路由重放策略,GSPO在Qwen3模型上展现出更高的训练效率。尽管GSPO可能裁减掉更多的序列,但它提供了更可靠且高效的学习信号,从而实现更快、更稳定的收敛。

文章还探讨了GSPO的变体GSPO-token,以便在特定场景下(如多轮RL)仍能实现token级别的优势细粒度调整。整体而言,GSPO为大型语言模型和MoE模型的强化学习训练带来了显著的进步,提高了训练的鲁棒性和效率。

怜星夜思:

1、GSPO在MoE模型训练中的表现(尤其说是能解决专家激活的不稳定性),大家觉得这是因为序列级的似然比单个token的似然在MoE模型的输出中更稳定这一理论假设,还是有更复杂的原因呢?有没有大佬能从MoE模型自身的特点解释一下?
2、文章提到“GSPO clip掉更多的tokens,但是却拥有更高的训练效率,这说明GSPO可能提供比GRPO更可靠且高效的学习信号。”这句怎么理解?是不是意味着有时候“宁可错杀一千,不可放过一个”反而比“谨慎行事”效率更高?在实际训练中,这种“大刀阔斧”的策略会带来什么意想不到的优势或潜在风险?
3、GSPO偏向于序列级别的优化,GRPO及其变体GSPO-token则在token级别上有细粒度调整的能力。在实际的大型语言模型应用中,比如客服对话、代码生成、创意写作等场景,大家觉得哪种粒度的优化会更吃香?为什么?

原文内容

图片
来源:深度学习自然语言处理

作者:绊缘

https://zhuanlan.zhihu.com/p/1932829167801574272

本文约1800字,建议阅读5分钟
在本论文中,我们旨在通过关注多模态智能的三个关键维度来推动该领域的发展:多模态对齐性、鲁棒性和泛化性


1. 引言


在更大的语言模型上使用 GRPO 时,会出现训练不稳定的情况[1][2]。在这篇论文,作者认为这种现象源于 GRPO 的重要性权重的设计错误,GRPO 对于 next-token 的重要性权重,容易引入高方差的噪声,在 response 的长度的增加和裁剪机制的作用下,最终导致训练崩溃。


为了解决这一问题,论文提出 GSPO (Group Sequence Policy Optimization),将针对 token 分布的权重改换为针对 sequence 的重要性权重,并且从 sequence 的维度来计算梯度,而不是 token 的维度,和 reward 本身的定义保持一致。


最终,GSPO 在 MoE 模型的 RL 训练上解决了稳定性问题,从而不必单独设计复杂的 trick 来维持稳定,简化了 RL 架构。


2. 动机


RL 阶段,我们首先会采样一个 large rollout batch,为了提高采样效率,通常我们会将其切分成几个 mini-batches 来进行梯度更新,这一过程无可避免地会导致 off-policy 场景的出现,同时这也一定程度上说明了 PPO 和 GRPO 的 clip 机制可以防止那些过度 off-policy 的样本参与梯度计算。


尽管类似 clip 的机制有助于缓解 off-policy 带来的问题,然而 GRPO 错误应用了重要性权重


重要性采样. 借助对于从行为分布   采样的权重进行权重分配,从而用来估计函数   在目标分布   下的期望:


这需要从行为分布采样多个样本,而不是一个。


然而 GRPO 中重要性权重设计为   ,这一权重主要考虑   ,显然这个分布在当前的 setting 下只有一个采样样本,即   ,而这违背了采样性权重的期望形式的定义


而如果重要性权重是应用在   上,即从 sequnece-level 上去考虑整个优化问题,在 GRPO 算法里至少我们拥有一组针对同一分布的重要性权重值,而且 sequnece-level 更能匹配奖励函数的设计 (奖励一般是针对整个 response 打分)。


3. 算法


当我们从 sequence-level 上考虑问题,按照重要性采样定义,RL 的目标为:


这很自然地和 sequence-level reward 定义一致,也让 clip 的机制意义更明确 (筛去过度 off-policy 的 sequence 的梯度)。


基于以上观察,论文提出 GSPO 算法,它使用以下目标:



奖励使用 group-based 来估计:



重要性权重使用平均后的序列似然来定义:



4. 分析


我们将 GSPO 和 GRPO 目标的梯度进行对比:

GRPO 的梯度为:


二者的区别主要在于,如何给 tokens 的似然的梯度赋予权重。可以看到 GRPO,针对每个 token 赋予分布   的重要性采样权重。然而,这样的   所修正的分布对于每个 token 来说是不一致的,将它们都用一个标准   来 clip 也显得不合适。相比之下,GSPO 为 tokens 赋予 sequence 级别重要性采样权重。


4.1 token level 上的变体

某些场景下 (multi-turnRL),我们可能还是想在 token 级别上针对优势进行细粒度调整,为此,论文提出了 GSPO 的变体 GSPO-token,它拥有和 GSPO 一致的梯度。



其中



这里   表示 stop gradient,作为常数参与梯度计算。当   时,GSPO-token 在优化目标、裁剪条件以及理论梯度方面在数值上与 GSPO 是一致的。


5. 实验


5.1 实验结果

使用基于 Qwen3-30B-A3B-Base 的 SFT 微调后的冷启动模型,采用 GSPO (不使用路由重放策略)和 GRPO + Routing Replay training strategy 两者设置。下图给出了训练时奖励的变化曲线以及在 AIME24、LiveCodeBench、CodeForces (Elo Rating)上的表现。



相比 GRPO,GSPO 训练效率在 Qwen3 上更高。


5.2 clip 比例上的观察

GSPO 会 clip 整个 response 的 tokens,而 GRPO 则 clip 一些 over off-policy 的 tokens。 统计训练中两种实验的 clip 比例,得到下图:



GSPO clip 掉更多的 tokens,但是却拥有更高的训练效率,这说明 GSPO 可能提供比 GRPO 更可靠且高效的学习信号。


5.3 MoE 训练中效果

背景. MoE 模型的训练中,使用 GRPO 算法,专家激活的不稳定性可能会导致强化学习训练无法正常收敛,进行一次梯度更新后,即使对于相同的 response,所激活的专家也可能发生显著变化。这一不稳定要素,导致 token 级别的重要性权重波动更大,从而如之前讨论的,最后导致模型崩溃。


先前的方法. 使用 Routing Replay 策略,训练时,存储   被激活的专家有哪些,当计算重要性权重   时,在   重新 replay 之前存储的路由的策略。这种情况下,则能确保对于每个   ,重要性权重的分子分母使用同样的激活网络进行计算。下图展示这一策略带来的好处:



GSPO 的效果. 但是上述启发式策略,存在额外的内存和通信开销,也会限制 MoE 模型的实际知识容量。实验上,可以看到 GSPO 比 GRPO + routing replay 策略效率更高,且训练稳定;从理论上来说,MoE 模型仍然保留语言模型的能力,sequence 的似然比起单个 token 的似然在 MoE 模型的输出中更加稳定。


参考
[1]Team Qwen. Qwen3technical report. arXiv preprint arXiv:2505.09388, 2025a.
[2] MiniMax. Minimax-m1: Scaling test-time compute efficiently with lightning attention. arXiv pr

编辑:文婧



关于我们

数据派THU作为数据科学类公众号,背靠清华大学大数据研究中心,分享前沿数据科学与大数据技术创新研究动态、持续传播数据科学知识,努力建设数据人才聚集平台、打造中国大数据最强集团军。




新浪微博:@数据派THU

微信视频号:数据派THU

今日头条:数据派THU


这就像你做选择题,GRPO是每一道题都给你分析一遍,哪怕你已经偏得离谱了,它还想掰回来。结果就是你偏得越远,它掰得越用力,最后自己折腾死了。GSPO就是看你整张卷子答题思路,如果你的思路完全跑偏了,它直接告诉你这张卷子废了,重写!别浪费时间!这样你反而能更快地找到正确的答题思路。虽然可能有些“小偏”,但我这种思路就直接被判卷子作废了,但它筛选出来"还算靠谱"的样本,训练效率当然就高了。风险就是,如果你的"跑偏"是因为一道超级难题,或者是一个创新性的解法,结果你直接被clip掉了,那不就错过了创新机会嘛?所以这里面的"取舍"很关键。

嗯,这个说法确实反直觉。在机器学习中,我们常常认为裁剪(clipping)会丢弃有价值的信息。但GSPO的案例表明,当学习信号本身带有巨大的噪声(如GRPO的token级重要性权重),过于精细地保留那些高度off-policy的样本反而有害。GSPO的"宁可错杀一千"恰恰是"宁愿丢弃掉那些可能引入灾难性高方差梯度的样本"。它裁剪的是"整个序列",而非"单个token"。这意味着如果一个序列在“整体上”是off-policy的,它就直接被放弃,而不是试图从中提取出貌似“有用”但实则被噪声污染的token级信号。这种“大刀阔斧”的优势在于,它显著提升了训练的信号-噪声比(SNR),使得每次梯度更新都基于更纯净、更可靠的信息。潜在风险可能在于,如果模型在某个稀有但重要的序列上经常生成off-policy的响应,导致这些关键样本总被裁剪,那么模型对这些特定场景的学习可能会不足。但这需要具体任务和数据分布来评估。

我的看法是:看“容错率”和“创新需求”。

如果任务的“容错率”比较高,比如写小说、写段子,或者进行开放式聊天,那我肯定选GSPO。反正核心是整体读起来爽、有感觉,哪怕偶尔蹦出个怪词,不影响大局。这种场景下,序列级的优化能让模型更大胆地探索,更容易出“神来之笔”。

但如果任务的“容错率”几乎为零,比如你说的代码生成、医疗报告或者金融分析报告,一个标点符号都不能错,一个逻辑bug都能毁天灭地,那肯定要用GRPO或者GSPO-token这种精敲细琢型的。这种时候,比起“艺术感”,我更需要“正确性”。

所以没啥绝对的哪个更“吃香”,只有哪个更“适用”。

哥们儿,我觉得就是“刮骨疗毒”那种感觉。GRPO想救每个残肢断臂,结果把自己累死了还把病治成了慢性病。GSPO直接把烂到根儿的直接切掉,虽然看着血腥,但恢复起来快。你看,打游戏也是,技能放歪了导致整个输出循环崩掉,不如直接重来一波。所谓的“可靠且高效的学习信号”,就是它每次学到的东西,都是真真切切对训练有帮助的,没那么多“杂质”,自然效率就高了。至于风险嘛,万一被clip掉的那些“错杀”的样本,其实包含了某个稀有技能的触发条件,那模型不就永远学不会了?所以这得看训练数据的分布,是不是很多这种“垃圾”样本。

那还用说嘛,答案肯定是一个“都要”!

像我这种普通用户,平时用大模型写个小作文、编个故事,肯定希望它能“一气呵成、文采斐然”,这时候GSPO的序列级优势就体现出来了,整体效果好比啥都强。谁写个检讨,还一个个字抠语法啊?

但如果是让模型帮我调试代码、写个复杂的SQL查询,那我肯定得选能精细控制到每个token的,毕竟差一个逗号都可能跑不起来。所以我觉得未来理想的状态是,模型能根据不同的任务场景,自动选择或结合使用这两种不同粒度的优化策略。既能"放飞自我"搞创作,又能"严谨细致"做技术,那才是真AI高手!

楼上这个问题问得好!从学术角度看,MoE模型的核心在于门控网络(gating network)对专家的选择。当使用GRPO在token级别计算重要性权重时,由于每个token的计算可能会激活不同的专家,导致模型在短时间内对专家选择的“决策”产生剧烈波动。这种不稳定性会直接反映在token级别的重要性权重上,使得权重计算的方差极大。而GSPO转向序列级别时,即便单个token的专家选择有波动,但从整个序列的连贯性和奖励来看,它的“宏观”行为模式更稳定,整体序列的似然值波动相对较小。这就好比我们评价一个人的作文,重点是看整体的逻辑和立意,而不是每个字词是否都精确无误。序列级的视角,让模型不必纠结于每个局部的小波动,而是聚焦于整体的优化方向,从而更好地收敛。

哈哈,这不就是从“管螺丝钉”到“管生产线”的哲学转变嘛!GRPO追求每个token的“完美”,但MoE模型就像个超级“流水线”,每个“工人”(专家)只负责一部分,而且可能还经常换班。你盯着每个螺丝钉(token)去优化,一旦哪个环节换了工人(专家激活变了),整条流水线就可能崩掉。GSPO是看整条流水线的“产品合格率”(序列的似然),只要产品没问题,管它中间哪个工人干的呢!所以它更稳定也更高效,因为不钻牛角尖了。

这个问题很实际,不同场景确实对优化粒度有不同需求。对于客服对话和创意写作这种追求流畅性、连贯性和整体语义的场景,GSPO的序列级优化无疑会更吃香。这些应用对“语感”和“整体风格”的要求远高于单个词语的绝对精确性。一个句子哪怕用了非最佳词,但整体阅读体验流畅,意图清晰,那就是成功的。GRPO或GSPO-token的token级调整虽然能保证局部最优,但可能在全局上陷入局部最优解,导致文本生硬或缺乏创意。

然而,对于代码生成、科学报告撰写、法律文书这种对精确度、语法严谨性和逻辑一致性有极高要求的场景,token级优化则显得不可或缺。代码中一个字符的错误就可能导致程序崩溃;法律条文中一个词汇的偏差可能引起歧义甚至改变案件走向。在这些场景下,细粒度的GRPO或GSPO-token能提供更强的控制力,确保每一个token的选择都是最优的,从而避免生成"表面流畅但实际错误百出"的内容。

我理解的,可能就是MoE模型“人多嘴杂”,GRPO想管好每个“嘴”,结果发现每个“嘴”的意见都变来变去,整个模型就乱套了。GSPO是直接看“大家一起说的话”,比如一个句子,如果句子整体是好的,就不用管里面某个词是谁说的。这样是不是就相当于把专家之间的“内讧”给平息了?感觉更像是抓大放小,对大型复杂系统来说,整体稳定比局部精确更重要吧。