EasyR1

GitHub
4.9k 366 中等 1 次阅读 今天Apache-2.0语言模型Agent开发框架图像
AI 解读 由 AI 自动生成,仅供参考

EasyR1 是一个高效、可扩展的多模态强化学习(RL)训练框架,基于 veRL 项目优化而来,专为视觉 - 语言模型设计。它主要解决了大模型在强化学习训练中效率低、扩展性差以及多模态支持不足的痛点,让开发者能够更轻松地利用 GRPO、DAPO 等先进算法对模型进行微调。

无论是研究人员还是 AI 工程师,只要需要训练 Llama3、Qwen2-VL 或 DeepSeek-R1 等主流模型,EasyR1 都能提供强有力的支持。其独特亮点在于集成了 HybridEngine 架构与 vLLM 的 SPMD 模式,显著提升了训练速度与资源利用率。此外,它还支持无填充训练、LoRA 高效微调、断点续训以及多种实验追踪工具(如 Wandb、Tensorboard),并兼容文本及图文混合数据集。

在硬件需求上,EasyR1 通过优化显存占用,使得在消费级显卡上运行小规模模型微调成为可能,同时也支持大规模集群部署。只需简单几步配置,用户即可在 Geometry3K 等数据集上快速启动训练任务。对于希望探索多模态大模型强化学习应用的技术团队而言,EasyR1 提供了一个开箱即用且性能卓越的基础设施选择。

使用场景

某自动驾驶初创公司的算法团队正致力于提升车载视觉语言模型在复杂路况下的决策准确率,急需通过强化学习对 Qwen2.5-VL 模型进行微调。

没有 EasyR1 时

  • 多模态训练支持缺失:原有的 veRL 框架主要面向纯文本模型,团队需耗费数周修改底层代码才能勉强支持图像输入,且极易引发兼容性问题。
  • 显存资源严重浪费:缺乏 HybridEngine 优化和 Padding-free 技术,处理长短不一的图像 - 文本对时需强制填充,导致 7B 模型训练需占用 8 张 40GB 显卡,成本高昂。
  • 算法迭代缓慢:想尝试最新的 DAPO 或 GSPO 算法以提升收敛速度,但原生框架不支持,自行复现论文算法不仅难度大且稳定性差。
  • 调试监控困难:缺乏集成的可视化追踪工具,训练过程中的奖励波动和策略变化难以实时捕捉,排查问题如同“盲人摸象”。

使用 EasyR1 后

  • 开箱即用的多模态支持:直接加载 Qwen2.5-VL 模型和 Geometry3K 格式数据集,无需修改核心代码即可启动视觉强化学习训练。
  • 显存效率大幅提升:借助 Padding-free 训练和 LoRA 微调技术,同等 7B 模型仅需 2 张 32GB 显卡即可运行,硬件门槛降低 75%。
  • 前沿算法一键切换:配置文件只需修改一行参数,即可在 GRPO、DAPO、GSPO 等多种先进算法间自由切换,快速验证最优策略。
  • 全链路可视监控:内置 Wandb 和 SwanLab 支持,训练曲线、奖励分布实时呈现,团队能迅速定位策略崩溃点并调整超参。

EasyR1 通过极致的工程优化和算法集成,将多模态强化学习的落地门槛从“专家级”降至“工程师级”,让团队能专注于策略创新而非基建重复造轮子。

运行环境要求

操作系统
  • Linux
GPU
  • 必需 NVIDIA GPU
  • 显存需求取决于模型大小和训练方式:1.5B 模型 LoRA 训练需 12GB,72B 模型全量微调需 32*80GB
  • 支持 CUDA 12.9 (基于提供的 Docker 镜像)
内存

未说明

依赖
notes强烈建议使用提供的 Docker 镜像 (hiyouga/verl) 或 Apptainer 部署环境以简化配置。支持多节点分布式训练(需安装 Ray)。若使用 BF16 精度训练,需在配置中指定 torch_dtype=bf16 和 optim.strategy=adamw_bf16。国内用户可设置环境变量使用 ModelScope 或 Hugging Face 镜像加速模型下载。
python3.9+
transformers>=4.54.0
flash-attn>=2.4.3
vllm>=0.8.3
EasyR1 hero image

快速开始

EasyR1:高效、可扩展的多模态强化学习训练框架

GitHub 仓库星级 Twitter Docker 拉取次数

亚马逊云科技 使用

本项目是对原 veRL 项目的干净分叉,以支持视觉语言模型。我们感谢所有作者提供了如此高性能的强化学习训练框架。

EasyR1 因 HybirdEngine 的设计以及最新发布的 vLLM 的 SPMD 模式而具备高效性和可扩展性。

特性

  • 支持的模型

    • Llama3/Qwen2/Qwen2.5/Qwen3 语言模型
    • Qwen2-VL/Qwen2.5-VL/Qwen3-VL 视觉语言模型
    • DeepSeek-R1 提炼模型
  • 支持的算法

    • GRPO
    • DAPO 新
    • Reinforce++
    • ReMax
    • RLOO
    • GSPO 新
    • CISPO 新
  • 支持的数据集

    • 任何符合 特定格式 的文本或视觉-文本数据集
  • 支持的技巧

    • 无填充训练
    • LoRA 训练 新
    • 从最新/最佳检查点恢复
    • Wandb、SwanLab、Mlflow 和 TensorBoard 追踪

需求

软件需求

  • Python 3.9+
  • transformers>=4.54.0
  • flash-attn>=2.4.3
  • vllm>=0.8.3

我们提供了一个 Dockerfile,方便构建环境。

我们推荐在 EasyR1 中使用 预构建的 Docker 镜像

docker pull hiyouga/verl:ngc-th2.8.0-cu12.9-vllm0.11.0
docker run -it --ipc=host --gpus=all hiyouga/verl:ngc-th2.8.0-cu12.9-vllm0.11.0

如果您的环境不支持 Docker,可以考虑使用 Apptainer

apptainer pull easyr1.sif docker://hiyouga/verl:ngc-th2.8.0-cu12.9-vllm0.11.0
apptainer shell --nv --cleanenv --bind /mnt/your_dir:/mnt/your_dir easyr1.sif

使用 USE_MODELSCOPE_HUB=1 可从 ModelScope 仓库下载模型。

硬件需求

* 估算

方法 位数 1.5B 3B 7B 32B 72B
GRPO 全量微调 AMP 2*24GB 4*40GB 8*40GB 16*80GB 32*80GB
GRPO 全量微调 BF16 1*24GB 1*40GB 4*40GB 8*80GB 16*80GB
GRPO LoRA 微调 AMP 1*12GB 1*24GB 2*32GB 2*80GB 4*80GB

[!NOTE] 使用 worker.actor.fsdp.torch_dtype=bf16worker.actor.optim.strategy=adamw_bf16 启用 bf16 训练。

教程:只需 3 步即可在 Geometry3K 数据集上运行 Qwen2.5-VL GRPO

image

安装

git clone https://github.com/hiyouga/EasyR1.git
cd EasyR1
pip install -e .

GRPO 全量训练

bash examples/qwen2_5_vl_7b_geo3k_grpo.sh

GRPO LoRA 训练

bash examples/qwen3_vl_4b_geo3k_grpo_lora.sh

以 Hugging Face 格式合并检查点

python3 scripts/model_merger.py --local_dir checkpoints/easy_r1/exp_name/global_step_1/actor

[!TIP] 如果连接 Hugging Face 时遇到问题,可以尝试使用 export HF_ENDPOINT=https://hf-mirror.com

如果想使用 SwanLab 日志记录器,可以尝试使用 bash examples/qwen2_5_vl_7b_geo3k_swanlab.sh

自定义数据集

请参考示例数据集来准备您自己的数据集。

如何理解 EasyR1 中的 GRPO

image

如何在多节点环境中运行 70B+ 模型

  1. 启动 Ray 主节点。
ray start --head --port=6379 --dashboard-host=0.0.0.0
  1. 启动 Ray 工作节点并连接到主节点。
ray start --address=<head_node_ip>:6379
  1. 检查 Ray 资源池。
ray status
  1. 仅在 Ray 主节点上运行训练脚本。
bash examples/qwen2_5_vl_7b_geo3k_grpo.sh

有关多节点训练和 Ray 调试器的更多详细信息,请参阅 veRL 官方文档

其他基线

我们还复现了 R1-V 项目的以下两个基线:

  • CLEVR-70k-Counting:在计数问题上训练 Qwen2.5-VL-3B-Instruct 模型。
  • GeoQA-8k:在 GeoQA 问题上训练 Qwen2.5-VL-3B-Instruct 模型。

性能基线

请参阅 baselines.md

使用 EasyR1 的优秀工作

待办事项

  • 支持 VLM 的 Ulysses 并行策略(中优先级)。
  • 支持更多 VLM 架构。

[!注意] 本项目不会提供监督微调和推理的脚本。如果您有此类需求,建议使用 LlamaFactory

已知问题

这些功能目前暂时禁用,我们计划在未来的更新中逐一修复。

  • 视觉语言模型目前尚不兼容 Ulysses 并行策略。

讨论群

👋 加入我们的 微信交流群

常见问题解答

ValueError: 图像特征与图像标记不匹配:标记数为 8192,特征数为 9800

请增加 data.max_prompt_length 或减少 data.max_pixels

RuntimeError: CUDA 错误:显存不足,位于 /workspace/csrc/cumem_allocator.cpp:62

请降低 worker.rollout.gpu_memory_utilization,并启用 worker.actor.offload.offload_params

RuntimeError: 活动驱动程序数量为 0([])。应仅有一个。

请从当前 Python 环境中卸载 deepspeed

引用

核心贡献者:Zheng YaoweiLu JuntingWang ShenzhiFeng ZhangchiKuang Dongdong,以及 Xiong Yuwen 和 Zhang Richong。

我们还要感谢 Sheng Guangming 和 Zhang Chi 提供的有益讨论。

@misc{zheng2025easyr1,
  title        = {EasyR1:高效、可扩展的多模态强化学习训练框架},
  author       = {Zheng Yaowei, Lu Junting, Wang Shenzhi, Feng Zhangchi, Kuang Dongdong, Xiong Yuwen, Zhang Richong},
  howpublished = {\url{https://github.com/hiyouga/EasyR1}},
  year         = {2025}
}

我们也建议同时引用原始工作:

@article{sheng2024hybridflow,
  title   = {HybridFlow:灵活高效的 RLHF 框架},
  author  = {Sheng Guangming, Zhang Chi, Ye Zilingfeng, Wu Xibin, Zhang Wang, Zhang Ru, Peng Yanghua, Lin Haibin, Wu Chuan},
  year    = {2024},
  journal = {arXiv 预印本 arXiv: 2409.19256}
}

版本历史

v0.3.22025/09/18
v0.3.12025/06/19
v0.3.02025/04/15

常见问题

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|1周前
Agent开发框架图像

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|1周前
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

159.6k|★★☆☆☆|今天
开发框架Agent语言模型

opencode

OpenCode 是一款开源的 AI 编程助手(Coding Agent),旨在像一位智能搭档一样融入您的开发流程。它不仅仅是一个代码补全插件,而是一个能够理解项目上下文、自主规划任务并执行复杂编码操作的智能体。无论是生成全新功能、重构现有代码,还是排查难以定位的 Bug,OpenCode 都能通过自然语言交互高效完成,显著减少开发者在重复性劳动和上下文切换上的时间消耗。 这款工具专为软件开发者、工程师及技术研究人员设计,特别适合希望利用大模型能力来提升编码效率、加速原型开发或处理遗留代码维护的专业人群。其核心亮点在于完全开源的架构,这意味着用户可以审查代码逻辑、自定义行为策略,甚至私有化部署以保障数据安全,彻底打破了传统闭源 AI 助手的“黑盒”限制。 在技术体验上,OpenCode 提供了灵活的终端界面(Terminal UI)和正在测试中的桌面应用程序,支持 macOS、Windows 及 Linux 全平台。它兼容多种包管理工具,安装便捷,并能无缝集成到现有的开发环境中。无论您是追求极致控制权的资深极客,还是渴望提升产出的独立开发者,OpenCode 都提供了一个透明、可信

144.3k|★☆☆☆☆|昨天
Agent插件

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

108.3k|★★☆☆☆|1周前
开发框架图像Agent

gemini-cli

gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。

100.8k|★★☆☆☆|1周前
插件Agent图像