主页:http://qingkeai.online/
作者:dung defender
https://zhuanlan.zhihu.com/p/2085039491153139207青稞社区为科研人员提供成果宣传支持,如有优秀研究成果分享推广,欢迎投稿联系:aiFreeCode
最近arxiv上挂了一篇paper:Score Centering Stabilizes Off Policy Reinforcement Learning[1] 。据说是OPENAI的后训练RL算法,笔者感兴趣进去瞅了一下,仔细想了一下,发现这个叫做score centering的算法其实就是一个STE的近似实现,这种trick其实在之前涉及到Sim to Real的RL setting上是很常见的用法,只能说是太阳之下没有新鲜事。今天在这里写一个blog来细节讲一下这个OAI的神秘算法。
大模型 RL的问题形式化
大模型RL训练中最麻烦的一个点就是有训练megatron和推理 vllm两套引擎,同样的输入,在两套模型中forward计算得到的logits有差异。
这个是大模型RL和传统小模型RL差异最大的一个点。我们的目标是: 最大化vllm上部署引擎的推理效果! 记住不是megatron,是vllm。
所以从IGO的视角出发,模型在vLLM上推理rollout得到轨迹和分数,然后得到最优分布:
我们的目标是优化我们的策略 ,使得它和最优分布 的KL loss最小化。因为我们没法得到vLLM上的模型的梯度,所以我们只能用megatron的梯度来近似vLLM的梯度,具体的说,就是把RL的objective从
变成了:
我们记住这个式子,这个公式是大模型做RL的核心
对RL公式的分析
我们来看这个公式:
这里我们会意识到一个点,就是这个ratio的值刚一开始就不是1,所以它不能从PPO的clip角度去理解。PPO的clip是因为我们需要限制前后policy的KL距离,保持优化稳定,所以PPO的ratio刚一开始就是1,后面优化过程中被clip。
但是对于我们vLLM和megatron的训推不一致,这个值刚一开始就不是1,所以clip不解决问题,甚至还会带来很多损害。这也是为什么MIS,bypass PPO这类算法很多时候会失败的原因。
那我们怎么办呢?其实一个最最简单的方法,就是用STE(straight through estimation),我们记megatron的计算的logits是 ,vLLM侧计算的logits是 ,那么我们可以得到一个vLLM的surrogate logits:
那么vLLM的surrogate概率就是:
所以RL的优化目标就变成了:
好的,到这里其实思路想法都非常简单自然。
我们接下来来看这个objective的梯度:
我们可以发现,其实这个loss的梯度就是OAI这个后训练算法的梯度,完全一样。
所以OAI的这个RL算法,实际上就是megatron和vLLM之间推理差异的STE近似。
那off policy的时候呢
大家注意到上面的推导都是默认on policy,rollout的一个batch的数据被一次optimizer.step处理的,那如果我们想提高数据利用率,开启off policy的setting的时候,这两个算法有区别吗?其实仔细想想,还有有的,我们STE估计的版本的梯度:
里面的ratio因子不再是1了,等价于所有的 都是来自 的,但是OAI的算法等价于一直都是从 里面采样的,所以OAI的这个版本其实是带偏的,没有importance sampling。
所以我预测在off policy的setting上,surrogate STE的效果会稳定一些。paper原文里面尝试了TIS + OAI的方式,其实和surroagte的STE差别不大了。
一些小思考
其实大家回头看,就会发现很多时候LLM的RL算法并没有经过系统的分析,更像是对原始PPO之类算法的启发式规则魔改,比如clip操作。clip在原始的PPO里等于是加了一个隐式的KL约束,非常合理。但是面对vLLM和megatron的训推差异,其实用clip是一个很不好的做法,会变成来回打补丁的方式,很难调。
我们从IGO的角度直接出发开始推导,能得到更加直接,直观的物理图像,其实是一种减法,能帮助我们看清楚问题的本质。
那么大规模RL的算法在这里还有什么方法是可以用来提升效果的呢?肯定是有的,STE等于算了一个假的grad,这个grad不一定是sub grad,所以我们可以利用vLLM推理结果对这个假grad进行修正,进一步提升效果,这里就不做过多赘述,以上!
P.S. IGO真的是个好数学工具,用它来看各种RL算法一眼就可以看到背后的物理图像。
引用链接
[1] Score Centering Stabilizes Off Policy Reinforcement Learning: https://arxiv.org/pdf/2609.20807v1
往期推荐
加入青稞AI技术交流群
都看到这了,点个关注再走吧🧐~