SuperAPI AI 工具集

Online-RLHF

Online-RLHF 是 RLHFlow 团队发布的一个开源项目,提供在线迭代 RLHF(基于人类反馈的强化学习)和在线迭代 DPO 的详细配方与可复现流程。该项目旨在填补现有开源 RLHF 项目多局限于离线学习场景的空白,通过在线迭代方式对齐大语言模型。仅使用开源数据,该配方即可达到与 LLaMA3-8B-instruct 相当甚至更好的效果。仓库包含完整的训练步骤:监督微调、奖励建模、数据生成、数据标注和迭代训练,并提供了多个预训练模型和数据集(如 LLaMA3-SFT、奖励模型、RLHF 模型等)以及安装说明。该项目适合研究人员和开发者复现和推进在线 RLHF 研究。

访问官网

工具介绍

用途

Online-RLHF 由 RLHFlow 团队开发,是一个用于对齐大语言模型(LLM)的开源配方,专注于在线迭代 RLHF(在线迭代基于人类反馈的强化学习)和在线迭代 DPO(直接偏好优化)。近期 LLM 文献广泛报道,在线迭代 RLHF 显著优于其离线版本,然而现有开源 RLHF 项目大多局限于离线学习设定。本仓库旨在填补这一空白,提供详细且易于复现的在线迭代 RLHF 配方。

主要能力

  • 完整的在线迭代训练流程:包含监督微调(SFT)、奖励建模(RM)、数据生成、数据标注和迭代训练等步骤。
  • 预训练模型与数据集:提供多个 SFT 检查点(如 RLHFlow/LLaMA3-SFT、RLHFlow/LLaMA3-SFT-v2 等)、奖励模型(如 Bradley-Terry 模型、生成式成对偏好模型、多专家聚合的多头奖励模型)以及 RLHF 模型(多个迭代版本)。同时提供 SFT 数据集和提示集。
  • 仅使用开源数据达到优异效果:使用该配方,仅用开源数据即可实现与 LLaMA3-8B-instruct 相当甚至更好的结果。
  • 支持 VLLM 加速推理:数据生成阶段使用 VLLM 加速,并提供两种推理方式(直接推理和 API 服务器)。

使用方式

仓库提供分步指导:

  1. 环境安装:建议分别为推理和训练创建独立环境。注意 numpy 版本需小于 2.0。SFT 环境还需安装 wandb 并登录 Hugging Face 账户(以访问 Gemma);训练环境需安装 wandb 并登录 Hugging Face 账户(以访问 LLaMA3 模型)。
  2. 步骤 1:监督微调(SFT):将 SFT 数据处理为标准格式(参考 RLHFlow/RLHFlow-SFT-Dataset-ver2),可通过命令或修改 yaml 配置文件调整学习率、批大小等。若遇到内存不足,可使用 Gemma-2b-it 配合 deepspeed stage 3 和梯度检查点。
  3. 步骤 2:奖励建模:训练奖励/偏好模型,仓库提供了多个 SOTA 开源奖励模型(如 sfairXC/FsfairX-LLaMA3-RM-v0.1、RLHFlow/pair-preference-model-LLaMA3-8B、RLHFlow/ArmoRM-Llama3-8B-v0.1)。
  4. 步骤 3.1:数据生成:使用准备好的提示集(如 UltraFeedback 系列、迭代提示集),通过 VLLM 生成响应,可创建 test_gen.sh 并运行,或使用 API 服务器。
  5. 步骤 3.2:数据标注:调用步骤 2 训练的奖励/偏好模型对生成的响应进行排序。
  6. 步骤 3.3:训练:运行迭代训练,若遇到 CUDA 错误需根据 GPU 调整配置文件中的 num_of_process。
  7. 自动化迭代:仓库将所有步骤整合,可自动运行迭代训练(注意 sleep 1m 等待 API 注册,需根据环境调整)。

适用场景

适用于希望复现或改进在线迭代 RLHF 的研究人员、开发者,特别是那些关注大语言模型对齐、偏好学习、强化学习从人类反馈等方向的工作。也适合作为在线 RLHF 教学和实验的参考实现。

限制

  • 需要较强的计算资源(训练和推理环境分开,建议使用 deepspeed 等优化)。
  • 依赖特定软件版本(numpy<2.0),部分错误需调整 transformer 版本或配置。
  • 目前仓库主要针对 LLaMA3-8B 等模型,其他模型可能需要适配。
  • 详细的技术报告和 Hugging Face 仓库可进一步参考。