MM-EUREKA 是 ModalMinds 开源的多模态推理研究项目,目标是通过基于规则的强化学习(Rule-based Reinforcement Learning)探索多模态推理的前沿。项目基于 OpenRLHF 构建,并针对视觉语言模型(VLM)的强化学习训练做了多项扩展。
用途与目标 MM-EUREKA 旨在将大规模基于规则的强化学习扩展到多模态推理领域,提升模型在数学、物理、化学、生物等多学科 K12 任务以及多模态数学推理上的表现。项目发布了 MM-Eureka-Qwen-7B 和 MM-Eureka-Qwen-32B 两个多模态推理模型,并开源完整训练流程。
主要能力 项目在模型、算法与数据三个方面进行了改进:
- 模型:MM-Eureka-Qwen-7B 在 MMK12 评测集上得分 66.1,仅比 InternVL-2.5-78B 低 0.2 分;在 MathVista(testmini)上达到 73.0,超过 InternVL-2.5-78B。MM-Eureka-Qwen-32B 在 MMK12 上得分 72.3,超过 Qwen2.5-VL-72B(70.3)和 Gemini2-Flash,仅次于 o1(73.9);在 WeMath 上得分 73.4,在 MathVista 上达到 74.8。
- 算法:项目进一步迭代代码库,支持 Online Filter、ADORA、DAPO 等算法;提出 CPGD(Clipped Policy Gradient Optimization with Policy Drift),实验表明其比 GRPO 更稳定、表现更好;发布 MM-PRM 过程奖励模型,用于多模态数学推理的步骤级监督。
- 数据:开源了自行采集的 MMK12 数据集,包含 15k 多样高质量样本以及 2k 道数学、物理、化学、生物选择题用于评估。
技术增强(基于 OpenRLHF)
- 多模态 RFT 支持:扩展 OpenRLHF 以支持视觉语言模型,目前支持 InternVL,并支持 RLOO、REINFORCE++、GRPO 训练(使用 Ray)、vLLM 集成与分布式训练、混合引擎(--colocate_all_models、--vllm_enable_sleep)。
- 更好的规则奖励支持:提供规则奖励(格式奖励、准确率奖励、重复惩罚)的训练可视化。
- 增强的在线过滤:使用 --enable_accuracy_filter、--freezing_filter_steps、--accuracy_lower_bound、--accuracy_upper_bound 在训练中基于准确率奖励过滤经验。
- ADORA:通过 --use_adora 和 --adora_lamda 启用自适应在线 Rollout 调整。
- DAPO:通过 --use_dapo 启用 DAPO 损失。
- CPGD:通过 --use_cpg_loss 和 --use_policy_drift 启用 CPGD 损失;--policy_drift_coef 控制策略漂移正则项权重,--policy_drift_clip_eps 控制策略漂移的裁剪范围;--use_clip_filter_like_weight 启用 CPGD 提出的 clip-filter-like 权重,--clip_filter_like_weight_clip_eps 控制其裁剪范围。示例脚本位于 MM-EUREKA/examples/scripts/ 目录下。
稳定训练的关键修改
- 基础模型从 InternVL2.5-8B-Instruct 升级为 Qwen2.5-VL-7B-Instruct;
- 训练期间冻结 Vision Transformer(ViT)模块;
- 底层 RL 算法从 RLOO 替换为 GRPO;
- 数据过滤策略从离线转为在线;
- 额外收集 K12 数据,总数据集规模扩展至 15,000 条样本。
使用方式
- 数据准备:可从 MMK12 下载训练数据;自定义数据集需格式化为 JSONL 文件。
- 开始训练:确保训练脚本中的路径正确,并配置好 $MASTER_ADDR、$NODE_RANK 等环境变量。单节点运行 sh examples/scripts/train_mm_eureka_qwen_7b_single_node.sh;多节点运行 sh examples/scripts/train_mm_eureka_qwen_7b_multi_node.sh。
适用场景 适用于多模态推理研究、多学科 K12 任务评测、多模态数学推理、强化学习算法(GRPO、RLOO、DAPO、CPGD 等)实验,以及视觉语言模型的规则奖励训练。
限制与说明 项目仍处于积极开发中。关于具体商业使用、收费、价格、平台支持范围、效果保证等信息,资料中暂未提供。项目致谢 OpenRLHF、LMM-R1、vLLM、DeepSeek-R1、InternVL 和 QwenVL 等开源贡献。