模型简介
模型特点
模型能力
使用案例
🚀 MiMo - 解锁语言模型推理潜力
MiMo是一系列专为推理任务从头训练的模型,通过优化预训练和后训练策略,在数学和代码推理任务上表现出色,甚至超越了一些更大的32B模型,为开发强大的推理大语言模型提供了有价值的见解。

━━━━━━━━━━━━━━━━━━━━━━━━━
解锁语言模型的推理潜力
从预训练到后训练
━━━━━━━━━━━━━━━━━━━━━━━━━
✨ 主要特性
预训练:为推理而生的基础模型
- 优化数据预处理:优化数据预处理流程,增强文本提取工具包,并应用多维数据过滤,以增加预训练数据中的推理模式密度。同时,采用多种策略生成大量多样化的合成推理数据。
- 三阶段数据混合策略:采用三阶段数据混合策略进行预训练,MiMo - 7B - Base 总共在约25万亿个标记上进行预训练。
- 多标记预测目标:引入多标记预测(Multiple - Token Prediction,MTP)作为额外的训练目标,提高模型性能并加速推理。
后训练策略:开创性的推理模型
- 精心策划训练数据:精心策划了13万个数学和代码问题作为强化学习(RL)训练数据,这些问题可以通过基于规则的验证器进行验证。每个问题都经过仔细清理和难度评估,以确保质量。仅采用基于规则的准确性奖励,避免潜在的奖励作弊。
- 引入代码奖励机制:为缓解具有挑战性的代码问题的稀疏奖励问题,引入了一种测试难度驱动的代码奖励。通过为不同难度级别的测试用例分配细粒度分数,可以通过密集奖励信号更有效地优化策略。
- 数据重采样策略:对简单问题实施数据重采样策略,以提高滚动采样效率并稳定策略更新,特别是在RL训练的后期阶段。
RL基础设施
- 开发无缝滚动引擎:开发了一个无缝滚动引擎(Seamless Rollout Engine),以加速RL训练和验证。该设计集成了连续滚动、异步奖励计算和提前终止,以最大限度地减少GPU空闲时间,实现了2.29倍的训练速度提升和1.96倍的验证速度提升。
- 支持MTP并增强推理引擎:在vLLM中支持MTP,并增强了RL系统中推理引擎的鲁棒性。
📦 安装指南
SGLang推理
感谢SGLang团队的贡献,我们在24小时内将MiMo集成到了SGLang主流版本中,MTP功能即将支持。
示例脚本:
# 从主分支安装最新的SGlang
python3 -m uv pip install "sglang[all] @ git+https://github.com/sgl-project/sglang.git/@main#egg=sglang&subdirectory=python"
# 启动SGLang服务器
python3 -m sglang.launch_server --model-path XiaomiMiMo/MiMo-7B-RL --host 0.0.0.0 --trust-remote-code
详细用法可参考SGLang文档。MTP功能也将在24小时内支持。
vLLM推理
- [推荐] 我们官方支持使用我们fork的vLLM进行MiMo - MTP推理。
示例脚本:
from vllm import LLM, SamplingParams
model_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.prompt
generated_text = output.outputs[0].text
print(f"Prompt: {prompt!r}, Generated text: {generated_text!r}")
print("=" * 80)
- 或者,你可以为MiMo注册一个不加载MTP参数的vLLM加载器。
你可以将registry/register_mimo_in_vllm.py
复制到你的目录并导入:
import register_mimo_in_vllm
from vllm import LLM, SamplingParams
model_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, AutoTokenizer
model_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]))
推荐环境和提示
- 推荐使用我们fork的vLLM,它基于vLLM 0.7.3开发。
- 推荐使用空的系统提示。
⚠️ 重要提示
我们尚未使用其他推理引擎验证MiMo,欢迎基于Huggingface仓库中的模型定义进行贡献。
💻 使用示例
基础用法
以下是使用vLLM进行推理的基础示例:
from vllm import LLM, SamplingParams
model_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.prompt
generated_text = output.outputs[0].text
print(f"Prompt: {prompt!r}, Generated text: {generated_text!r}")
print("=" * 80)
高级用法
在SGLang中使用MiMo进行推理:
# 安装最新的SGlang
python3 -m uv pip install "sglang[all] @ git+https://github.com/sgl-project/sglang.git/@main#egg=sglang&subdirectory=python"
# 启动SGLang服务器
python3 -m sglang.launch_server --model-path XiaomiMiMo/MiMo-7B-RL --host 0.0.0.0 --trust-remote-code
📚 详细文档
更新内容
[2025.05.30] 在强化学习训练期间,通过不断扩大训练窗口大小(从32K到48K),MiMo - 7B - RL - 0530在AIME24上的性能可以不断提高,并最终超过DeepSeek R1。
基准测试 | MiMo - 7B - RL | MiMo - 7B - RL - 0530 |
---|---|---|
数学 | ||
MATH500 (Pass@1) |
95.8 | 97.2 |
AIME 2024 (Pass@1) |
68.2 | 80.1 |
AIME 2025 (Pass@1) |
55.4 | 70.2 |
代码 | ||
LiveCodeBench v5 (Pass@1) |
57.8 | 60.9 |
LiveCodeBench v6 (Pass@1) |
49.3 | 52.2 |
STEM | ||
GPQA - Diamond (Pass@1) |
54.4 | 60.6 |
通用 | ||
Alignbench1.1 (由GPT4.1评估) |
6.9 | 7.4 |
模型详情
MiMo - 7B的MTP层在预训练和监督微调(SFT)期间进行调整,在强化学习(RL)期间冻结。使用一个MTP层进行推测解码时,接受率约为90%。
模型可在Huggingface Collections: MiMo和ModelScope Collections: MiMo获取。
模型 | 描述 | 下载地址 (HuggingFace) | 下载地址 (ModelScope) |
---|---|---|---|
MiMo - 7B - Base | 具有非凡推理潜力的基础模型 | [🤗 XiaomiMiMo/MiMo - 7B - Base](https://huggingface.co/XiaomiMiMo/MiMo - 7B - Base) | [🧬 XiaomiMiMo/MiMo - 7B - Base](https://www.modelscope.cn/models/XiaomiMiMo/MiMo - 7B - Base) |
MiMo - 7B - RL - Zero | 从基础模型训练的RL模型 | [🤗 XiaomiMiMo/MiMo - 7B - RL - Zero](https://huggingface.co/XiaomiMiMo/MiMo - 7B - RL - Zero) | [🧬 XiaomiMiMo/MiMo - 7B - RL - Zero](https://www.modelscope.cn/models/XiaomiMiMo/MiMo - 7B - RL - Zero) |
MiMo - 7B - SFT | 从基础模型训练的SFT模型 | [🤗 XiaomiMiMo/MiMo - 7B - SFT](https://huggingface.co/XiaomiMiMo/MiMo - 7B - SFT) | [🧬 XiaomiMiMo/MiMo - 7B - SFT](https://www.modelscope.cn/models/XiaomiMiMo/MiMo - 7B - SFT) |
MiMo - 7B - RL | 从SFT模型训练的RL模型,性能优越,与OpenAI o1 - mini相当 | [🤗 XiaomiMiMo/MiMo - 7B - RL](https://huggingface.co/XiaomiMiMo/MiMo - 7B - RL) | [🧬 XiaomiMiMo/MiMo - 7B - RL](https://www.modelscope.cn/models/XiaomiMiMo/MiMo - 7B - RL) |
MiMo - 7B - RL - 0530 | 具有扩展长度的高级RL模型 | [🤗 XiaomiMiMo/MiMo - 7B - RL - 0530](https://huggingface.co/XiaomiMiMo/MiMo - 7B - RL - 0530) | [🧬 XiaomiMiMo/MiMo - 7B - RL - 0530](https://www.modelscope.cn/models/XiaomiMiMo/MiMo - 7B - RL - 0530) |
评估结果
与其他模型对比
基准测试 | GPT - 4o - 0513 | Claude - 3.5 - Sonnet - 1022 | OpenAI o1 - mini | QwQ - 32B - Preview | R1 - Distill - Qwen - 14B | R1 - Distill - Qwen - 7B | MiMo - 7B - RL |
---|---|---|---|---|---|---|---|
通用 | |||||||
GPQA Diamond (Pass@1) |
49.9 | 65.0 | 60.0 | 54.5 | 59.1 | 49.1 | 54.4 |
SuperGPQA (Pass@1) |
42.4 | 48.2 | 45.2 | 43.6 | 40.6 | 28.9 | 40.5 |
DROP (3 - shot F1) |
83.7 | 88.3 | 83.9 | 71.2 | 85.5 | 77.0 | 78.7 |
MMLU - Pro (EM) |
72.6 | 78.0 | 80.3 | 52.0 | 68.8 | 53.5 | 58.6 |
IF - Eval (Prompt Strict) |
84.3 | 86.5 | 84.8 | 40.4 | 78.3 | 60.5 | 61.0 |
数学 | |||||||
MATH - 500 (Pass@1) |
74.6 | 78.3 | 90.0 | 90.6 | 93.9 | 92.8 | 95.8 |
AIME 2024 (Pass@1) |
9.3 | 16.0 | 63.6 | 50.0 | 69.7 | 55.5 | 68.2 |
AIME 2025 (Pass@1) |
11.6 | 7.4 | 50.7 | 32.4 | 48.2 | 38.8 | 55.4 |
代码 | |||||||
LiveCodeBench v5 (Pass@1) |
32.9 | 38.9 | 53.8 | 41.9 | 53.1 | 37.6 | 57.8 |
LiveCodeBench v6 (Pass@1) |
30.9 | 37.2 | 46.8 | 39.1 | 31.9 | 23.9 | 49.3 |
MiMo - 7B系列内部对比
基准测试 | MiMo - 7B - Base | MiMo - 7B - RL - Zero | MiMo - 7B - SFT | MiMo - 7B - RL | MiMo - 7B - RL - 0530 |
---|---|---|---|---|---|
数学 | |||||
MATH500 (Pass@1) |
37.4 | 93.6 | 93.0 | 95.8 | 97.2 |
AIME 2024 (Pass@1) |
32.9 | 56.4 | 58.7 | 68.2 | 80.1 |
AIME 2025 (Pass@1) |
24.3 | 46.3 | 44.3 | 55.4 | 70.2 |
代码 | |||||
LiveCodeBench v5 (Pass@1) |
32.9 | 49.1 | 52.3 | 57.8 | 60.9 |
LiveCodeBench v6 (Pass@1) |
29.1 | 42.9 | 45.5 | 49.3 | 52.2 |
⚠️ 重要提示
评估是在
temperature = 0.6
的条件下进行的。AIME24和AIME25是32次重复的平均得分。LiveCodeBench v5 (20240801 - 20250201)、LiveCodeBench v6 (20250201 - 20250501)、GPQA - Diamond和IF - Eval是8次重复的平均得分。MATH500和SuperGPQA是单次运行的结果。
🔧 技术细节
目前,大多数成功的强化学习工作,包括开源研究,都依赖于相对较大的基础模型,例如32B模型,特别是在增强代码推理能力方面。此外,人们普遍认为,在小模型中实现数学和代码能力的统一和同步提升是具有挑战性的。然而,我们认为强化学习训练的推理模型的有效性依赖于基础模型固有的推理潜力。为了充分解锁语言模型的推理潜力,不仅要关注后训练,还需要针对推理进行预训练策略的优化。
在这项工作中,我们提出了MiMo - 7B系列模型,这些模型是从头开始训练的,专为推理任务而生。我们从MiMo - 7B - Base进行的强化学习实验表明,我们的模型拥有非凡的推理潜力,甚至超过了更大的32B模型。此外,我们对冷启动的SFT模型进行了强化学习训练,得到了MiMo - 7B - RL,它在数学和代码推理任务上都表现出卓越的性能,与OpenAI o1 - mini相当。
我们开源了MiMo - 7B系列,包括基础模型、SFT模型、从基础模型训练的RL模型和从SFT模型训练的RL模型的检查点。我们相信这份报告和这些模型将为开发强大的推理大语言模型提供有价值的见解,造福更广泛的社区。
📄 许可证
本项目采用MIT许可证。
📚 引用
@misc{coreteam2025mimounlockingreasoningpotential,
title={MiMo: Unlocking the Reasoning Potential of Language Model -- From Pretraining to Posttraining},
author={{Xiaomi LLM-Core Team}},
year={2025},
eprint={2505.07608},
archivePrefix={arXiv},
primaryClass={cs.CL},
url={https://arxiv.org/abs/2505.07608},
}
📞 联系我们
如果您有任何问题,请通过mimo@xiaomi.com联系我们或提交一个issue。



