PPO 与 GRPO:从策略裁剪到组相对优势

前言 监督微调(Supervised Fine-Tuning, SFT)要求训练数据中明确给出“输入应该对应什么输出”。但在数学推理、代码生成和复杂指令遵循任务中,很多问题很难为每个输入准备唯一而完整的标准答案。此时可以让语言模型生成多个候选答案,再根据答案是否正确、是否满足约束或是否具有某种质量来给出奖励(reward),并用强化学习(Reinforcement Learning, RL)调整模型的生成策略。 PPO(Proximal Policy Optimization)是语言模型强化学习中最经典的策略优化方法之一。GRPO(Group Relative Policy Optimization)则是在 PPO 的策略裁剪思想上,进一步利用同一个问题生成的一组答案进行相对比较,从而不再显式训练一个独立的价值模型(critic)。 本文先建立 PPO 的必要数学背景,再重点解释 GRPO 的训练目标、数据流和局限。文章默认读者已经理解概率分布、梯度下降以及 Transformer 的自回归生成过程。神经网络反向传播的基础可以参考本站的正向传播与反向传播,Transformer 的自回归结构可以参考Transformer 详解。 语言模型为什么可以看成策略 强化学习中的策略(policy)是根据当前状态选择动作的概率分布。对于自回归语言模型,可以作如下对应: 强化学习概念 语言模型中的对应物 状态 $s_t$ 输入提示词与已经生成的前缀 动作 $a_t$ 当前时刻生成的 token 策略 $\pi_\theta(a_t \mid s_t)$ 模型对下一个 token 的概率分布 一条轨迹 从提示词开始直到结束 token 的完整回答 回报或奖励 $R$ 对整段回答进行评价得到的分数 给定提示词 $q$,语言模型生成回答 $o=(o_1,\ldots,o_T)$ 的概率可以按照自回归分解: $$\pi_\theta(o\mid q) = \prod_{t=1}^{T} \pi_\theta(o_t\mid q,o_{< t})$$其中 $o_{< t}$ 表示第 $t$ 个 token 之前的生成前缀。取对数后,完整回答的对数概率变成各个 token 对数概率之和: $$\log \pi_\theta(o\mid q) = \sum_{t=1}^{T} \log \pi_\theta(o_t\mid q,o_{< t})$$这两个式子非常重要。奖励通常是对完整回答给出的,但模型参数的更新必须落实到生成回答时经过的每一个 token。因此,PPO 和 GRPO 都需要把序列级奖励转化为 token 级的策略梯度信号。 ...

📅 September 11, 2026 · 🔄 更新于 2026-09-19 · ⏱️ 43 min · 📝 约 6552 字 · 👁️ — 次阅读
Comments