【小米拥抱AI】小米开源 MiMo-7B-RL-0530

article/2025/6/18 6:06:17

在这里插入图片描述

更新日志

[2025.05.30] 在强化学习训练过程中,通过持续扩大训练窗口尺寸(从32K提升至48K),MiMo-7B-RL-0530模型在AIME24基准测试上的表现持续提升,最终超越DeepSeek R1模型的性能水平。

BenchmarkMiMo-7B-RLMiMo-7B-RL-0530
MATH500
(Pass@1)
95.897.2
AIME 2024
(Pass@1)
68.280.1
AIME 2025
(Pass@1)
55.470.2
Code
LiveCodeBench v5
(Pass@1)
57.860.9
LiveCodeBench v6
(Pass@1)
49.352.2
STEM
GPQA-Diamond
(Pass@1)
54.460.6
General
Alignbench1.1
(Evaluated by GPT4.1)
6.97.4

简介

目前,包括开源研究在内的大多数成功强化学习(RL)成果都依赖于相对较大的基础模型(例如320亿参数模型),尤其是在提升代码推理能力方面。此外,学界普遍认为在小型模型中同时实现数学与代码能力的均衡提升具有挑战性。然而,我们认为强化学习训练出的推理模型之效能,本质上取决于基础模型与生俱来的推理潜力。要充分释放语言模型的推理潜力,不仅需要关注训练后的优化策略,更需要针对推理能力定制预训练方案。

本项研究推出的MiMo-70亿模型系列,是为推理任务而从头训练的模型体系。基于MiMo-70亿基础模型的强化学习实验表明,该模型展现出非凡的推理潜力,其表现甚至超越参数规模大得多的320亿参数模型。我们还对冷启动的监督微调(SFT)模型进行强化学习训练,最终获得的MiMo-70亿强化学习版本,在数学与代码推理任务上均展现出卓越性能,其表现可与OpenAI o1-mini相媲美。

(注:根据技术文档惯例,“32B"译为"320亿参数”,“7B"译为"70亿参数”;“cold-started SFT model"采用意译处理为"冷启动的监督微调模型”;专业术语如RL/SFT保留英文缩写并首次出现时标注全称;"born for reasoning tasks"转译为"为推理任务而…的模型体系"以符合中文科技文献表达习惯)

在这里插入图片描述
我们开源了MiMo-7B系列模型,包含基础模型的检查点、监督微调模型、从基础模型训练的强化学习模型,以及从监督微调模型训练的强化学习模型。我们相信这份报告连同这些模型将为开发具有强大推理能力的大语言模型提供宝贵洞见,从而惠及更广泛的研究社区。

🌟 亮点

  • 预训练:为推理而生的基础模型

    • 我们优化了数据预处理流程,提升文本提取工具包性能并应用多维数据过滤机制,从而增强预训练数据中的推理模式密度。同时采用多种策略生成海量多样化合成推理数据。
    • 预训练采用三阶段数据混合策略,MiMo-7B-Base总计在约25万亿token上完成训练。
    • 引入多token预测作为补充训练目标,既提升模型性能又加速推理过程。
  • 后训练方案:开创性推理模型

    • 精选13万道数学与编程题作为RL训练数据,所有题目均可通过规则验证器校验。每道题目经过严格清洗与难度评级以确保质量,仅采用基于规则的准确性奖励机制以避免潜在奖励作弊。
    • 针对高难度编程题的稀疏奖励问题,首创测试难度驱动的代码奖励机制。通过对不同难度测试用例分配细粒度分数,实现密集奖励信号下的策略优化。
    • 实施简单题目数据重采样策略,提升rollout采样效率并稳定策略更新,尤其在RL训练后期效果显著。
  • RL基础设施

    • 开发无缝Rollout引擎加速RL训练与验证。通过持续rollout、异步奖励计算与提前终止的整合设计,将GPU空闲时间最小化,实现训练速度提升2.29倍,验证速度提升1.96倍。
    • 在vLLM中支持MTP技术,并强化RL系统推理引擎的鲁棒性。

模型细节

MiMo-7B的MTP层在预训练和SFT阶段进行调优,RL阶段保持冻结。当使用单层MTP进行推测解码时,token接受率约为90%。

在这里插入图片描述

评估结果

BenchmarkGPT-4o-0513Claude-3.5-Sonnet-1022OpenAI o1-miniQwQ-32B-PreviewR1-Distill-Qwen-14BR1-Distill-Qwen-7BMiMo-7B-RL
General
GPQA Diamond
(Pass@1)
49.965.060.054.559.149.154.4
SuperGPQA
(Pass@1)
42.448.245.243.640.628.940.5
DROP
(3-shot F1)
83.788.383.971.285.577.078.7
MMLU-Pro
(EM)
72.678.080.352.068.853.558.6
IF-Eval
(Prompt Strict)
84.386.584.840.478.360.561.0
Mathematics
MATH-500
(Pass@1)
74.678.390.090.693.992.895.8
AIME 2024
(Pass@1)
9.316.063.650.069.755.568.2
AIME 2025
(Pass@1)
11.67.450.732.448.238.855.4
Code
LiveCodeBench v5
(Pass@1)
32.938.953.841.953.137.657.8
LiveCodeBench v6
(Pass@1)
30.937.246.839.131.923.949.3

MiMo-7B 系列

BenchmarkMiMo-7B-BaseMiMo-7B-RL-ZeroMiMo-7B-SFTMiMo-7B-RLMiMo-7B-RL-0530
Mathematics
MATH500
(Pass@1)
37.493.693.095.897.2
AIME 2024
(Pass@1)
32.956.458.768.280.1
AIME 2025
(Pass@1)
24.346.344.355.470.2
Code
LiveCodeBench v5
(Pass@1)
32.949.152.357.860.9
LiveCodeBench v6
(Pass@1)
29.142.945.549.352.2

[!重要]
评估采用 temperature=0.6 参数进行。

AIME24和AIME25采用32次重复的平均得分。LiveCodeBench v5(20240801-20250201)、LiveCodeBench v6(20250201-20250501)、GPQA-Diamond和IF-Eval采用8次重复的平均得分。MATH500和SuperGPQA为单次运行结果。

部署

SGLang推理

得益于SGLang团队的贡献,我们在24小时内实现了对SGLang主流的MiMo支持,MTP功能即将推出。

示例脚本

# Install the latest SGlang from main branch
python3 -m uv pip install "sglang[all] @ git+https://github.com/sgl-project/sglang.git/@main#egg=sglang&subdirectory=python"# Launch SGLang Server
python3 -m sglang.launch_server --model-path XiaomiMiMo/MiMo-7B-RL --host 0.0.0.0 --trust-remote-code

详细用法请参阅SGLang文档。MTP功能也将在24小时内获得支持。

vLLM推理

  1. [推荐] 我们官方支持使用我们分叉的vLLM版本进行MiMo-MTP推理。

示例脚本

from vllm import LLM, SamplingParamsmodel_path = "/path/to/MiMo"
llm = LLM(model=model_path,trust_remote_code=True,num_speculative_tokens=1,disable_log_stats=False
)
sampling_params = SamplingParams(temperature=0.6)conversation = [{"role": "system","content": ""},{"role": "user","content": "Write an essay about the importance of higher education.",},
]outputs = llm.chat(conversation,sampling_params=sampling_params,use_tqdm=False)for output in outputs:prompt = output.promptgenerated_text = output.outputs[0].textprint(f"Prompt: {prompt!r}, Generated text: {generated_text!r}")print("=" * 80)
  1. 或者,您可以在不加载MTP参数的情况下为MiMo注册vLLM加载器。

您可以将registry/register_mimo_in_vllm.py复制到您的目录并导入它。

import register_mimo_in_vllmfrom vllm import LLM, SamplingParamsmodel_path = "/path/to/MiMo"
llm = LLM(model=model_path,trust_remote_code=True,# num_speculative_tokens=1,disable_log_stats=False
)
sampling_params = SamplingParams(temperature=0.6)

HuggingFace 推理

示例脚本

from transformers import AutoModel, AutoModelForCausalLM, AutoTokenizermodel_id = "XiaomiMiMo/MiMo-7B-RL-0530"
model = AutoModelForCausalLM.from_pretrained(model_id, trust_remote_code=True)
tokenizer = AutoTokenizer.from_pretrained(model_id)
inputs = tokenizer(["Today is"], return_tensors='pt')
output = model.generate(**inputs, max_new_tokens = 100)
print(tokenizer.decode(output.tolist()[0]))

推荐环境与提示词设置

  • 我们推荐使用基于vLLM 0.7.3开发的定制分支
  • 建议使用空系统提示词

该模型尚未在其他推理引擎验证,欢迎基于Huggingface仓库中的模型定义进行二次开发 💻


http://www.hkcw.cn/article/ayXdgPEjaF.shtml

相关文章

俄布良斯克州桥梁坍塌致列车脱轨事故造成3死28伤

△图片来源:莫斯科交通检察院总台记者当地时间6月1日获悉,据俄罗斯紧急情况部初步统计,布良斯克州桥梁坍塌致火车脱轨事故共造成31人伤亡,其中3人不幸遇难,28人已送往医疗机构救治。此前据俄罗斯BAZA网站报道,事件造成4人死亡,至少44人受伤。俄紧急情况部称,救援人员正…

JDK17 与JDK8 共同存在一个电脑上

官网下载JDK17 官网链接 :https://www.oracle.com/java/technologies/downloads/#java17-windows 下载这个 安装 环境变量设置 因为之前设置过JDK 8这里为了使 两者共存,采用设置变量方式来实现具体操作如下 1、进入高级系统环境设置 1.1先建一个关…

打开NRODIC SDK编译不过怎么处理,keil与segger studio

打开NRODIC SDK编译不过怎么处理,以下是keil处理. 1,如图,不要安装安装也不会过 2. 不要安装点击否 3.点击确定后进来这个样子 4.这里选择这个勾,OK后就不会再有后面的pack_license 5.去掉勾后这里要选择自己SDK对应的pack版本,我的是8.27.0 6.OK后弹出个界面也要反复选择…

每日八股文5.31

每日八股-5.31 Go1.切片是值传递还是引用传递?2.切片的深拷贝与浅拷贝3.切片的底层实现4.切片的扩容机制5.Map是线程安全的吗?6.哪些类型可以作为map的key?7.Map删除一个key内存是否会释放?8.Map为什么是无序的?9.如何…

智能重塑连接:AI原生互联网的范式革命与未来十年

引言:互联网的下一幕——智能涌现与体验重塑 2024年初,OpenAI发布的文生视频模型Sora,以其惊人的逼真度和对物理世界的理解能力,再次将人工智能的魔力推向了全球聚光灯下。这不仅仅是一个技术演示,更像是一个强烈的信号:我们正加速驶向一个由AI深度重塑的未来。回望互联…

【深度学习相关安装及配环境】Anaconda搭建虚拟环境并安装CUDA、cuDVV和对应版本的Pytorch,并在jupyter notebook上部署

目录 1. 查看自己电脑的cuda版本2.安装cuda关于环境变量的配置测试一下,安装完成 3.安装cuDVV环境变量的配置测试一下,安装完成 4.创建虚拟环境先安装镜像源下载3.11版本py 5.在虚拟环境下,下载pytorch6.验证是否安装成功7.在jupyter noteboo…

2. 手写数字预测 gui版

2. 手写数字预测 gui版 背景1.界面绘制2.处理图片3. 加载模型4. 预测5.结果6.一点小问题 背景 做了手写数字预测的模型,但是老是跑模型太无聊了,就配合pyqt做了一个可视化界面出来玩一下 源代码可以去这里https://github.com/Leezed525/pytorch_toy拿 …

用JS实现植物大战僵尸(前端作业)

1. 先搭架子 整体效果&#xff1a; 点击开始后进入主场景 左侧是植物卡片 右上角是游戏的开始和暂停键 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevic…

巴黎球迷打出TIFO悼念恩里克女儿 感人至深的纪念

北京时间6月1日,巴黎圣日耳曼在欧冠决赛中以5-0战胜国际米兰,夺得本赛季欧冠冠军。赛后,安联球场展示了一个感人至深的TIFO,主角是巴黎圣日耳曼主教练恩里克和他的已故女儿Xana。十年前,恩里克带领巴塞罗那夺得欧冠冠军时,曾与女儿Xana一起将巴萨的旗帜插进球场。然而,X…

六一儿童节 实践我先行活动举行

5月30日,在“六一”国际儿童节来临之际,“实践我先行——2025年在宋庆龄奶奶生活过的地方过六一”活动在北京宋庆龄故居举行,逾百名中外少年儿童和教师代表参加。活动现场,北京市西城区金融街惠泽幼儿园的小朋友们表演了群鼓节目《华夏少年》。中国宋庆龄基金会党组书记、副…

阿什拉夫弑旧主 破门后拒绝庆祝 情深义重

在欧冠决赛中,巴黎圣日耳曼迎战国际米兰。上半场,阿什拉夫攻破了老东家的大门,帮助巴黎取得领先。这位现年26岁的摩洛哥后卫曾在2020年至2021年效力于国际米兰,并为蓝黑军团出场45次。比赛进行到第12分钟时,阿什拉夫推射空门得手,将比分改写为1-0。进球后,他举起双手,拒…

端午安康(Python)

端午节总算是回家了&#xff0c;感觉时间过得真快&#xff0c;马上就毕业了&#xff0c;用Python弄了一个端午节元素的界面&#xff0c;虽然有点不像&#xff0c;祝大家端午安康。端午节粽子&#xff08;python&#xff09;_python画粽子-CSDN博客https://blog.csdn.net/weixin…

10.安卓逆向2-frida hook技术-frida基本使用-frida指令(用于hook)

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a;图灵Python学院 工具下载&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1bb8NhJc9eTuLzQr39lF55Q?pwdzy89 提取码&#xff1…

# CppCon 2014 学习: Quick game development with C++11/C++14

这是一个关于游戏开发与现代 C&#xff08;尤其是 C11/C14&#xff09;结合的技术分享或讲座的概要&#xff0c;结构清晰、内容分为几个部分&#xff1a; About This Talk — 内容结构 1. 导言部分&#xff08;Introductory part&#xff09; 介绍为什么选择游戏开发作为主题…

vscode不满足先决条件问题的解决——vscode的老版本安装与禁止更新(附安装包)

目录 起因 vscode更新设置的关闭 安装包 结语 起因 由于主包用的系统是centos的&#xff0c;且版本有点老了&#xff0c;再加上vscode现在不支持老版本的&#xff0c;这对主包来说更是雪上加霜啊 但是主包看了网上很多教程&#xff0c;眼花缭乱&#xff0c;好多配置要改&…

如何手搓扫雷(待扩展)

文章目录 一、扫雷游戏分析与设计1.1 扫雷游戏的功能说明1.2 游戏的分析和设计1.2.1 数据结构的分析1.2.2 文件结构设计 二、扫雷游戏的代码实现三、扫雷游戏的扩展总结 一、扫雷游戏分析与设计 扫雷游戏网页版 1.1 扫雷游戏的功能说明 使用控制台&#xff08;黑框框的程序&a…

Python打卡训练营学习记录Day41

DAY 41 简单CNN 知识回顾 数据增强卷积神经网络定义的写法batch归一化&#xff1a;调整一个批次的分布&#xff0c;常用与图像数据特征图&#xff1a;只有卷积操作输出的才叫特征图调度器&#xff1a;直接修改基础学习率 卷积操作常见流程如下&#xff1a; 1. 输入 → 卷积层 →…

我们来学mysql -- mysql8.4主从

mysql8.4主从 8.4安装主从原理主my.cnf启动创建复制用户 从my.cnf启动锁库&迁移数据连接主&开启复制检查复制 8.4安装 参考保姆级安装教程传送门 主从原理 从库准备 使用 CHANGE MASTER TO 配置主库信息并写入 master.info 文件。执行 START SLAVE 启动从库&#xff…

kafka学习笔记(三、消费者Consumer使用教程——消费性能多线程提升思考)

1.简介 KafkaConsumer是非线程安全的&#xff0c;它定义了一个acquire()方法来检测当前是否只有一个线程在操作&#xff0c;如不是则会抛出ConcurrentModifcationException异常。 acquire()可以看做是一个轻量级锁&#xff0c;它仅通过线程操作计数标记的方式来检测线程是否发…

记忆胶囊应用源码纯开源

下载地址&#xff1a;https://pan.quark.cn/s/729681531125 &#x1f4f1; 应用功能特点 核心功能&#xff1a; 创建记忆胶囊 - 用户可以创建包含文本内容的时间胶囊时间设定 - 设置胶囊的开启时间情感标签 - 为记忆添加情感标记&#xff08;开心、难过、兴奋等&#xff09;…