结合DeepSeek-R1强化学习方法的视觉模型!VLM-R1:输入描述就能精确定位图像目标

本文涉及的产品
图像搜索,任选一个服务类型 1个月
简介: VLM-R1 是基于强化学习技术的视觉语言模型,通过自然语言指令精确定位图像目标,支持复杂场景推理与高效训练。

❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!

🥦 AI 在线答疑 -> 智能检索历史文章和开源项目 -> 尽在微信公众号 -> 搜一搜:蚝油菜花 🥦


🚀 "图像标注要失业?浙大黑科技让AI用自然语言‘指哪打哪’,蛋白质识别精确到像素!"

大家好,我是蚝油菜花。你是否经历过——

  • 👉 标注海量医学图像时,反复框选到腱鞘炎发作
  • 👉 电商场景中找“带金属扣的米色包包”,人工筛选耗时2小时
  • 👉 科研论文里定位“蛋白质含量最高的区域”,肉眼对比看到头晕...

今天揭秘的 VLM-R1 ,正在用强化学习重新定义视觉定位!这个由浙江大学开源的多模态AI:

  • ✅ 听得懂人话:直接输入“左下方破损的轮胎”,秒级输出精准边界框
  • ✅ 跨领域通吃:从医疗影像到街景识别,零样本性能吊打传统模型
  • ✅ 训练极简:4步完成私有化部署,单张GPU就能跑

更震撼的是,它在食品检测中能通过X光图指出“钙含量最高的鱼骨”,连生物学家都直呼专业——你的图像标注工作流准备好被颠覆了吗?

🚀 快速阅读

VLM-R1 是一款基于强化学习技术的视觉语言模型,能够通过自然语言指令精确定位图像目标,并支持多模态推理。

  1. 指代表达理解:解析自然语言指令,精准定位图像中的特定目标。
  2. 强化学习优化:采用 GRPO 技术,在复杂场景下表现出色,提升泛化能力。

VLM-R1 是什么

VLM-R1

VLM-R1 是浙江大学 Om AI Lab 开发的一款基于强化学习技术的视觉语言模型,旨在通过自然语言指令精确定位图像中的目标物体。例如,用户可以通过描述“图中红色的杯子”来让模型找到对应的图像区域。该模型基于 Qwen2.5-VL 架构,结合了 DeepSeek R1 的强化学习方法,通过强化学习优化和监督微调(SFT)提升了模型的稳定性和泛化能力。

VLM-R1 不仅在复杂场景中表现出色,还能处理跨域数据,展现出强大的视觉内容理解能力。其高效的训练与推理机制,使其成为开发者快速上手的理想选择。

此外,VLM-R1 的开源性为研究者和开发者提供了完整的训练和评估流程,仅需四步即可开始训练,降低了使用门槛。

VLM-R1 的主要功能

  • 指代表达理解(REC):解析自然语言指令,精确定位图像中的特定目标,如根据描述“图中红色的杯子”找到对应区域。
  • 图像与文本联合处理:支持同时输入图像和文字,生成准确的分析结果。
  • 强化学习优化:通过 GRPO(Group Relative Policy Optimization)技术,提升模型在复杂场景下的表现和泛化能力。
  • 高效训练与推理:采用 Flash Attention 等技术,支持单 GPU 训练大规模参数模型,提升计算效率。
  • 多模态推理与知识生成:不仅能识别图像内容,还能进行逻辑推理和文本表达,例如识别蛋白质含量最高的食物并解释原因。
  • 易用性与开源性:提供完整的训练和评估流程,开发者可以快速上手,四步即可开始训练。

VLM-R1 的技术原理

VLM-R1-performance

  • GRPO 强化学习技术:采用 Group Relative Policy Optimization(GRPO)方法,使模型在复杂场景下自我探索,减少对大量标注数据的依赖。
  • 泛化能力与稳定性提升:相比传统的监督微调(SFT)方法,VLM-R1 在领域外测试数据中表现出持续提升的性能,表明其真正掌握了视觉内容的理解能力,而不仅仅是依赖记忆。
  • 基于 Qwen2.5-VL 架构:在 Qwen2.5-VL 的基础上开发,通过强化学习优化,在多种复杂场景中保持稳定和高效的性能。

如何运行 VLM-R1

1. 环境搭建

在开始运行 VLM-R1 模型之前,需要配置运行环境。以下是环境搭建的步骤:

conda create -n vlm-r1 python=3.10
conda activate vlm-r1
bash setup.sh

通过上述命令,创建并激活一个名为 vlm-r1 的 Python 环境,并运行 setup.sh 脚本来安装依赖。

2. 数据准备

VLM-R1 模型的训练需要准备图像数据和标注文件。以下是数据准备的详细步骤:

2.1 下载图像数据

下载COCO Train2014 图像数据并解压,将图像文件夹路径记为 <your_image_root>

2.2 下载标注文件

下载RefCOCO/+/g 和 RefGTA 标注文件并解压。RefGTA 用于域外评估。

2.3 配置标注文件路径

src/open-r1-multimodal/data_config/rec.yaml 文件中,填写标注文件的路径。例如:

datasets:
    - json_path: /path/to/refcoco_train.json
    - json_path: /path/to/refcocop_train.json
    - json_path: /path/to/refcocog_train.json

3. 模型训练

VLM-R1 提供了两种训练方法:GRPO 和 SFT。以下是两种方法的详细步骤。

3.1 GRPO 方法

运行以下命令以启动 GRPO 方法的训练:

cd src/open-r1-multimodal

torchrun --nproc_per_node="8" \
    --nnodes="1" \
    --node_rank="0" \
    --master_addr="127.0.0.1" \
    --master_port="12346" \
    src/open_r1/grpo_rec.py \
    --deepspeed local_scripts/zero3.json \
    --output_dir output/$RUN_NAME \
    --model_name_or_path Qwen/Qwen2.5-VL-3B-Instruct \
    --dataset_name data_config/rec.yaml \
    --image_root <your_image_root> \
    --max_prompt_length 1024 \
    --num_generations 8 \
    --per_device_train_batch_size 1 \
    --gradient_accumulation_steps 2 \
    --logging_steps 1 \
    --bf16 \
    --torch_dtype bfloat16 \
    --data_seed 42 \
    --report_to wandb \
    --gradient_checkpointing false \
    --attn_implementation flash_attention_2 \
    --num_train_epochs 2 \
    --run_name $RUN_NAME \
    --save_steps 100 \
    --save_only_model true

如果遇到 CUDA out of memory 错误,可以尝试以下方法:

  1. 设置 gradient_checkpointingtrue
  2. 减少 num_generations 的值。
  3. 使用 LoRA 方法。

3.2 SFT 方法

首先,克隆LLaMA-Factory仓库并安装依赖:

git clone https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
pip install -e ".[torch,metrics]"

接着,下载提供的 dataset_info.jsonmllm_rec_json.jsonqwen2_5_vl_full_sft.yaml 文件,分别放置在 LLaMA-Factory/dataLLaMA-Factory/examples/train_full 目录中。

最后,运行以下命令以启动 SFT 方法的训练:

llamafactory-cli train examples/train_full/qwen2_5_vl_full_sft.yaml

4. 自定义数据支持

VLM-R1 支持自定义数据的加载,数据格式需为 JSONL 文件。以下是数据格式示例:

{
   "id": 1, "image": "Clevr_CoGenT_TrainA_R1/data/images/CLEVR_trainA_000001_16885.png", "conversations": [{
   "from": "human", "value": "<image>What number of purple metallic balls are there?"}, {
   "from": "gpt", "value": "0"}]}

4.1 注意事项

  1. JSONL 文件中的图像路径应为相对于 --image_folders 指定的文件夹路径。
  2. 多个数据文件和图像文件夹可以通过 : 分隔。例如:
    --data_file_paths /path/to/data1.jsonl:/path/to/data2.jsonl \
    --image_folders /path/to/images1/:/path/to/images2/
    

4.2 加载自定义数据

运行以下命令以加载自定义数据:

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 local_scripts/zero3.json \
    --dataset_name <your_dataset_name> \
    --data_file_paths /path/to/your/data.jsonl \
    --image_folders /path/to/your/image/folder/

5. 模型评估

模型训练完成后,可以使用以下命令进行评估:

cd ./src/eval

# 修改脚本中的模型路径、图像根目录和标注文件路径
python test_rec_r1.py # 用于 GRPO 方法
python test_rec_baseline.py # 用于 SFT 方法

资源


❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!

🥦 AI 在线答疑 -> 智能检索历史文章和开源项目 -> 尽在微信公众号 -> 搜一搜:蚝油菜花 🥦

相关文章
|
6月前
|
机器学习/深度学习 人工智能 编解码
AIMv2:苹果开源多模态视觉模型,自回归预训练革新图像理解
AIMv2 是苹果公司开源的多模态自回归预训练视觉模型,通过图像和文本的深度融合提升视觉模型的性能,适用于多种视觉和多模态任务。
230 5
AIMv2:苹果开源多模态视觉模型,自回归预训练革新图像理解
|
6月前
|
人工智能 自然语言处理 API
Proxy Lite:仅3B参数的开源视觉模型!快速实现网页自动化,支持在消费级GPU上运行
Proxy Lite 是一款开源的轻量级视觉语言模型,支持自动化网页任务,能够像人类一样操作浏览器,完成网页交互、数据抓取、表单填写等重复性工作,显著降低自动化成本。
490 11
Proxy Lite:仅3B参数的开源视觉模型!快速实现网页自动化,支持在消费级GPU上运行
|
7月前
|
存储 自然语言处理 监控
基于DeepSeek的智能客服系统安全与隐私保护:构建可信赖的服务
在前四篇文章中,我们完成了智能客服系统的开发、部署、优化和扩展。本文聚焦于安全与隐私保护,探讨如何构建安全可靠的智能客服系统。内容涵盖数据安全(加密、脱敏、备份)、系统安全(输入验证、身份认证、日志监控)和隐私保护(隐私政策、数据最小化、访问控制),确保用户数据安全及系统稳定运行。通过这些措施,我们可以打造一个可信赖的智能客服系统,为用户提供更好的服务体验。
|
7月前
|
存储 人工智能 文字识别
MME-CoT:多模态模型推理能力终极评测!六大领域细粒度评估,港中大等机构联合推出
MME-CoT 是由港中文等机构推出的用于评估大型多模态模型链式思维推理能力的基准测试框架,涵盖数学、科学、OCR、逻辑、时空和一般场景等六个领域,提供细粒度的推理质量、鲁棒性和效率评估。
350 0
|
7月前
|
人工智能 自然语言处理 数据可视化
OneCode 接入 DeepSeek:开启代码开发新纪元
OneCode 接入 DeepSeek,带来自然语言聊天式基础建模、本地代码工程无缝结合、图生代码功能全线升级及 AI 模型代码直接导入等新特性,极大提升开发效率与体验。预计第二季度推出开源版本,进一步推动开发者社区的开放与创新。这些改进使开发更加高效、便捷和智能,助力代码开发进入新纪元。
|
7月前
|
人工智能 数据可视化 数据处理
PySpur:零代码构建AI工作流!开源可视化拖拽平台,支持多模态与RAG技术
PySpur 是一款开源的轻量级可视化 AI 智能体工作流构建器,支持拖拽式界面,帮助用户快速构建、测试和迭代 AI 工作流,无需编写复杂代码。它支持多模态数据处理、RAG 技术、文件上传、结构化输出等功能,适合非技术背景的用户和开发者快速上手。
485 5
|
7月前
|
人工智能 JSON PyTorch
TPO:告别微调!这个AI框架让大模型实时进化:无需训练直接优化,输入问题越用越聪明,输出质量暴涨50%
TPO(Test-Time Prompt Optimization)框架,通过奖励模型和迭代反馈优化大语言模型输出,无需训练即可显著提升性能,支持动态对齐人类偏好,降低优化成本。
493 8
TPO:告别微调!这个AI框架让大模型实时进化:无需训练直接优化,输入问题越用越聪明,输出质量暴涨50%
|
7月前
|
人工智能 前端开发 API
MoneyPrinterTurbo:23.9K Star!这个AI把写文案+找素材+剪视频全包了,日更10条不是梦
MoneyPrinterTurbo 是一款功能强大的 AI 工具,支持通过主题或关键词自动生成视频文案、素材、字幕与背景音乐,并合成高清短视频,适合批量生成与多语言支持。
481 4
|
7月前
|
人工智能 自然语言处理 搜索推荐
PhotoDoodle:设计师必备!AI一键生成装饰元素,30+样本复刻风格+无缝融合的开源艺术编辑框架
PhotoDoodle 是由字节跳动、新加坡国立大学等联合推出的艺术化图像编辑框架,能够通过少量样本学习艺术家的独特风格,实现照片涂鸦和装饰性元素生成。
230 1
PhotoDoodle:设计师必备!AI一键生成装饰元素,30+样本复刻风格+无缝融合的开源艺术编辑框架
|
7月前
|
人工智能 自然语言处理 前端开发
Flame:开源AI设计图转代码模型!生成React组件,精准还原UI+动态交互效果
Flame 是一款开源的多模态 AI 模型,能够将 UI 设计图转换为高质量的现代前端代码,支持 React 等主流框架,具备动态交互、组件化开发等功能,显著提升前端开发效率。
868 1

热门文章

最新文章