在大语言模型(LLM)飞速发展的今天,强化学习(RL)早已成为提升模型能力的"核心引擎"。它能让模型通过不断"试错"优化,学会解数学题、写代码等复杂任务。但随着模型规模越来越大(比如动辄千亿参数的混合专家模型MoE),现有强化学习算法开始"力不从心"------最先进的GRPO算法常常因为训练不稳定导致模型崩溃。
为此,阿里巴巴通义千问团队提出了全新的强化学习算法GSPO(Group Sequence Policy Optimization)。它不仅解决了GRPO的稳定性问题,还为最新的Qwen3系列模型突破奠定了基础。今天,我们就用通俗的语言聊聊GSPO的核心思路,以及它如何通过一个巧妙设计兼顾"稳定性"和"灵活性"。
先聊聊GRPO的"痛点":为什么训练会崩溃?
要理解GSPO的优势,得先看看GRPO的问题。
GRPO是目前流行的强化学习算法,但它有个关键缺陷:按单个Token(比如一个词、一个字)计算"重要性权重"。简单说,就是模型每生成一个Token,都会单独计算这个Token对最终结果的"贡献度",再用这个贡献度调整模型参数。
但问题来了:单个Token的"贡献度"波动很大。比如生成一句话时,可能某个词的权重突然变得特别高,另一个词的权重又特别低。这些波动会随着句子长度增加不断累积,就像多米诺骨牌一样,最后导致整个模型的参数更新"失控",甚至崩溃。
更麻烦的是,对于混合专家模型(MoE)------这种模型会"动态调用"不同的"专家模块"处理不同内容------单个Token的权重波动会更剧烈。因为MoE的"专家选择"本身就有随机性,这会让GRPO的Token级权重彻底失效,训练根本无法收敛。
GSPO的破局思路:从"逐个打分"到"整体评价"
GSPO的核心改进很简单:把优化单位从"单个Token"升级到"整个序列"(比如一句话、一个段落)。
想象一下:评价一篇作文时,GRPO是逐句打分,每句的分数权重差异很大,最后总分忽高忽低;而GSPO是先给整篇作文打一个整体分,再基于这个整体分调整每句话的"贡献"。这样一来,单个句子的小波动就不会影响全局,稳定性自然提升了。
具体来说,GSPO做了三件关键事:
- 序列级重要性比率:不再计算单个Token的"贡献",而是计算整个序列的"整体似然"(可以理解为"这篇作文整体合理的概率")。
- 长度归一化:不同长度的序列(比如短句和长文)用不同的"缩放系数",避免长序列的波动被放大。
- 序列级裁剪:如果某个序列的"整体似然"偏离正常范围太远,就直接排除它,不让它干扰训练。
这些设计让GSPO的训练曲线始终"稳步上升",而GRPO常常大起大落(如图1所示)。即使增加训练量、延长生成内容长度,GSPO也能持续提升性能,这是GRPO做不到的。
GSPO-token:既保稳定,又留灵活
GSPO用"整体评价"解决了稳定性,但实际训练中,我们有时需要更精细的调整------比如某句话里,某个词明显更重要(比如数学公式里的关键符号),这时又需要按Token微调。
于是,团队又提出了GSPO-token:它能像GSPO一样保持整体稳定,又能像GRPO一样做Token级调整。关键在于一个巧妙的设计:
当所有Token的"优势值"(可以理解为"重要性分数")相同时,GSPO-token就和GSPO完全等效;当Token的优势值不同时,它又能单独调整每个Token的权重。
举个例子就明白了:
假设我们要优化模型生成的一句话:"小明在公园吃苹果"。
- 情况1:所有词的重要性相同(比如这句话里每个词都很关键,缺一不可)。这时GSPO-token会给"小明""在""公园""吃""苹果"这5个Token相同的优势值(比如都设为0.8)。此时GSPO-token的计算结果和GSPO完全一样------都是基于整句话的"整体似然"优化,稳定性拉满。
- 情况2:某些词更重要(比如"苹果"是核心,其他词次要)。这时可以给"苹果"设更高的优势值(比如1.2),其他词设较低的值(比如0.6)。GSPO-token会单独放大"苹果"的权重,让模型更关注这个词的生成质量,而GSPO只能用整体优势值(比如0.8),做不到这种精细调整。
这个设计让GSPO-token既能继承GSPO的稳定性,又能应对需要Token级优化的场景(比如多轮对话、长文本生成),灵活性拉满。
为什么GSPO对MoE模型特别友好?
混合专家模型(MoE)是大模型的"效率神器",但它的训练一直是个难题------不同"专家模块"的激活状态(比如处理"数学"和"文学"的专家切换)会导致Token级权重剧烈波动,GRPO根本扛不住。
GRPO只能靠"路由回放"(记录专家激活状态,反复复用)勉强训练,但这会增加大量内存和通信成本,还限制了模型容量。
而GSPO根本不需要这些"额外操作":它关注的是"整个序列的似然",而MoE模型的"语言建模能力"(生成通顺内容的能力)是稳定的,因此序列级的似然不会剧烈波动。就算单个Token的专家激活有变化,也不会影响整体优化,训练自然更稳定、更高效(如图3所示)。
总结:GSPO为大模型训练"开了新道"
GSPO的提出,本质上是从"局部优化"转向"全局+局部协同优化"。它用序列级设计解决了GRPO的稳定性痛点,又用GSPO-token保留了Token级调整的灵活性,这让它在大规模LLM(尤其是MoE模型)的训练中表现卓越。
目前,GSPO已经成功应用于Qwen3系列模型的训练,为其性能突破打下了基础。未来,随着模型规模继续扩大,这种兼顾稳定与灵活的强化学习算法,可能会成为大模型训练的"标配"。
(注:文中图表引用自论文《Group Sequence Policy Optimization》,具体实验细节可参考原论文。)