EasyR1 使用教程
1. 项目介绍
EasyR1 是一个基于 veRL 项目的高效、可扩展的多模态强化学习训练框架。它通过 HybirdEngine 设计和 vLLM 的最新版本 SPMD 模式,提供了对多种模型、算法和数据集的支持,适用于文本、视觉以及视觉-文本数据的多模态学习任务。
2. 项目快速启动
环境搭建
首先,您需要克隆 EasyR1 项目仓库:
git clone https://github.com/hiyouga/EasyR1.git
cd EasyR1
pip install -e .
模型训练
以下是使用 GRPO 算法在 Geometry3K 数据集上训练 Qwen2.5-VL 7B 模型的命令:
bash examples/qwen2_5_vl_7b_geo3k_grpo.sh
检查点合并
训练完成后,您可能需要将检查点合并为 Hugging Face 格式:
python3 scripts/model_merger.py --local_dir checkpoints/easy_r1/exp_name/global_step_1/actor
3. 应用案例和最佳实践
- 自定义数据集:请参考示例数据集准备您自己的数据集。文本数据集可以参考 Math12k,视觉-文本数据集可以参考 Geometry3k。
- 理解 GRPO 算法:要了解 GRPO 算法,您可以参考 Hugging Face 的博客。
- 多节点环境运行 70B+ 模型:请查看 veRL 官方文档,了解多节点训练和 Ray 调试器的使用。
4. 典型生态项目
- MMR1:推动多模态推理的前沿。
- Vision-R1:激励多模态大型语言模型的推理能力。
- Seg-Zero:通过认知强化进行推理链引导的分割。
- MetaSpatial:在 VLMs 中强化 3D 空间推理,用于元宇宙。