VLM-R1 项目使用与启动教程
1. 项目介绍
VLM-R1 是由 om-ai-lab 开发的一款稳定且通用的 R1 风格的大型视觉语言模型。该模型在多个任务中表现出了卓越的性能,特别是在视觉理解任务上,例如指代表达式理解(REC)和开放词汇检测(OVD)。VLM-R1 的设计目标是提供一个能够适应多种任务,并具有良好泛化能力的模型。
2. 项目快速启动
首先,您需要在您的环境中创建并激活一个 Python 虚拟环境:
conda create -n vlm-r1 python=3.10
conda activate vlm-r1
接下来,安装项目所需的环境依赖:
bash setup.sh
为了快速启动项目,以下是一个基础的训练命令,用于 Referring Expression Comprehension(REC)任务:
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 8 \
--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 \
--freeze_vision_modules false
请确保替换 <your_image_root>
为您 COCO 训练图像的路径,并且已经下载并解压了 RefCOCO/+/g 和 LISA-Grounding 注释文件。
3. 应用案例和最佳实践
-
案例一:REC 任务训练
使用 GRPO 方法训练 REC 模型。在
data_config/rec.yaml
文件中配置数据集路径,然后运行上述提供的训练脚本。 -
案例二:使用 LoRA 微调
如果您想要使用 LoRA 微调方法,请运行以下脚本:
bash run_grpo_rec_lora.sh
-
案例三:多节点训练
如果您需要多节点训练,请参考
multinode_training_demo.sh
脚本。
4. 典型生态项目
VLM-R1 可以作为多个生态项目的基础,以下是一些典型的应用场景:
-
开放词汇检测(OVD):使用 VLM-R1 模型进行物体检测任务。
-
多模态数学推理:VLM-R1 模型在处理涉及数学推理的任务时表现出色。
-
自定义数据集:VLM-R1 可以适应不同的数据集,为特定任务定制模型。
以上是 VLM-R1 的基本介绍和快速启动指南,希望对您的项目有所帮助。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考