Group Relative Policy Optimization

从 PPO 到 GRPO 近端策略优化(PPO)是一种 actor-critic 强化学习算法,广泛应用于大语言模型(LLM)的强化学习微调阶段。具体而言,它通过最大化以下替代目标来优化大语言模型: 其中,$\pi_{\theta}$ 和 $\pi_{\theta_{old}}$ 分别是当前策略模型和旧策略模型,$q$ 和 $o$ 分别是从问题数据集和旧策略 $\pi_{\theta_{old}}$ 中采样的问题和输出。$\varepsilon$ 是 PPO 中引入的用于稳定训练的裁剪相关超参数。$A_t$ 是优势值,它通过应用广义优势估计(GAE)计算得出,基于奖励 $\{r_{\ge t}\}$ 和一个学习到的价值函数 $V_{\psi}$。因此,在 PPO 中,需要与策略模型一同训练一个价值函数。为了减轻对奖励模型的过度优化,标准做法是在每个 token 的奖励中添加来自参考模型的每个 token 的 KL 散度惩罚,即: 其中 $r_\varphi$ 是奖励模型,$ \pi_{ref} $ 是参考模型,通常是初始的 SFT 模型,而 $ \beta $ 是 KL 惩罚的系数。 由于 PPO 中使用的价值函数通常是与策略模型大小相当的另一个模型,因此会带来大量的内存和计算负担。此外,在强化学习(RL)训练期间,价值函数被视为计算优势以减少方差的基线。 然而,在大语言模型(LLM)的背景下,通常只有最后一个 Token 会被奖励模型赋予奖励分数,这可能会使在每个 Token 上都准确的价值函数的训练变得复杂。为了解决这个问题,我们提出了组相对策略优化(GRPO),它无需像 PPO 那样进行额外的价值函数近似,而是使用针对同一问题生成的多个采样输出的平均奖励作为基线。更具体地说,对于每个问题 $q$,GRPO 从旧策略 $ \pi_{\theta_{old}} $ 中采样一组输出 $ \{o_1, o_2, \cdots, o_G\} $,然后通过最大化以下目标来优化策略模型: ...

February 2, 2025 · 小茄墩