核心思想 → 对于每个问题,从旧策略中采样多个输出,然后根据这些输出的奖励来优化新策略。
GRPO的结果监督 #card
- 对每个问题 q ,从 πθold 中采样一组输出 {o1,o2,…,oG} ,
- 用一个奖励模型评估得到 r={r1,r2,…,rG} ,然后对这些奖励进行归一化。
- 结果监督就是基于归一化的奖励计算:A^i,t=std(r)ri−mean(r) ,从而通过目标式(2)进行优化。
GRPO的过程监督:
- 过程监督是对推理的每一步都进行评估,因此奖励模型的评估输出为 #card
- R={{r1index(1),…,r1index(K1)},…,{rGindex(1),…,rGindex(KG)}} ,
- 其中 index(j) 表示第 j 步结束的token index,
- Ki 是第 i 个输出的总步数,
- 同样的进行归一化有 r~iindex(j)=std(R)riindex (j)−mean(R) 。
- 然后计算每个token的优势函数为:#card
- 对该token之后的step的归一化奖励进行求和,即 A^i,t=Σindex (j)≥tr~iindex(j) 。
GRPO 的整体过程

πθ(oi,t∣q,oi,<t) 公式中的 t 是对应token-level优势,即一个句子中,每个token对应的 {{c1 优势}} 是一样的
G1∑i=1G∣oi∣1∑t=1∣oi∣ 中的 G 和 o 理解 #card
- G1 的意思是一个query生成的一个组的回答个数,最终需要取平均,
- ∣oi∣1表示的是对每一个生成的回答所有的token进行求平均
clip 作用 #card
- clip策略限制了 πθoldπθ 之间的比值,通过将比值限制在 [1−ε,1+ε] 之间,防止新策略相对于旧策略的数值有较大的更新变动
- clip机制确保策略更新处于控制范围内,稳定性更强,收敛性更好,确保模型训练过程中的稳定性和效果
KL 散度正则化的作用 #card
- KL 散度主要是为了衡量当前新策略 πθ 和参考策略 πref 之间的分布差异,β 表示的是惩罚系数,目标是为了限制 πθ 和 πref 偏离太远
- DKL 变大时,惩罚增加,迫使策略更新更加保守,不要偏离太远
- β 系数控制正则化强度,β 变大的时候,表示在原有的优势上增加惩罚,让模型更新幅度变小,更加保守