对业界LLM的各种强化学习策略做个梳理
背景
两年前ChatGPT出现后,出现了许多开源项目尝试复现其效果,我当时研究了一下开源的强化学习实现,包括DeepSpeed-Chat、ColossalChat、TRLX等,整理了一篇DeepSpeed-Chat的强化逻辑:
后来,强化学习又出来了很多,一些认知在业界也逐渐收敛,本文对当前业界常用的LLM强化学习策略做一下简单整理。
符号定义
业界LLM强化学习方案
PPO
PPO1是off-policy策略,对
GRPO
GRPO2去掉了PPO里的Critic模型,每个query生成G个答案,通过G个答案的均值方差来计算Advantage里的baseline。KL也放在Actor
Loss中,并且通过k3估计来实现。
ReMax
ReMax3是on-lolicy策略。它也去掉了Critic,通过贪心策略生成答案的奖励作为Advantage里的baseline。
Reinforce++
Reinforce++4中,只有token
EOS有奖励,其他token没有。并且,kl项融入到Reward中。Advantage计算中,也考虑了未来token的kl。
另外,使用了强化学习中的很多技巧,包括PPO Clip、Reward Normalization and
Clipping、Advantage Normalization。
DAPO
DAPO5计算Advantage的方式和GRPO一样。
去掉了KL。 PPO Clip的上下限拆成两个独立参数。
为避免G个答案全对或全错导致Advantage=0进而导数为0的问题,会丢掉全对或全错样本,一直采样直到填满batch
size。 对于超出长度的样本,会做soft打压。
GPG
GPG6是on-lolicy策略。GPG也考虑了G个答案全对或全错的问题,不同于DAPO,它会丢掉全对或全错样本,对整个batch进行权重补偿,既
参考
- [1][Training language models to follow instructions with human
feedback](http://arxiv.org/abs/2203.02155)
- [2][DeepSeek-V3 Technical Report](http://arxiv.org/abs/2412.19437)
- [3][ReMax: A Simple, Effective, and Efficient Reinforcement Learning
Method for Aligning Large Language
Models](http://arxiv.org/abs/2310.10505)
- [4][REINFORCE++: A Simple and Efficient Approach for Aligning Large
Language Models](http://arxiv.org/abs/2501.03262)
- [5][DAPO: An Open-Source LLM Reinforcement Learning System at
Scale](http://arxiv.org/abs/2503.14476)
- [6][GPG: A Simple and Strong Reinforcement Learning Baseline for Model Reasoning](http://arxiv.org/abs/2504.02546)