跳转到主要内容

PPO 训练

使用近端策略优化(PPO)训练语言模型,用于人类反馈强化学习(RLHF)。

概述

PPO 训练是一个 2 步过程:
  1. 训练奖励模型 - 训练一个模型来评分响应(参见 Reward Modeling
  2. 运行 PPO 训练 - 使用奖励模型指导策略优化

快速开始

Python API

要求

PPO 训练需要 --rl-reward-model-path(已训练奖励模型的路径)或 --model-ref(用于 KL 散度的参考模型)。至少必须指定一个。

参数

核心 PPO 参数

训练参数

生成参数

高级参数

数据格式

PPO 训练仅使用提示词(模型生成响应):

RL 环境类型

提供三种环境类型:

多目标奖励

启用多个奖励信号:

示例:完整 RLHF 流程

步骤 1:训练奖励模型

步骤 2:运行 PPO 训练

最佳实践

  1. 从好的基础模型开始 - 在 PPO 之前使用 SFT 进行微调
  2. 使用训练良好的奖励模型 - 奖励质量决定 PPO 成功
  3. 监控 KL 散度 - 过高意味着模型偏离原始模型太多
  4. 从默认超参数开始 - 根据训练动态调整
  5. 使用小学习率 - PPO 对学习率敏感(1e-5 到 5e-6)

下一步

Reward Modeling

训练奖励模型

DPO Training

PPO 的更简单替代方案

GRPO 训练

使用自定义环境的 RL

RL 模块

底层 RL 构建模块