MM-Eureka:多模态推理新纪元!54K训练量吊打百万级模型,K12数学能力暴增8.2%

255 阅读6分钟

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

🥦 AI 在线答疑 -> 智能检索历史文章和开源项目 -> 丰富的 AI 工具库 -> 每日更新 -> 尽在微信公众号 -> 搜一搜:蚝油菜花 🥦


🧠 「学术界炸锅!这个AI用小学生作业量,解开了清华博士都头疼的难题」

大家好,我是蚝油菜花。你是否也经历过这些科研至暗时刻:

  • 👉 训个多模态模型要百万级数据,实验室GPU烧到冒烟
  • 👉 模型看见「鸡兔同笼」数学题,给出的答案是烤鸡腿火候指南
  • 👉 让AI分析心电图+病历,它却给你生成重金属摇滚歌单...

今天要揭秘的 MM-Eureka ,堪称AI界的"顿悟大师"!这个由上海AI实验室领衔打造的推理怪兽,仅用54K图文数据就完成了三大逆天操作:

  • 用8K数学题训练,K12测试直接碾压传统模型8.2%
  • 看图说话精度暴涨,1%数据量吊打百万级训练对手
  • 自带反思技能,会主动回溯图像细节找解题线索

更疯狂的是,它居然复现了人类才有的"啊哈时刻"——当识别到心电图异常波形时,会像资深医生一样反复比对病史数据!

🚀 快速阅读

MM-Eureka 是一款基于规则的大规模强化学习多模态推理模型。

  1. 核心功能:将文本推理中的关键特性(如准确率奖励和反思行为)扩展到多模态领域,显著提升推理能力。
  2. 技术原理:基于 OpenRLHF 开发的多模态强化学习框架,支持高效训练和数据过滤策略,确保模型在多模态环境中的稳定性和性能。

MM-Eureka 是什么

MM-EUREKA-cover

MM-Eureka 是由上海人工智能实验室、上海创智学院、上海交通大学和香港大学的研究人员共同开发的多模态推理模型。该模型通过基于规则的大规模强化学习(RL),将单模态推理中的关键特性(如稳定的回答长度增长、准确率奖励以及视觉顿悟时刻)扩展到多模态场景。

MM-Eureka 推出了两个核心模型:MM-Eureka-8B 和 MM-Eureka-Zero-38B,分别基于 InternVL2.5-Instruct-8B 和 InternVL2.5-Pretrained-38B。仅使用 54K 图文数据进行规则型强化学习训练,平均性能便超过了使用 1M 数据的 MPO 模型。MM-Eureka-Zero-38B 仅使用 8K 图文数学推理数据,在自建的 K12 基准测试上超越指令模型 8.2%,在 MathVerse 上表现相当。

MM-Eureka 的主要功能

MM-EUREKA-visual_aha_moment

  • 多模态推理能力:将大规模基于规则的强化学习(RL)扩展到多模态推理领域,能处理文本和视觉信息。
  • 复现关键特性:在多模态空间中复现了文本 RL 系统(如 DeepSeek-R1)的关键特性,包括准确率奖励和响应长度的稳步提升,以及反思行为的涌现。
  • 数据高效性:仅使用 54K 图文数据进行规则型 RL 训练,平均性能超过了使用 1M 数据的 MPO 模型,整体基准准确率与使用 12M 数据进行 CoT SFT 训练的模型相当。

MM-Eureka 的技术原理

  • 基于规则的大规模强化学习框架:MM-Eureka 基于 OpenRLHF 开发了高效可扩展的多模态大规模强化学习框架,支持 InternVL 等多种模型和 RL 算法。使模型能在多模态环境中进行有效的训练,成功复现了 DeepSeek-R1 的关键特性,如准确率奖励和响应长度的稳步提升。
  • 数据过滤与稳定训练:研究团队发现,数据选择对于稳定 RL 训练至关重要。基于难度的数据过滤策略对 RL 训练的稳定性起到了关键作用。
  • 视觉顿悟时刻(Visual aha-moment):MM-Eureka 在训练过程中展现出类似 DeepSeek-R1 的视觉顿悟时刻。具体表现为模型学会反思和回溯,会重新审视图像中的关键信息。
  • 极简的强化学习设计:极简的 RL 设计在 MM-Eureka 中被证明是有效的。在 instruct 模型上实验时,添加 KL 散度会限制模型探索,导致无法观测到响应长度的提高。 MM-Eureka 采用简单的奖励函数(如准确性奖励和格式奖励),通过难度基础的数据过滤策略进行稳定训练。
  • 高效的数据利用:MM-Eureka 展现出极高的数据效率。仅使用 54K 图文数据进行规则型强化学习训练,平均性能就超过了使用 1M 数据的 MPO 模型。MM-Eureka-Zero 仅使用 8K 图文数学推理数据(指令模型的 0.05%),在自建的 K12 基准测试上超越指令模型 8.2%,在 MathVerse 上表现相当。表明在多模态推理领域,简单的规则型强化学习设计可以显著提升训练效果,在数据量较少的情况下也能达到与大规模训练相当的性能。

如何运行 MM-Eureka

📦 安装

git clone https://github.com/ModalMinds/MM-EUREKA.git
cd MM-EUREKA
pip install -e .[vllm]

# 安装 flash-attn==2.3.6:
pip install flash-attn==2.3.6 --no-build-isolation

# 或者从源码编译:
git clone https://github.com/Dao-AILab/flash-attention.git
cd flash-attention
git checkout v2.3.6
python setup.py install

📂 数据准备

你可以从MM-Eureka-Dataset下载训练数据。下载完成后,参考以下部分进行数据格式化。你可能需要更新image_urls字段以引用本地图像路径。

自定义数据集

对于自定义数据集,将数据格式化为 JSONL 文件,每个条目是一个字典,格式如下:

{
  "id": "0",
  "conversations": [
      {
          "role": "system",
          "content": "system_prompt"
      },
      {
          "role": "user",
          "content": "user_prompt"
      }
  ],
  "answer": "gt that could be parsed and verified by math_verify",
  "image_urls": ["file:///path/to/image1", "file:///path/to/image2"]
}

🌐 开始训练

在开始训练之前,确保提供的训练脚本中的路径已正确设置,并且环境变量如 $MASTER_ADDR$NODE_RANK 已正确配置。

启动 MM-Eureka-8B 训练

  • 单节点训练:
sh examples/scripts/train_mm_eureka_8b_single_node.sh
  • 多节点训练:
sh examples/scripts/train_mm_eureka_8b_multi_node.sh

启动 MM-Eureka-Zero-38B 训练

sh examples/scripts/train_mm_eureka_zero_38b_multi_node.sh

📊 评估

这里提供了评估代码,位于 eval/ 目录中。要自定义不同模型的评估过程,请使用 --prompt_template 参数指定适当的提示格式。

这里还引入了 K12 数学数据集,这是一个包含 500 道填空题的数据集,涵盖初中到高中的数学概念。数据集位于 eval/k12 目录中。

资源


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

🥦 AI 在线答疑 -> 智能检索历史文章和开源项目 -> 丰富的 AI 工具库 -> 每日更新 -> 尽在微信公众号 -> 搜一搜:蚝油菜花 🥦