DeepSeek Zero 强化学习调参实战复盘
相比传统的 Cold-Start SFT 后再 RL 流程,我更倾向于直接在 Base 模型上进行 RL。这在理论和实践层面都对未来模型的优化方向有重要指导意义。
理论视角
Policy Gradient 结合 KL 约束可推导出基于残差能量的模型形式。问题核心转变为如何高效地从最优分布中采样。
路径主要有两种:一是转化为 RL,使用 Policy Gradient 及其变种,用带参数的策略逼近最优分布;二是转化为采样,利用高效的 MCMC 方法从最优分布中抽取样本。
除了传统 RL,也可尝试其他能量模型的参数估计方法。过去较少人这么做,主要是因为 Base 上的 RL 搜索空间巨大,优化复杂度较高。且在之前的 SFT 模型上使用基于规则的奖励模型做 PPO 优化,似乎未能显著提升 7B 模型的推理效果。不过,随着预训练模型质量提升,Base 模型在 Zero-shot 上的表现已接近上一代指令模型,此时进行 Base 上的 RL 更加合理且有保障。
值得注意的是,LLM 产生一个 Response 并获得 Reward,本质上缺少多步环境交互,理论上更接近 Bandit 问题。此外,LLM 本身经过预训练和退火,并非纯粹随机初始化,这导致传统 RL 中的许多 Trick 是否必要尚无定论。
实践探索
开源社区已有 Simple Reason RL、Tiny Zero 等尝试。我认为 Zero RL 需要重新审视算法中的各种设计,寻找针对 LLM 加验证奖励模型更有效的方法,而非盲目陷入复杂算法。
由于最新 Base 模型更像弱化版指令模型,很难在纯预训练模型上跑通纯粹的 RL。复现的关键点在于:
- 训练稳定性:需能稳定训练上千个 steps。
- Reward 增长:Reward 应持续增长,且附带 Response 长度也能增长。若长度不涨,容易退化为短 CoT 形式的指令模型 RL。
- 基线对齐:在 32B 模型上,需对齐 DeepSeek-R1 技术报告中 Qwen25-32B-Zero 的效果。
关键结论
经过三周多的调试,得出以下初步结论:
- 不同 RL 算法在 Base RL 上的差异不显著,Learning Rate 和 Warmup 影响也不大。
- 调整参数通常无法让 Reward 和 Response 长度同步增长,后者往往受任务特性限制。
- 朴素方法可能最有效。Reinforce 及使用 PPO 的 Loss Objective 已足够。
- KL 约束的影响至关重要。加入 KL 会限制模型探索,而 Base 上的 RL 前期探索更为重要。
实验数据显示,去掉 KL 系数(相当于 OpenRLHF 中 init-kl-coef=0)后,曲线符合预期:稳定、持续增长,Reward 与长度同步增加。反之,加上 KL 后容易出现饱和、长度不涨的问题。
评测指标也显示,去掉 KL 的 Reinforce 呈现更好的增长趋势,而加了 KL 的版本在 100 个 steps 后基本持平。虽然去掉 KL 的 Reinforce 在训练集上 Reward 可能有下降,但通过引入 Policy EMA 或 Ref EMA 等稳定优化手段,可以让训练跑得更久。
总结
在新 Base 模型上回顾经典,可能会有意想不到的效果。时机恰到好处是成功的关键。此外,结合环境交互的 RL 框架仍是重要方向,缺乏好的环境难以做出更强的推理 Agent 模型。除 RL 外,其他生成模型的优化或采样方法(如 EBM)也可在相关框架中进行定制化开发,或许能探索出新的技术路线。


