Group Relative Policy Optimization
核心思想 :-> 对于每个问题,从旧策略中采样多个输出,然后根据这些输出的奖励来优化新策略。
GRPO的结果监督 #card
对每个问题 $q$ ,从 $\pi_{\theta_{\text {old }}}$ 中采样一组输出 $\left{o_1, o_2, \ldots, o_G\right}$ ,
用一个奖励模型评估得到 $\mathbf{r}=\left{r_1, r_2, \ldots, r_G\right}$ ,然后对这些奖励进行归一化。
结果监督就是基于归一化的奖励计算:$\hat{A}_{i, t}=\frac{r_i-\operatorname{mean}(\mathbf{r})}{\operatorname{std}(\mathbf{r})}$ ,从而通过目标式(2)进行优化。
GRPO的过程监督:
过程监督是对推理的每一步都进行评估,因此奖励模型的评估输出为#card
$\mathbf{R}=\left{\left{r_1^{i n d e x(1)}, \ldots, r_1^{i n d e x\left(K_1\right)}\right}, \ldots,\left{r_G^{i n \operatorname{dex}(1)}, \ldots, r_G^{i n d e x\left(K_G\right)}\right}\right}$ ,
其中 $\operatorname{index}(j)$ 表示第 $j$ 步结束的token index,
$K_i$ 是第 $i$ 个输出的总步数,
同样的进行归一化有 $\tilde{r}_i^{i n d e x(j)}=\frac{r_i^{\text {index }(j)}-\operatorname{mean}(\mathbf{R})}{\operatorname{std}(\mathbf{R})}$ 。
然后计算每个token的优势函数为:#card
- 对该token之后的step的归一化奖励进行求和,即 $\hat{A}{i, t}=\Sigma{\text {index }(j) \geq t} \tilde{r}_i^{i n d e x(j)}$ 。
GRPO 的整体过程
occlusion:: eyIuLi9hc3NldHMvaW1hZ2VfMTc0MTM1OTU2NTMwMF8wLnBuZyI6eyJjb25maWciOnt9LCJlbGVtZW50cyI6W3sibGVmdCI6NTc2Ljg0NjAzMDcxNTYyODgsInRvcCI6NDAyLjg1MTk2NDc1NTQ3NTM2LCJ3aWR0aCI6NzE5LjQxMDkyMTA1Njc0OTQsImhlaWdodCI6NDEuNjcxMDUyODE4MjQwNjk2LCJhbmdsZSI6MCwiY0lkIjoxfSx7ImxlZnQiOjgxNS44NDgwMjU2MDY0NjgyLCJ0b3AiOjUwMy4wMjE3NDk1MTc4NDI5LCJ3aWR0aCI6MTE5NS42OTUwMTA0MDAzMjUsImhlaWdodCI6NDEuMjk4NjA2NjAwNzk1NTQ0LCJhbmdsZSI6MCwiY0lkIjoyfSx7ImxlZnQiOjk4MC43MDQwNDc5OTY5NzI1LCJ0b3AiOjY1OS4xNjE3ODg2NTg0Njc3LCJ3aWR0aCI6MTQwMy4xMjcxNTM4Njk0NjAyLCJoZWlnaHQiOjQ4Ljk2NTkyNTYxMTIxMDA4LCJhbmdsZSI6MCwiY0lkIjozfV19fQ==
$\pi_\theta\left(o_{i, t} \mid q, o_{i,<t}\right)$ 公式中的 t 是对应token-level优势,即一个句子中,每个token对应的 优势 是一样的
$\frac{1}{G} \sum_{i=1}^G \frac{1}{\left|o_i\right|} \sum_{t=1}^{\left|o_i\right|}$ 中的 G 和 o 理解 #card
$\frac{1}{G}$ 的意思是一个query生成的一个组的回答个数,最终需要取平均,
$\frac{1}{\left|o_i\right|}$表示的是对每一个生成的回答所有的token进行求平均
clip 作用 #card
clip策略限制了 $\frac{\pi_\theta}{\pi_{\theta o l d}}$ 之间的比值,通过将比值限制在 $[1-\varepsilon, 1+\varepsilon]$ 之间,防止新策略相对于旧策略的数值有较大的更新变动
clip机制确保策略更新处于控制范围内,稳定性更强,收敛性更好,确保模型训练过程中的稳定性和效果
KL 散度正则化的作用 #card
KL 散度主要是为了衡量当前新策略 $\pi_\theta$ 和参考策略 $\pi_{r e f}$ 之间的分布差异,$\beta$ 表示的是惩罚系数,目标是为了限制 $\pi_\theta$ 和 $\pi_{r e f}$ 偏离太远
$D_{K L}$ 变大时,惩罚增加,迫使策略更新更加保守,不要偏离太远
$\beta$ 系数控制正则化强度,$\beta$ 变大的时候,表示在原有的优势上增加惩罚,让模型更新幅度变小,更加保守
Group Relative Policy Optimization
https://blog.xiang578.com/post/logseq/Group Relative Policy Optimization.html