❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!
🥦 AI 在线答疑 -> 智能检索历史文章和开源项目 -> 丰富的 AI 工具库 -> 每日更新 -> 尽在微信公众号 -> 搜一搜:蚝油菜花 🥦
🧠 「学术界炸锅!这个AI用小学生作业量,解开了清华博士都头疼的难题」
大家好,我是蚝油菜花。你是否也经历过这些科研至暗时刻:
- 👉 训个多模态模型要百万级数据,实验室GPU烧到冒烟
- 👉 模型看见「鸡兔同笼」数学题,给出的答案是烤鸡腿火候指南
- 👉 让AI分析心电图+病历,它却给你生成重金属摇滚歌单...
今天要揭秘的 MM-Eureka ,堪称AI界的"顿悟大师"!这个由上海AI实验室领衔打造的推理怪兽,仅用54K图文数据就完成了三大逆天操作:
- ✅ 用8K数学题训练,K12测试直接碾压传统模型8.2%
- ✅ 看图说话精度暴涨,1%数据量吊打百万级训练对手
- ✅ 自带反思技能,会主动回溯图像细节找解题线索
更疯狂的是,它居然复现了人类才有的"啊哈时刻"——当识别到心电图异常波形时,会像资深医生一样反复比对病史数据!
🚀 快速阅读
MM-Eureka 是一款基于规则的大规模强化学习多模态推理模型。
- 核心功能:将文本推理中的关键特性(如准确率奖励和反思行为)扩展到多模态领域,显著提升推理能力。
- 技术原理:基于 OpenRLHF 开发的多模态强化学习框架,支持高效训练和数据过滤策略,确保模型在多模态环境中的稳定性和性能。
MM-Eureka 是什么
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 的主要功能
- 多模态推理能力:将大规模基于规则的强化学习(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
字段以引用本地图像路径。
- MM-Eureka-Dataset:https://huggingface.co/datasets/FanqingM/MM-Eureka-Dataset
自定义数据集
对于自定义数据集,将数据格式化为 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
目录中。
资源
- GitHub 仓库:https://github.com/ModalMinds/MM-EUREKA
- HuggingFace 仓库:https://huggingface.co/FanqingM/MM-Eureka-8B
- 数据集:https://huggingface.co/datasets/FanqingM/MM-Eureka-Dataset
❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!
🥦 AI 在线答疑 -> 智能检索历史文章和开源项目 -> 丰富的 AI 工具库 -> 每日更新 -> 尽在微信公众号 -> 搜一搜:蚝油菜花 🥦