群组相对策略优化 GRPO(Group Relative Policy Optimization)通过消除额外价值函数带来的内存和计算开销,降低了 LLM 强化学习的硬件门槛;利用相对奖励提升奖励信号的利用效率;并且通过结果监督与过程监督两种模式,适配了不同任务场景的需求。本文围绕GRPO 主要介绍:
1)经典PPO中四个模型作用以及存在的问题。
2)GRPO的主要改进点,公式推导和训练流程。
3)GRPO中优势函数的两种计算方式,结果监督和过程监督。
关注“AI老马” —【获取资源】&【进群交流】
1,actor-critor 架构 1.1,PPO 中的四个模型 PPO需要4个模型,为了节约算力和内存,一般情况下基座都是相同的大模型,仅head不同:
• 参考模型 Reference Model :作用是为了约束策略的更新,防止其偏离初始的行为。通常是经过监督训练后,权重固定的基准模型。 • 奖励模型 Reward Model:作用是提供复杂的、符合人类偏好的奖励信号,让模型学习方向朝这人类便好的方向。其权重固定,一般是提前训练好的模型。奖励分数为最后token预测得到的一个分数,或者是使用强规则,强逻辑进行打分获得的分数。 • 价值模型 Value Model(也称 Critic Model 评论家模型):主要作用是估计当前策略下状态的价值,即预测从某个状态开始,按照现有策略执行动作,所能获得的累积奖励的期望值 v,比如,t 时刻状态 s 的总收益 = 当前状态 s 能带来的即时收益 + 从状态 s 出发后能带来的未来收益 。 • 策略模型Policy Model(也称 Actor Model 演员模型):决定动作策略,SFT后的大模型,是需要训练的目标模型。 1.2,PPO 中核心困境 使用PPO优化大模型的目标函数为:
其中 和 分别代表新旧策略,q表示数据中的问题,o代表旧策略的输出结果, 代表优势函数。
在PPO中,价值函数需与策略模型协同训练;为缓解奖励模型的过度优化问题,标准做法是在每个 token 的奖励中加入来自参考模型的逐 token KL 散度惩罚项。
公式(2)中 是优势函数 的基础项,称之为及时奖励。一般优势函数 由两项构成,及时奖励和未来奖励 。
图1,PPO 算法,数据在不同模型中流转。
在以上的PPO 算法介绍中,存在两大核心问题:
• 计算与内存开销大 :PPO 中使用的价值函数通常是与策略模型规模相当的神经网络(例如,同为 175B 参数的 LLM)。这意味着训练时需要同时维护两个大型模型,不仅占用双倍内存,还会显著增加反向传播的计算成本,给硬件资源带来巨大压力。 • 价值函数训练困难 :LLM 的奖励信号具有特殊性,奖励模型通常仅对完整输出(即最后一个 token)给出一个整体奖励(例如,回答是否准确、是否符合人类偏好),而无法为每个生成的 token 分配独立奖励。但价值函数需要学习每个 token 位置的状态价值,这种 “单 token 奖励” 与 “全 token 价值估计” 的不匹配,导致价值函数训练不准确,进而影响优势函数的可靠性,最终降低策略更新的效果。 2,GRPO 分组相对策略优化 2.1,GRPO核心创新和训练流程 GRPO 两大核心创新,“分组采样“ 和 “相对奖励基线”:
• 用 “分组相对奖励” 替代价值函数 :对于每个问题,从旧策略中采样一组输出,利用这组输出的相对奖励作为基线计算优势,无需额外训练价值函数,彻底消除了价值函数带来的开销。 • 契合奖励模型的比较性本质 :奖励模型的训练数据是同一问题下不同输出的比较样本(例如,“输出 A 比输出 B 更优”),GRPO 的相对奖励计算天然与这种训练方式对齐,能更高效地利用奖励信号。 GRPO 训练的具体流程如下:
step 1 分组采样: 对于每个问题q ,从当前旧策略中采样G 个输出,构成输出组 (G 为超参数,通常取 4~8)。
step 2 奖励计算: 通过奖励模型为每个输出打分,得到奖励集合 。
step 3 相对奖励归一化 :将奖励进行组内归一化(减去组内均值、除以组内标准差),得到相对奖励 ,以此作为优势函数的核心输入。
step 4 策略优化 :基于归一化后的相对奖励计算优势,结合 PPO 的剪辑机制和 KL 散度正则化,更新策略模型,确保更新稳定。
2.2,GRPO 公式推导 GRPO 的策略优化目标函数继承了 PPO 的剪辑机制,避免策略更新幅度过大导致的训练不稳定。由公式(1)加入GRPO策略,得到公式(3):
符号解释:
• q ∼p (Q ):从问题分布 p (Q ) 中采样一个问题q ; • :从旧策略中 为问题 q 采样 G 个输出; • :第 i 个输出的第 t 个 token;:第 i 个输出中第 t 个 token 之前的所有 token(上下文); • :策略比率(Policy Ratio),衡量新策略与旧策略在生成时的概率差异; • ϵ :剪辑系数(通常取 0.1 或 0.2),限制策略比率的范围,避免更新幅度过大; • :第 i 个输出第 t 个 token 的优势值,由相对奖励计算得到; • :新策略与参考策略 (通常为旧策略 )的 KL 散度,用于正则化,避免策略突变; • β :KL 散度正则化系数,控制正则化强度。 KL 散度的无偏估计 。PPO 的部分变种会将 KL 散度惩罚项融入奖励或优势函数计算,这会增加优势值的复杂度。GRPO 直接将 KL 散度作为损失项的一部分,并采用无偏估计器计算 KL 散度,避免了对优势值计算的干扰。公式如下:
GRPO 优势函数 的计算,无需价值函数,仅依赖分组内的相对奖励。根据监督模式的不同,优势函数的计算分为结果监督和过程监督两种。
3,优势函数计算 3.1,结果监督 Outcome Supervision 结果监督对应传统 LLM 奖励模式:奖励模型仅对每个完整输出给出一个最终奖励,即 “回答正确得 1 分,错误得 0 分”。
优势函数计算步骤 :
• 组内奖励归一化 :将同一问题下G 个输出的奖励进行归一化,消除绝对奖励的偏差,突出相对优劣: 其中ϵ ′为极小值(如 1e-8),避免分母为 0。
• 全 token 优势赋值 :由于结果监督仅提供最终奖励,GRPO 将归一化后的相对奖励 作为输出 中所有 token 的优势值 实例 :结果监督下的优势计算
假设问题q =“求解 2+3×4”,采样G =3个输出,奖励模型给出的奖励(基于回答准确性)如下:
• o 1=“2+3×4=20”(错误),r 1=0; • o 2=“2+3×4=14”(正确),r 2=1; • o 3=“2+3×4=10”(错误),r 3=0。 第一步:计算组内均值和标准差 mean(r )=(0+1+0)/3=1/3≈0.333;std(r )=[(0−1/3)2+(1−1/3)2+(0−1/3)2]/3=(2/9)/3≈0.272。
第二步:归一化相对奖励 r1=(0−0.333)/(0.272+1e −8)≈−1.224;r2=(1−0.333)/0.272≈2.449;r3=(0−0.333)/0.272≈−1.224。
第三步:赋值优势值
• o 1的所有 token(“2” “+” “3” “×” “4” “=” “2” “0”)的优势值均为 - 1.224; • o 2的所有 token 的优势值均为 2.449; • o 3的所有 token 的优势值均为 - 1.224。 此时,策略更新会倾向于增强生成 o 2中各 token 的概率(因为优势值为正且较大),削弱生成o 1和o 3中 token 的概率,从而引导模型学习正确的计算逻辑。
3.2,过程监督 Process Supervision **模型可能生成 “正确结果但错误推理过程”,或 “推理过程部分正确但最终结果错误”,仅靠最终奖励难以精准引导每一步推理。过程监督通过为每个推理步骤分配奖励,能更细致地监督策略更新。**结果监督的缺点是仅依赖最终奖励,对于复杂数学推理、逻辑证明等任务可能不够高效 。
优势函数计算步骤 :
步骤奖励采样 :对于每个输出 ,将其划分为 个推理步骤(如,“第一步计算 3×4=12,第二步计算 2+12=14”),奖励模型为每个步骤的结束 token 分配步骤奖励 ,其中的 表示第 j 步结束 token 的位置,。
全局奖励归一化 :将所有输出的所有步骤奖励合并,计算全局均值和标准差 :
累积优势计算 :对于输出 的第 t 个 token,其优势值为该 token 之后所有步骤的归一化奖励之和:
实例 2:过程监督下的优势计算
延续问题q =“求解 2+3×4”,采样G =2个输出,采用过程监督奖励模型(对每个推理步骤的正确性打分,满分 1 分):
• o 1=“第一步:3×4=12(步骤 1 结束);第二步:2+12=14(步骤 2 结束)”• 步骤 1 奖励,(3×4=12 正确); • 步骤 2 奖励,(2+12=14 正确); • 步骤结束位置:(“12” 后的标点),(“14” 后的标点)。 • o 2=“第一步:2+3=5(步骤 1 结束);第二步:5×4=20(步骤 2 结束)”• 步骤结束位置: • 步骤 2 奖励,(5×4=20 计算正确,但步骤 1 错误导致整体结果错误); • 步骤 1 奖励,(先算加法违反运算优先级,错误); 第一步:计算全局均值和标准差 R ={1,1,0,1},mean(R )=(1+1+0+1)/4=0.75;std(R )≈0.433。
第二步:归一化步骤奖励
第三步:计算各 token 的优势值
• 对于o 1• t ≤11,步骤 1 结束前的 token,如(“第” “一” “步” “:” “3” “×” “4” “=” “1” “2”):; • 11<t ≤20,步骤 2 结束前的 token,如(“;” “第” “二” “步” “:” “2” “+” “1” “2” “=” “1” “4”):; • t >20(输出末尾标点):。 • 对于o 2• t ≤10,步骤 1 结束前的 token,如(“第” “一” “步” “:” “2” “+” “3” “=” “5”): • 10<t ≤19,步骤 2 结束前的 token,如( “;” “第” “二” “步” “:” “5” “×” “4” “=” “2” “0”):; • t >19:。 过程监督下,优势值能精准区分正确与错误的推理步骤,比如,o 1的前 11 个 token,对应正确的第一步推理,具有更高的优势值,模型会倾向于增强这部分 token 的生成概率;而o 2的前 10 个 token,对应错误的第一步推理,具有负优势值,模型会削弱这部分 token 的生成概率,从而引导模型学习正确的推理流程。
总结: GRPO 的性能依赖部分关键超参数的合理设置,结合 LLM 微调实践,建议如下:
• 分组大小G :建议取值 4~8。G 太小时,组内相对奖励的统计可靠性不足;G 过大时,采样和奖励计算的开销会显著增加,且边际收益递减。 • 剪辑系数ϵ :沿用 PPO 的经验值,建议取值 0.1~0.2。对于需要保守更新的场景,即如模型已接近收敛,可选用 0.1;对于需要快速探索的场景,可选用 0.2。 • KL 正则化系数β :建议取值 0.01~0.1。β 过小时,策略可能突变导致训练不稳定;β 过大时,策略更新过慢,难以收敛到最优解。 • 监督模式选择 :对于简单任务,如文本生成、情感对齐,可采用结果监督,兼顾效率与效果;对于复杂推理任务,如数学计算、逻辑证明,建议采用过程监督,通过细粒度奖励引导模型学习正确流程。 GRPO 的优势函数计算逻辑清晰,能有效引导策略更新。未来可进一步探索分组采样策略的优化,如自适应分组大小、过程监督中步骤划分的自动化方法,以及 GRPO 在多轮对话、代码生成等复杂 LLM 任务中的应用。