Group Sequence Policy Optimization
Group Sequence Policy Optimization
发表时间: 2025-07 · arXiv:2507.18071
原文: https://arxiv.org/abs/2507.18071
文章标题:组序列策略优化 (Group Sequence Policy Optimization)
作者/机构:Chujie Zheng∗, Shixuan Liu, Mingze Li, Xiong-Hui Chen, Bowen Yu∗, Chang Gao, Kai Dang, Yuqiong Liu, Rui Men, An Yang, Jingren Zhou, Junyang Lin (Qwen Team, Alibaba Inc.)
速读
一句话结论 本文针对大语言模型强化学习中 GRPO 算法存在的严重崩溃问题,提出了组序列策略优化(GSPO)算法,通过将重要性采样和裁剪机制从 token 级别提升到序列级别,实现了更稳定高效的训练,并为 Qwen3 模型带来了显著的性能提升。
要解决什么问题 现有的强化学习算法(如 GRPO)在训练大语言模型时,常面临严重的稳定性问题,极易导致灾难性且不可逆的模型崩溃。这个卡点的核心机制在于 GRPO 对重要性采样权重的误用。为了最大化硬件利用率,强化学习通常采用大批量采样并切分为多个小批量进行梯度更新,这不可避免地引入了离策略学习设置。在处理新旧策略分布不匹配时,GRPO 错误地在单个 token 级别应用重要性采样权重。由于奖励是针对整个序列发放的,在 token 级别进行离策略校正不仅目标错位,还会引入极高方差的训练噪声。这种噪声会随着响应长度的增加而不断累积,并被裁剪机制进一步放大,最终摧毁模型。此外,在训练混合专家(MoE)模型时,由于梯度更新前后激活的专家会发生显著变化,token 级别的重要性比率会剧烈波动并彻底失效,以往只能依赖引入额外内存和通信开销的复杂策略来勉强维持稳定。
怎么做的 方法的核心思路是将优化目标的粒度与奖励发放的粒度严格对齐,彻底放弃 token 级别的重要性权重,转而在完整的序列级别计算重要性比率并执行裁剪与优化。为了绕开 token 级噪声累积的卡点,GSPO 首先采用基于组的优势估计,计算同一查询下多个响应的相对优势:$$A_i = \frac{r_i - \text{mean}(r)}{\text{std}(r)}$$接着,GSPO 摒弃了逐 token 计算的做法,基于完整的序列似然来定义重要性比率,并引入长度归一化以控制数值范围、降低方差,防止少数 token 的似然变化导致整体比率剧烈波动:$$s_i(\theta) = \exp \left( \frac{1}{|y_i|} \sum_{t=1}^{|y_i|} \log \frac{\pi_{\theta}(y_{i,t}|x, y_{i,<t})}{\pi_{\theta_{old}}(y_{i,t}|x, y_{i,<t})} \right)$$最终的序列级优化目标函数通过对整个响应应用裁剪机制,将过于偏离旧策略的样本排除在梯度估计之外:$$J_{GSPO}(\theta) = \mathbb{E}_{x \sim D, y \sim \pi_{\theta_{old}}} \left[ \frac{1}{G} \sum_{i=1}^G \min \left( s_i(\theta) A_i, \text{clip}(s_i(\theta), 1-\epsilon, 1+\epsilon) A_i \right) \right]$$这一设计的关键在于,在计算对数似然梯度时,GSPO 对同一个响应中的所有 token 赋予了完全相同的权重。相比之下,GRPO 会根据每个 token 自身的重要性权重对其梯度进行缩放,导致权重在极小值到极大值之间剧烈震荡。GSPO 的等权设计彻底消除了这种不稳定性。此外,针对多轮强化学习等场景,作者设计了 GSPO-token 变体,允许在保持序列级重要性比率稳定的前提下引入 token 级别的优势定制。由于 GSPO 只关注序列似然,它对训练和推理引擎间的精度差异容忍度极高,系统可直接使用推理引擎返回的似然进行优化,省去了用训练引擎重新计算的繁琐步骤,大幅简化了基础设施。
效果如何 实验基于从 Qwen3-30B-A3B-Base 微调的冷启动模型进行,在 AIME’24、LiveCodeBench 及 CodeForces 等基准上测试了生成能力。对比的核心基线是 GRPO 算法,它代表了当前主流的基于 token 级别相对优势的强化学习路线。在相同的训练计算量和查询消耗下,GSPO 展现出了显著优于 GRPO 的训练效率和最终性能,且训练全程保持稳定。实验中出现了一个反直觉的量化结果:GSPO 和 GRPO 在被裁剪 token 的比例上存在 2 个数量级的巨大差异。尽管 GSPO 触发裁剪机制的频率远高于 GRPO,导致实际参与训练的 token 数量更少,但其训练效率依然更高。这直接证明了 GRPO 的 token 级梯度估计存在固有的高噪声,样本利用率极其低下。在混合专家模型的设置下,GSPO 的优势更为明显:基线 GRPO 必须绑定 Routing Replay 策略(即强制重放旧策略的路由模式)才能勉强收敛,而 GSPO 完全不需要这种复杂的变通方法就能稳定训练,从根本上解决了专家激活波动带来的崩溃问题。作者也提到,由于重要性比率定义的改变,GSPO 的裁剪范围超参(如 3e-4 到 4e-4)与 GRPO(如 0.2 到 0.27)在数量级上完全不同,实际应用中需重新调整。
A1 主要贡献
本文针对现有强化学习(RL)算法在训练大型语言模型时(特别是GRPO算法)存在的严重稳定性问题,提出了组序列策略优化(Group Sequence Policy Optimization, GSPO)算法。
-
核心问题:当前最先进的RL算法如GRPO【7,Shao et al., Deepseekmath: Pushing the limits of mathematical reasoning in open language models, 2024】在训练大型语言模型时表现出严重的稳定性问题,常导致灾难性且不可逆的模型崩溃。这种不稳定性阻碍了通过持续的RL训练来推动语言模型能力边界的努力。本文识别出GRPO的不稳定根源在于其算法设计中对重要性采样权重的根本性误用和失效,这引入了高方差的训练噪声,该噪声会随着响应长度的增加而累积,并被裁剪机制放大,最终导致模型崩溃。
-
研究目标:提出一种新的、稳定的、高效的、高性能的RL算法,以解决GRPO的核心局限性,从而支持大规模语言模型的RL训练。
-
核心创新点(GSPO算法):
- 基于序列似然的重要性比率:GSPO的关键创新在于其理论上合理的、基于序列似然的重要性比率定义【8,Zheng et al., CLICK: Controllable Text Generation with Sequence Likelihood Contrastive Learning, 2023, ACL】,这与重要性采样的基本原则相符,纠正了GRPO在token级别应用重要性采样的错误。
- 序列级优化:GSPO在序列级别进行裁剪、奖励计算和优化。它将归一化奖励计算为对同一查询的多个响应的优势(advantage),确保了序列级奖励与序列级优化之间的一致性。
-
主要成果:
- 性能优越:实证评估表明,GSPO在训练稳定性、效率和性能上均显著优于GRPO。
- 稳定MoE训练:GSPO从本质上解决了大型混合专家(MoE)模型RL训练中的稳定性挑战,不再需要复杂的稳定策略(如Routing Replay)。
- 简化基础设施:GSPO展示了简化RL基础设施的潜力。
- 实际应用:这些优点为最新的Qwen3模型带来了卓越的性能提升。
A3 背景知识与设计动机
预备知识
符号表示。本文中,由参数 $\theta$ 参数化的自回归语言模型被定义为策略 $\pi_{\theta}$。我们用 $x$ 表示查询,用 $D$ 表示查询集。对于查询 $x$ 的一个响应 $y$,其在策略 $\pi_{\theta}$ 下的似然表示为 $\pi_{\theta}(y|x) = \prod_{t=1}^{|y|} \pi_{\theta}(y_t|x, y_{ 近端策略优化 (PPO)。PPO【6,Schulman et al., Proximal policy optimization algorithms, 2017】使用从旧策略 $\pi_{\theta_{old}}$ 生成的样本,通过裁剪机制将策略更新限制在旧策略的一个邻近区域内。具体来说,PPO采用以下目标进行策略优化(为简洁起见,本文省略KL正则化项,因为它不是本文的重点): 组相对策略优化 (GRPO)。GRPO【7,Shao et al., Deepseekmath: Pushing the limits of mathematical reasoning in open language models, 2024】通过计算同一查询的一组响应中每个响应的相对优势,从而绕过了对价值模型的需求。具体来说,GRPO优化以下目标: 离策略学习设置与GRPO的问题。模型规模、稀疏性(例如在混合专家模型中)和响应长度的增长,要求在RL期间使用大的rollout批量大小以最大化硬件利用率。为了提高样本效率,标准做法是将一个大的rollout数据批次划分为多个小批次进行梯度更新。此过程不可避免地引入了离策略学习设置,其中响应 $y$ 是从旧策略 $\pi_{\theta_{old}}$ 而不是正在优化的当前策略 $\pi_{\theta}$ 中采样的。这也解释了PPO和GRPO中裁剪机制的必要性,该机制防止过于“离策略”的样本参与梯度估计。尽管裁剪等机制旨在管理这种离策略差异,但我们发现GRPO中存在一个更根本的问题:其目标是病态的(ill-posed)。当在长响应任务上训练大模型时,这个问题变得尤为严重,会导致灾难性的模型崩溃。 重要性采样的误用。GRPO目标的病态性质源于对重要性采样权重的误用。重要性采样的原理是通过对从行为分布 $\pi_{beh}$ 中抽取的样本进行重新加权,来估计目标分布 $\pi_{tar}$ 下函数 $f$ 的期望: GRPO的根本缺陷。相比之下,GRPO在每个token位置 $t$ 应用重要性权重 $\frac{\pi_{\theta}(y_{i,t}|x, y_{i, 核心动机:序列级优化。上述观察表明GRPO的设计存在根本问题。token级重要性权重的失败指向一个核心原则:优化目标单元应与奖励单元相匹配。由于奖励是授予整个序列的,因此在token级别应用离策略校正似乎是有问题的。这促使我们放弃token级目标,并探索直接在序列级别利用重要性权重并执行优化。 GSPO的理论基础。虽然token级重要性权重 $\frac{\pi_{\theta}(y_{i,t}|x, y_{i, GSPO算法目标函数。基于这一直接的观察,我们提出了组序列策略优化(GSPO)算法。GSPO采用以下序列级优化目标: 优势估计与重要性比率定义。我们采用基于组的优势估计: GSPO梯度推导。我们可以推导出GSPO目标的梯度如下(为简洁起见,省略了裁剪): GRPO梯度对比。作为比较,GRPO目标的梯度如下(注意 $A_{i,t} = A_i$): GSPO与GRPO的根本区别。因此,GSPO和GRPO之间的根本区别在于它们如何对token的对数似然梯度进行加权。在GRPO中,token根据其各自的“重要性权重” $\frac{\pi_{\theta}(y_{i,t}|x, y_{i, GSPO-token的动机。在像多轮RL这样的场景中,我们可能希望进行比序列级更细粒度的优势调整。为此,我们引入了GSPO的一个token级目标变体,即GSPO-token,以允许token级的优势定制。 GSPO-token目标函数。其目标函数如下: GSPO-token梯度推导。GSPO-token的梯度可以推导为: GSPO-token与GSPO的关系。请注意,项 $\frac{\pi_{\theta}(y_{i,t}|x, y_{i, 图表引用:图1展示了GSPO的训练效率明显高于GRPO。 图表引用:图2展示了两种算法在裁剪token比例上的巨大差异。 图表引用:图3证明了Routing Replay策略对于GRPO训练MoE模型的正常收敛至关重要。 GSPO对RL基础设施的益处。考虑到训练引擎(如Megatron)和推理引擎(如SGLang和vLLM)之间的精度差异,在实践中,我们通常使用训练引擎来重新计算旧策略 $\pi_{\theta_{old}}$ 下采样响应的似然。 简化计算流程的潜力。然而,GSPO仅使用序列级而非token级的似然进行优化,直观上,前者对精度差异的容忍度要高得多。因此,GSPO使得直接使用推理引擎返回的似然进行优化成为可能,从而避免了使用训练引擎进行重新计算的需要。这在部分rollout、多轮RL以及训练-推理分离的框架中尤其有益。 本文提出了组序列策略优化(GSPO),一种用于训练大型语言模型的全新强化学习算法。GSPO遵循重要性采样的基本原则,基于序列似然定义重要性比率,并执行序列级的裁剪、奖励和优化。与GRPO相比,GSPO在训练稳定性、效率和性能方面表现出显著的优越性,并且对于大规模MoE模型的RL训练尤其有效,为最新的Qwen3模型的卓越改进奠定了基础。以GSPO作为可扩展的算法基石,团队将继续扩展RL的应用,并期待由此带来的智能领域的根本性进步。
其中,token $y_t$ 的重要性比率定义为 $w_t(\theta) = \frac{\pi_{\theta}(y_t|x, y_{
其中 $G$ 是对每个查询 $x$ 生成的响应数量(即组大小),token $y_{i,t}$ 的重要性比率 $w_{i,t}(\theta)$ 和优势 $A_{i,t}^b$ 分别为:
其中,响应 $y_i$ 中的所有token共享相同的优势 $A_i$。动机
关键是,这依赖于对来自行为分布 $\pi_{beh}$ 的多个样本($N \gg 1$)进行平均,重要性权重 $\frac{\pi_{tar}(z)}{\pi_{beh}(z)}$ 才能有效纠正分布不匹配。A2 方法细节
4.1 GSPO: 组序列策略优化 (Group Sequence Policy Optimization)
并基于序列似然定义重要性比率 $s_i(\theta)$【8,Zheng et al., CLICK: Controllable Text Generation with Sequence Likelihood Contrastive Learning, 2023, ACL】:
因此,GSPO对整个响应而不是单个token应用裁剪,以从梯度估计中排除过于“离策略”的样本,这与序列级奖励和优化都相匹配。请注意,我们在 $s_i(\theta)$ 中采用长度归一化以减少方差,并将 $s_i(\theta)$ 控制在一个统一的数值范围内。否则,少数token的似然变化可能导致序列级重要性比率的剧烈波动,并且不同长度响应的重要性比率将需要不同的裁剪范围。我们还注意到,由于重要性比率的定义不同,GSPO中的裁剪范围与先前算法(例如GRPO)中的裁剪范围通常在数量级上有所不同。4.2 梯度分析
4.3 GSPO-token: 一个Token级目标变体
其中
并且 $sg[\cdot]$ 表示只取数值但停止梯度,对应于PyTorch中的 detach 操作。
A4 实验环境
3e-4,右侧设置为 4e-4。0.2,右侧设置为 0.27。这些值经过精心调整以确保公平比较。A5 实验结果
5.1 经验性结果:GSPO vs. GRPO
5.2 关于裁剪比例的奇特观察
5.3 GSPO对MoE训练的益处
A7 补充细节
5.4 GSPO对RL基础设施的益处
A5 结论
💬 评论讨论
欢迎在这里分享您的想法和见解!