Repolode
OpenRLHF

OpenRLHF/OpenRLHF

基于 Ray 和 vLLM 的强化学习框架,用于大语言模型与视觉语言模型的人类反馈强化学习训练。

Star
10,105
Fork
1,049
未关闭 Issue
402
最近提交
16天前

这是什么?

OpenRLHF 是一个用于大语言模型训练的框架,支持基于人类反馈的强化学习(RLHF)以及相关的智能体强化学习方法。它使用 Ray 在多块 GPU 之间调度 Actor、奖励、参考和 Critic 模型,并借助 vLLM 完成采样生成环节。项目指出采样生成占 RLHF 训练时间的大头,因此这一部分是性能优化的重点。模型训练基于 DeepSpeed ZeRO-3,可直接加载 Hugging Face Transformers 的模型权重。

框架内置 PPO、REINFORCE++、REINFORCE++-baseline、GRPO、RLOO、DAPO 风格的动态过滤等多种算法,通过命令行参数切换。单轮训练支持自定义 Python 奖励函数或远程奖励接口;多轮智能体训练则通过 reset 和 step 方法定义环境。此外还支持监督微调、奖励模型训练和 DPO,并覆盖 LoRA、MoE、RingAttention 以及视觉语言模型训练。

训练可以同步或异步运行,也可以使用混合引擎模式让多个模型共享 GPU。多节点任务可以在 Ray 集群或 SLURM 上启动。

核心功能

  • 01基于 Ray 调度,可将 Actor、奖励、参考和 Critic 模型分配到不同 GPU 上。
  • 02采样生成由 vLLM 驱动,支持张量并行和流水线并行。
  • 03支持 PPO、REINFORCE++、GRPO、RLOO 以及 DAPO 风格的动态过滤。
  • 04单轮训练可接入自定义奖励函数,多轮训练可通过 reset 和 step 接口定义环境。
  • 05同一代码库内包含监督微调、奖励模型训练和 DPO。
  • 06支持视觉语言模型的 RLHF 训练,可在提示和环境反馈中使用图像。

适用场景

  • 在 GPU 集群上对 7B 到 70B 以上参数的大语言模型运行 PPO 或 GRPO 类强化学习。
  • 使用答案校验或测试执行等基于规则的奖励,微调数学或代码推理模型。
  • 构建多轮智能体,让训练环境在每次模型动作后返回反馈。
  • 在图像相关任务上用强化学习训练视觉语言模型。

使用前须知

  • 依赖 Ray、vLLM 和 DeepSpeed 等较重的技术栈,部署配置需要一定投入。
  • 面向大模型的多 GPU 训练设计,需要较多的 GPU 资源。

标签

常见问题

OpenRLHF 是什么?
基于 Ray 和 vLLM 的强化学习框架,用于大语言模型与视觉语言模型的人类反馈强化学习训练。 OpenRLHF 是一个用于大语言模型训练的框架,支持基于人类反馈的强化学习(RLHF)以及相关的智能体强化学习方法。它使用 Ray 在多块 GPU 之间调度 Actor、奖励、参考和 Critic 模型,并借助 vLLM 完成采样生成环节。项目指出采样生成占 RLHF 训练时间的大头,因此这一部分是性能优化的重点。模型训练基于 DeepSpeed ZeRO-3,可直接加载 Hugging Face Transformers 的模型权重。
OpenRLHF 可以免费使用吗?用的什么许可证?
OpenRLHF 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
OpenRLHF 还在维护吗?
活跃维护中。OpenRLHF 最近一次提交是在 2026年10月5日。
OpenRLHF 适合用来做什么?
在 GPU 集群上对 7B 到 70B 以上参数的大语言模型运行 PPO 或 GRPO 类强化学习。 使用答案校验或测试执行等基于规则的奖励,微调数学或代码推理模型。 构建多轮智能体,让训练环境在每次模型动作后返回反馈。 在图像相关任务上用强化学习训练视觉语言模型。
在哪里获取 OpenRLHF?
源代码和安装说明在 GitHub 上:https://github.com/OpenRLHF/OpenRLHF

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目