Group Sequence Policy Optimization
Group Sequence Policy Optimization
文章标题:组序列策略优化 (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.)
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 结论
💬 评论讨论
欢迎在这里分享您的想法和见解!