OpenRLHF

基于 Ray 的强化学习框架,让大规模 RLHF 训练又快又稳

OpenRLHF 是一个基于 Ray 的强化学习框架,专为大规模语言模型(LLM)的智能体训练而设计。它解决了传统 RLHF(人类反馈强化学习)流程中训练效率低、扩展性差的问题,提供了一站式的解决方案。核心能力包括:支持多种主流强化学习算法(如 PPO、DAPO、REINFORCE++),兼容视觉语言模型(VLM)和文本模型,集成了 vLLM 作为推理引擎,并利用 Ray 实现分布式异步训练,从而大幅提升吞吐量。框架设计注重易用性,提供简洁的 API 和模块化组件,让开发者能够快速搭建和实验。无论是学术研究还是工业落地,OpenRLHF 都能帮助团队高效完成从数据准备到模型部署的完整 RLHF 流程,是当前开源社区中功能全面且性能领先的 RL 框架之一。

开源 free 开源模型
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 10034
维护状态 活跃
是否开源
定价模式 free

项目数据

分类开源模型
开发团队OpenRLHF
所属国家
官网地址
定价模式free
价格说明开源框架,基于Apache-2.0许可证,完全免费,可自行部署使用。
访问状态
是否开源
开源协议Apache-2.0
主要语言Python
技术栈/模型large-language-models,proximal-policy-optimization,raylib,reinforcement-learning,reinforcement-learning-from-human-feedback,transformers,visual-language-models,vllm
GitHub 星标★ 10034
30天Star增速
HF 下载量
上线时间2023-07-30 00:00:00
最近更新2026-09-22 00:00:00
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数3

使用教程

难度:进阶 约 30 分钟 部署方式:Docker 4 步

环境要求

  • 支持 NVIDIA GPU 的 Linux 机器,并已安装 NVIDIA 驱动与 nvidia-container-runtime
  • Docker(README 推荐使用官方 PyTorch 镜像 nvcr.io/nvidia/pytorch:26.03-py3)
  • Python 与 pip 环境(镜像内已自带,源码安装时需要)
  • 建议安装 vLLM 0.29.0 及以上版本以获得最佳性能
  • 需要 Ray 集群(提交任务时使用 Ray Job 地址 http://127.0.0.1:8265)

安装与启动步骤

  1. 1启动 Docker 容器

    用 NVIDIA PyTorch 镜像起一个带 GPU 的交互容器,把当前目录挂载到 /openrlhf,后续命令都在容器内执行。

    docker run --runtime=nvidia -it --rm --shm-size="10g" --cap-add=SYS_ADMIN -v $PWD:/openrlhf nvcr.io/nvidia/pytorch:26.03-py3 bash
  2. 2安装 OpenRLHF

    推荐用 pip 安装并带上 vLLM 依赖;追求性能可选 vllm,ring,liger 全套优化。

    pip install openrlhf[vllm]
  3. 3从源码安装(可选)

    若需要改代码或使用最新版本,可克隆仓库后以可编辑模式安装,替代上一步的 pip 安装。

    git clone https://github.com/OpenRLHF/OpenRLHF.git
    cd OpenRLHF
    pip install -e .
  4. 4提交 PPO 训练任务

    通过 Ray Job 提交训练,指定模型路径、提示数据集与自定义奖励函数脚本,其余参数按示例脚本调整。

    ray job submit --address="http://127.0.0.1:8265" 
      --runtime-env-json='{"working_dir": "/openrlhf"}' 
      -- python3 -m openrlhf.cli.train_ppo_ray 
      --actor.model_name_or_path meta-llama/Meta-Llama-3-8B 
      --train.dynamic_batch_enable 
      --reward.remote_url /path/to/reward_func.py 
      --data.label_key answer 
      --data.prompt_dataset your_prompt_dataset

关键配置

配置项必填说明示例
--actor.model_name_or_path指定作为 Actor 的基座模型名称或本地路径meta-llama/Meta-Llama-3-8B
--data.prompt_dataset训练用的提示词数据集路径或名称your_prompt_dataset
--reward.remote_url自定义奖励函数 Python 文件路径,用于代码/数学等可验证任务/path/to/reward_func.py
--data.label_key把数据集中该字段作为 labels 传给 reward_funcanswer
--train.async_enable开启异步流水线以提高吞吐,可能影响收敛稳定性--train.async_enable
--train.colocate_all混合引擎模式,去掉 async_enable 时 GPU 利用率最佳--train.colocate_all

如何确认成功

在 Ray Dashboard(http://127.0.0.1:8265)中能看到刚提交的 ray job 及其运行状态,容器内 pip 安装无报错。

常见问题

Q:pip 安装时该选哪个 vLLM 版本?

A:基础版用 pip install openrlhf;推荐 pip install openrlhf[vllm](vLLM 0.29.0);想追最新版用 [vllm_latest],需要全部优化则用 [vllm,ring,liger]。

Q:异步训练会不会让效果变差?

A:README 明确提示异步训练可能影响训练稳定性,只有在吞吐量关键且已验证收敛的情况下才使用。

Q:怎么用自定义奖励函数?

A:用 --reward.remote_url 指向奖励函数脚本,并用 --data.label_key answer 把数据集中的 answer 字段作为 labels 传入,适用于代码、数学、格式等可验证任务。

Q:怎么让 GPU 利用率最高?

A:使用混合引擎模式,加上 --train.colocate_all 并移除 --train.async_enable,可获得最佳 GPU 利用率。

Q:RingAttention 报错怎么办?

A:使用 --ds.ring_attn_size 前需要先安装 ring_flash_attn 依赖。

注意事项

  • README 强烈推荐用 Docker 方式安装,可免去环境配置的麻烦。
  • 推荐使用 vLLM 0.29.0+ 以获得最佳性能,可参考仓库 dockerfile/ 目录与 examples/scripts/nvidia_docker_install.sh。
  • 异步训练会引入 off-policy 数据,partial rollout 场景下样本可能同时包含新旧权重生成的 token。
  • 训练脚本示例见 examples/scripts/train_ppo_with_reward_fn.sh 等,参数细节以官方文档为准。

核心亮点

  • 集成 vLLM 和 Ray,训练吞吐量显著优于同类框架
  • 支持 PPO、DAPO、REINFORCE++ 等多种算法,适应不同场景
  • 同时支持文本和视觉语言模型,扩展性强

不足之处

  • 依赖 Ray 和 vLLM,部署环境相对复杂
  • 文档和社区生态仍在成长中,部分高级用法示例不足

适用场景

  • 大规模语言模型的 RLHF 对齐训练
  • 视觉语言模型的强化学习微调
  • 需要高吞吐、分布式训练的智能体 RL 实验

替代项目

TRL、DeepSpeed-Chat、RLHF-Reward-Modeling

项目介绍

OpenRLHF 是模型训练领域的开源项目,由 OpenRLHF 开发,2023 年首次发布。

在全站 13,014 个收录项目中,它的 GitHub 星标数(10,034)位列前 5%,在模型训练分类的 518 个项目里位列前 5%。

近 41 天,它的 GitHub 星标从 9,906 增加到 10,034,净增 128。

项目目前处于活跃维护状态,最近一次代码更新于 2026-09-22。基于Apache-2.0许可证,完全免费,可自行部署使用。

它主要面向的使用场景是:大规模语言模型的RLHF对齐训练。同类可对比的替代方案包括 TRL、DeepSpeed-Chat、RLHF-Reward-Modeling。

上一篇:BlaGPT

下一篇:DoLa

同类项目推荐

Long-RL 开源

让强化学习轻松驾驭超长序列,训练更稳更快

Long-RL: Scaling RL to Long Sequences (NeurIPS 2025)

★ 729 2026-08-09
TPA 开源

把注意力复杂度从平方降到线性,长序列不再卡顿

[NeurIPS 2025 Spotlight] TPA: Tensor ProducT ATTenTion Transformer (https://arxiv.or···

★ 463 2026-08-09
minimind 开源

两小时造出你的小模型,练手入门不求人

Train a 64M-parameter LLM from scratch in just 2h!

★ 62178 2026-08-09
pruna 开源

一键优化 AI 模型,推理提速又省资源。

Pruna is a model optimization framework built for developers, enabling you to delive···

★ 1286 2026-08-13