SuperAPI AI 工具集

openrlhf-training

智能体与模型

查看项目

更新于 10-30 06:44

技能介绍

OpenRLHF 是一个面向大语言模型强化学习对齐训练的高性能框架,基于 Ray 构建分布式训练架构,并结合 vLLM 实现推理加速,底层使用 ZeRO-3、DeepSpeed 等分布式训练技术。其典型用途是对 7B-70B+ 规模的大模型进行 RLHF 训练,涵盖 PPO、GRPO、RLOO、DPO 等算法。

主要能力方面,框架支持在单一框架内完成 PPO、GRPO、RLOO、DPO 等多种算法;提供混合引擎(Hybrid Engine)模型共置方案,通过 vLLM sleep 与 DeepSpeed sleep 模式减少 GPU 空闲时间;支持参考模型、奖励模型、评论模型、演员模型分别配置节点与 GPU 数量,也支持模型共置;内置 vLLM 推理引擎加速生成阶段;支持多节点 Ray 集群与故障容错;提供自定义奖励函数与智能体 RLHF 相关文档。官方资料称其性能约为 DeepSpeedChat 的 2 倍。

使用方式上,首先通过 Docker 启动 NVIDIA PyTorch 容器,卸载冲突包后执行 pip install openrlhf[vllm] 安装。PPO 训练时先启动 Ray 头节点(ray start),再用 ray job submit 提交 openrlhf.cli.train_ppo_ray 任务,通过参数指定各模型的节点数、GPU 数、vLLM 引擎数量与张量并行度、批次大小、序列长度、zero_stage、学习率、KL 系数等。GRPO 训练在 PPO 命令基础上添加 --advantage_estimator group_norm,并配合 --use_kl_loss、--kl_estimator k3、--no_advantage_std_norm 等参数。DPO 训练通过 deepspeed --module openrlhf.cli.train_dpo 启动,无需奖励模型。典型工作流包括:SFT → 奖励模型(DPO)→ PPO 的完整流程,以及无需评论模型的 GRPO 训练和基于偏好数据的 DPO 训练。

适用场景包括:需要 RL 训练大模型(7B-70B+)、需要 vLLM 推理加速、希望采用 Ray 分布式架构、拥有多节点 GPU 集群、以及需要在同一框架内使用 PPO/GRPO/RLOO/DPO 的团队。算法选择上,PPO 控制力最强、适合复杂奖励;GRPO 更省显存且无需评论模型;RLOO 为带逐 token KL 的改进版 PPO;DPO 最简单、无需奖励模型。若仅需单节点训练或更简单 API,可考虑 TRL;超大模型可考虑 veRL;DeepSpeed 生态集成可考虑 DeepSpeedChat。

硬件要求方面,推荐 NVIDIA A100/H100;7B 模型使用混合引擎约需 8×A100 40GB;70B 模型约需 48×A100 80GB(vLLM:Actor:Critic = 1:1:1);多节点建议使用 InfiniBand 的 Ray 集群;Docker 需 NVIDIA PyTorch 25.02+ 容器。常见问题包括大模型 GPU 显存不足(可移除 --colocate_all_models 为各模型分配独立 GPU)、DeepSpeed GPU 索引越界(设置 RAY_EXPERIMENTAL_NOSET_CUDA_VISIBLE_DEVICES=1)、训练不稳定(改用混合引擎并调整 KL 系数)、PPO 生成缓慢(启用 vLLM 引擎与张量并行)。