BAIZE AI RESOURCE

多模态模型强化学习训练工具

EasyR1

EasyR1 是面向语言模型和视觉语言模型的强化学习训练工具,提供多种训练算法及示例脚本,帮助具备算力和训练经验的用户开展数学推理、图文问答等模型训练。

EasyR1

资源介绍

EasyR1 是基于 veRL 项目扩展的强化学习训练工具,重点支持语言模型与视觉语言模型。它适合需要自行训练模型的研究人员和开发者,而不是打开网页即可对话的 AI 应用。用户可选择受支持的模型与 GRPO、DAPO 等算法,按要求准备文本或图文数据,再通过项目提供的示例脚本启动训练。仓库提供 Qwen2.5-VL 在 Geometry3K 数据集上的训练示例,也包含数学任务、多图问答等示例。项目支持从检查点恢复训练、记录训练过程,并可将检查点合并为 Hugging Face 格式。使用前需要准备 Python 环境、相关依赖及符合模型规模的 GPU 算力。

应用能力

训练语言与视觉语言模型

支持 Llama3、Qwen 系列语言模型,以及 Qwen2、Qwen2.5-VL 视觉语言模型,可面向文本和图文任务开展训练。

选择强化学习算法

提供 GRPO、DAPO、Reinforce++、ReMax 和 RLOO,便于针对训练任务选择算法。

使用自定义训练数据

支持按项目指定格式准备文本或图文数据;仓库列有数学、单图问答、多图问答和图文混合数据示例。

恢复并跟踪训练

支持从最新或最佳检查点恢复训练,并通过 Wandb、SwanLab、Mlflow 或 Tensorboard 记录训练过程。

合并训练检查点

提供 model_merger.py,可将训练检查点合并为 Hugging Face 格式。

资源配置

应用版本

v0.3.2

运行环境

LinuxDocker

安装方式

命令安装Docker部署包管理器安装其他

依赖环境

PythonCUDADocker其他

安装与使用

  1. 准备符合训练任务所需的 GPU 算力和 Python 3.9 及以上环境;也可使用项目提供的预构建 Docker 镜像。

  2. 获取 EasyR1 项目文件,进入项目目录并安装所需依赖。

  3. 选择与任务匹配的示例脚本,准备对应的模型和数据;使用自有数据时,需按项目要求整理格式。

  4. 运行示例脚本启动训练。训练完成后,如需 Hugging Face 格式的结果,可使用项目提供的检查点合并工具。

使用案例

训练几何图文问答模型

使用场景研究人员希望针对几何题图像训练 Qwen2.5-VL。

选用 Geometry3K 数据集和仓库提供的 GRPO 示例脚本,启动 Qwen2.5-VL 的图文强化学习训练。

开展数学推理训练

使用场景开发者希望为 Qwen 语言模型运行数学任务训练。

准备相应数学数据,选择仓库中的 Qwen 数学任务 GRPO 示例脚本开展训练。

包含内容

easyr1-source.zip
README-中文安装说明.md
LICENSE-Apache-2.0.txt
SHA256.txt

常见问题

EasyR1 支持哪些强化学习算法?
README 列出的算法包括 GRPO、DAPO、Reinforce++、ReMax 和 RLOO。
可以用自己的图文数据训练吗?
可以。项目支持符合指定格式的文本及图文数据,并列有 Geometry3K 图文数据和多图问答数据示例。
运行 EasyR1 需要什么环境?
README 要求 Python 3.9 或更高版本,并列出 transformers、flash-attn 和 vllm 等软件依赖;训练还需要 GPU 算力,显存需求随模型规模和训练设置变化。
训练中断后能否继续?
项目支持从最新或最佳检查点恢复训练。
如何获得 Hugging Face 格式的训练结果?
训练后可使用仓库中的 scripts/model_merger.py,将指定的 actor 检查点目录合并为 Hugging Face 格式。