VLM-R1

用强化学习让视觉模型学会推理,少数据也能提升定位精度。

VLM-R1 是一个将强化学习(RL)应用于视觉语言模型(VLM)的开源项目,旨在提升模型在视觉理解任务中的推理能力。它基于 DeepSeek-R1 的 RL 训练范式,通过可验证的奖励(如目标检测的 IoU 和 Grounding 任务的准确率)来优化模型,而非依赖传统的 SFT 或人工反馈。项目解决了纯监督微调在视觉推理中泛化不足的问题,核心能力包括:支持多种 VLM 架构(如 Qwen2-VL)、提供完整的 RL 训练流程(数据、奖励函数、训练脚本)、以及针对目标定位(Grounding)等任务的显著性能提升。该项目为社区提供了将 RL 引入多模态推理的参考实现,并展示了在少量训练步数下即可超越 SFT 基线的效果。

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

项目数据

分类开源模型
开发团队om-ai-lab
所属国家
官网地址
定价模式free
价格说明开源模型,Apache-2.0许可,可自由使用和部署,无收费计划。
访问状态
是否开源是
开源协议Apache-2.0
主要语言Python
技术栈/模型deepseek-r1,grpo,llm,multimodal,multimodal-r1,qwen,r1-zero,reinforcement-learning,vlm,vlm-r1
GitHub 星标★ 6028
30天Star增速
HF 下载量
上线时间2025-02-06 00:00:00
最近更新2026-09-21 00:00:00
维护状态维护中
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数8

使用教程

难度:进阶 约 30 分钟 部署方式:本地安装 5 步

环境要求

  • Linux 环境,具备 conda 包管理工具
  • Python 3.10(README 指定)
  • 支持多卡并行的 GPU 环境(示例使用 8 卡 torchrun)
  • 准备好用于训练的 jsonl 数据文件与对应图片目录

安装与启动步骤

  1. 1创建 conda 环境

    用 Python 3.10 新建名为 vlm-r1 的独立环境,避免与系统 Python 冲突。

    conda create -n vlm-r1 python=3.10
  2. 2激活环境

    进入刚创建的环境后,后续所有安装与训练命令都在该环境中执行。

    conda activate vlm-r1
  3. 3执行安装脚本

    在项目根目录运行 setup.sh 完成依赖安装;需先克隆仓库并 cd 进入项目目录。

    bash setup.sh
  4. 4准备训练数据

    按 README 使用 jsonl 格式数据文件,并准备对应图片文件夹;多个路径用冒号分隔。

  5. 5启动 GRPO 训练

    参照 run_grpo_rec.sh 示例,用 torchrun 启动 grpo_jsonl.py;把模型、数据、图片路径替换成自己的实际值。

    torchrun --nproc_per_node="8" 
        --nnodes="1" 
        --node_rank="0" 
        --master_addr="127.0.0.1" 
        --master_port="12345" 
      src/open_r1/grpo_jsonl.py 
        --output_dir output/$RUN_NAME 
        --model_name_or_path Qwen/Qwen2.5-VL-3B-Instruct 
        --deepspeed ${REPO_HOME}/src/open-r1-multimodal/local_scripts/zero3.json 
        --data_file_paths /path/to/your/data.jsonl 
        --image_folders /path/to/your/image/folder

关键配置

配置项必填说明示例
model_name_or_path是指定要训练的基础 VLM 模型Qwen/Qwen2.5-VL-3B-Instruct
data_file_paths是训练数据 jsonl 路径,多个用冒号分隔/path/to/your/data.jsonl
image_folders是图片所在目录,多个用冒号分隔/path/to/your/image/folder
output_dir是训练输出目录output/$RUN_NAME
deepspeed是DeepSpeed 配置文件路径${REPO_HOME}/src/open-r1-multimodal/local_scripts/zero3.json
master_port否分布式训练通信端口12345

如何确认成功

setup.sh 执行无报错;torchrun 启动后终端持续输出训练日志,且 output/$RUN_NAME 目录生成结果文件。

常见问题

Q:没有多卡 GPU 能跑吗?

A:README 示例使用 8 卡(nproc_per_node=8),单卡需自行调整并行参数,官方未给出单卡示例。

Q:数据路径怎么写多个?

A:README 注明 data_file_paths 与 image_folders 均可传多个,用冒号 ":" 分隔。

Q:训练脚本入口在哪?

A:入口为 src/open_r1/grpo_jsonl.py,仓库中 run_grpo_rec.sh 是可直接参考的完整示例。

Q:不想自己训练怎么办?

A:可直接使用官方在 Hugging Face 与 ModelScope 上发布的 Checkpoints 与在线 Demo。

注意事项

  • 命令中的 /path/to/your/... 与 $RUN_NAME 需替换成自己的真实路径和名称。
  • conda 环境的 Python 版本必须为 README 指定的 3.10。
  • 训练依赖 DeepSpeed 与多卡环境,请先确认机器资源与通信端口可用。
  • 完整参数与更多任务配置以仓库内 run_grpo_rec.sh 和 README 为准。

核心亮点

  • 开创性地将 RL 引入 VLM 推理训练,超越传统 SFT 效果
  • 提供完整可复现的训练流程,支持 Qwen2-VL 等主流模型
  • 在 Grounding 任务上仅用少量数据即可显著提升性能

不足之处

  • 训练资源需求较高,普通开发者难以直接复现
  • 文档和社区生态尚在早期,工具链不够完善

适用场景

  • 目标检测与定位任务的模型微调
  • 多模态推理能力的研究与实验
  • 探索 RL 在视觉语言模型中的应用

替代项目

LLaVA、Qwen2-VL、DeepSeek-R1

项目介绍

VLM-R1 是模型训练领域的开源项目,由 om-ai-lab 开发,2025 年首次发布。

在全站 13,090 个收录项目中,它的 GitHub 星标数(6,028)位列前 8%,在模型训练分类的 522 个项目里位列前 8%。

项目仍在小幅维护中,最近一次代码更新于 2026-09-21。Apache-2.0许可,可自由使用和部署,无收费计划。

它主要面向的使用场景是:目标检测与定位任务的模型微调。同类可对比的替代方案包括 LLaVA、Qwen2-VL、DeepSeek-R1。

上一篇:whichllm

下一篇:chronos-forecasting

同类项目推荐

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