R1-Multimodal-Journey(又名 MM-Eureka V0)是一个面向多模态大模型强化学习探索的开源项目,其最新版本已迁移至 MM-Eureka(FanqingM/MM-Eureka-V0),官方同时在 https://github.com/ModalMinds/MM-EUREKA 公布了更新的代码、更强的模型以及包括数据在内的全开源内容。
用途
项目聚焦于探索 R1 式强化学习(RL)在更具挑战性问题上的有效性,尤其是几何问题,并验证该训练范式在视觉语言模型(VLM)上的表现。
主要能力与发现
- 支持 vLLM,使训练过程显著加速,官方描述其比 OpenR1-MM 快 5-6 倍。
- 修复了 Open-R1-Multimodal 中的部分 bug,例如 get_per_token_logps 函数。
- 将 transformers 升级至 4.49.0.dev0 以支持 Qwen2.5_VL。
- 训练数据方面,目前使用 geo170k 中的 2 万条样本。
- 实验发现:即使模型小至 3B 且在 instruct 设置下,“aha moment”也可在训练最开始出现,官方给出了仅训练 10 步时的样本。
- VLM 似乎难以表现出与 LLM 相似的长度增长模式;项目测试了多种数据集,未能复现 simpleRL-reason 中观察到的长度增长曲线,但评估中确实观察到性能提升。
- 尽管 R1 的 RL 仅基于答案正确性提供奖励,但相比 SFT 仍展现出更高的数据效率,官方在 mathvista-testmini 集上进行了比较。
- 项目认为 VLM 难以达到类似 LLM 的 R1 时刻,原因在于缺乏高质量数据;当前多模态推理数据显著少于语言数据,这使得模型在 geo170k 等简单数据集上难以表现出长度增长,且容易过拟合。
- 官方发现 OpenR1-Multimodal 速度慢是生成慢导致其他进程等待,改用 vLLM 后显著降低了训练时间(在 8 张 H100、20k Geo170k 样本条件下)。
使用方式
- 数据准备:在 local_scripts/gen_dataset.py 中修改必要的输入/输出路径;运行 python local_scripts/gen_dataset.py 准备数据集。与 Open-R1-Multimodal 直接以 PIL 格式存储图像不同,本项目存储图像路径(URL 或本地路径)以支持 vLLM。
- 训练:在 local_scripts/train_qwen2_5_3b.sh 中修改必要的输入/输出路径;执行 sh local_scripts/train_qwen2_5_3b.sh。默认设置下,vLLM 使用 cuda:7 进行生成,其余 7 个节点用于训练。
- 评估:运行 python eval/evaluate_mathvista.py --checkpoint ${CHECKPOINT} --datasets MathVista_testmini,在 MathVista_testmini 上评估检查点。
依赖与致谢
项目代码库基于 Open-R1-Multimodal 构建,并整合了来自 vLLM、Open-R1 与 trl 的开源贡献;同时感谢 DeepSeek-R1 与 Qwen2.5-VL 提供的开源技术与基座模型。核心贡献者(同等贡献,按字母排序)为 Lingxiao Du、Xiangyan Liu、Fanqing Meng。
限制
官方明确表示最新版本位于 MM-Eureka,并建议关注其后续进展。关于收费、价格、平台支持范围、具体许可协议以及其他未在资料中提及的功能与效果,暂未提供。