Perception R1 使用教程
1. 项目介绍
Perception R1 是一个基于强化学习进行感知政策优化的可扩展框架。该框架在 MLLM(大规模语言模型)的微调训练后使用 Group Relative Policy Optimization(GRPO)算法。Perception R1 引入了感知困惑度分析,揭示了有效强化学习在感知任务中的关键阈值,提供了何时以及如何通过 RL 改善视觉理解的洞见。GRPO 优化使得政策学习可扩展,并且通过精心设计的基于规则的奖励塑造来实现。Perception R1 在多个视觉感知基准测试中实现了显著改进,尤其是在 COCO2017 验证集上达到了 31.9% 的 mAP,成为第一个达到此性能的 3B 规模 MLLM。
2. 项目快速启动
环境准备
首先,创建并激活一个新的 conda 环境:
conda create -n pr1 python=3.10 -y
conda activate pr1
克隆项目并安装依赖
接下来,克隆项目仓库并安装所需的依赖:
git clone https://github.com/linkangheng/PR1.git
cd PR1
pip install -e ".[dev]"
pip install flash-attn==2.7.0.post2 --no-build-isolation
训练
在开始训练之前,需要修改脚本来指定你的模型和数据路径。然后使用以下命令运行实验:
bash local_scripts/train/train_qwen2_2b_vl_grounding.sh
训练脚本包含了超参数配置、数据加载和模型检查点的全面配置。对于自定义训练场景,可以直接在脚本中调整参数,如学习率、批量大小和优化设置。
评估
评估前,需要从 Hugging Face 下载评估数据,并解压到 eval/
目录中。目录结构应如下:
eval/
├── images/
│ ├── coco/
│ ├── pixmo-count/
│ └── ocr/
└── jsons/
├── counting/
├── grounding/
├── ocr/
└── detection/
注意:COCO 图像不包含在数据包中,需要从 COCO 官方网站单独下载,并将其放置在 eval/images/coco/
目录中。
- 计数评估
python eval/evaluate_counting.py \
--model_path 'Kangheng/PR1-Qwen2-VL-2B-Counting' \
--anno_dir 'eval/jsons/counting/' \
--image_dir 'eval/images/'
- 定位评估
python eval/evaluate_grounding.py \
--model_path 'Kangheng/PR1-Qwen2-VL-2B-Grounding' \
--anno_dir 'eval/jsons/grounding/' \
--image_dir 'eval/images/coco/'
- 检测评估
pip install pycocotools
python eval/evaluate_detection.py \
--model_path 'Kangheng/PR1-Qwen2-VL-2B-Detection' \
--anno_dir 'eval/jsons/detection/coco_val2017.json' \
--image_dir 'eval/images/coco/val2017/'
- OCR 评估
python eval/evaluate_ocr.py \
--model_path 'Kangheng/PR1-Qwen2-VL-2B-OCR' \
--anno_dir 'eval/jsons/ocr/' \
--image_dir 'eval/images/ocr/'
3. 应用案例和最佳实践
-
案例 1:物体定位
使用 Perception R1 框架进行物体定位任务,通过微调和强化学习优化模型,可以在多个数据集上实现优于传统方法的定位精度。
-
最佳实践:奖励函数设计
在设计强化学习奖励函数时,应考虑任务的具体需求,合理设计基于规则的奖励塑造,以最大化模型性能。
4. 典型生态项目
目前,Perception R1 的生态项目包括但不限于以下:
- R1-V: 一个基于 Perception R1 的视觉理解项目。
- R1-Multimodal-Journey: 一个结合多模态信息的项目,用于提升感知任务的性能。
- open_r1: 一个开源的 Perception R1 扩展项目,旨在提供更多定制化的感知解决方案。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考