[2025.05.30] 我们将SFT数据集规模从约50万扩展至600万样本,并持续将RL训练窗口大小从32K提升至48K。MiMo-7B-RL-0530在AIME24上的性能得到持续优化,最终超越DeepSeek R1(79.8)。
| 评测基准 | 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 | |
目前,大多数成功的强化学习(RL)研究成果,包括开源研究,都依赖于相对较大的基础模型,例如32B模型,尤其是在增强代码推理能力方面。此外,人们普遍认为,在小型模型中同时实现数学和代码能力的均衡且同步提升具有挑战性。尽管如此,我们认为,经过RL训练的推理模型的有效性取决于基础模型固有的推理潜力。为了充分释放语言模型的推理潜力,不仅要关注训练后的优化,还必须专注于为推理量身定制的预训练策略。
在本研究中,我们提出了MiMo-7B,这是一系列从零开始训练、专为推理任务而生的模型。我们基于MiMo-7B-Base进行的RL实验表明,我们的模型具有非凡的推理潜力,甚至超越了更大的32B模型。此外,我们在冷启动的SFT模型上进行了RL训练,得到了MiMo-7B-RL,该模型在数学和代码推理任务上均表现出卓越性能,达到了OpenAI o1-mini的水平。
我们开源了MiMo-7B系列模型,包括基础模型、SFT模型、基于基础模型训练的RL模型以及基于SFT模型训练的RL模型的检查点。 我们相信本报告以及所开源的模型将为开发强大的推理LLM提供宝贵见解,造福更广泛的社区。
预训练:为推理而生的基础模型
训练后优化方案:打造领先的推理模型
RL 基础设施
MiMo-7B的MTP层在预训练和SFT阶段进行调优,并在RL阶段冻结。使用一个MTP层进行投机解码时,接受率约为90%。
模型可在 https://huggingface.co/XiaomiMiMo 和 https://www.modelscope.cn/organization/XiaomiMiMo 获取
| 模型 | 描述 | 下载(HuggingFace) | 下载(ModelScope) |
|---|---|---|---|
| MiMo-7B-Base | 具备卓越推理潜力的基础模型 | 🤗 XiaomiMiMo/MiMo-7B-Base | 🤖️ XiaomiMiMo/MiMo-7B-Base |
| MiMo-7B-RL-Zero | 基于基础模型训练的RL模型 | 🤗 XiaomiMiMo/MiMo-7B-RL-Zero | 🤖️ XiaomiMiMo/MiMo-7B-RL-Zero |
| MiMo-7B-SFT | 基于基础模型训练的SFT模型 | 🤗 XiaomiMiMo/MiMo-7B-SFT | 🤖️ XiaomiMiMo/MiMo-7B-SFT |
| MiMo-7B-RL | 基于SFT模型训练的RL模型,性能优越,可媲美OpenAI o1-mini | 🤗 XiaomiMiMo/MiMo-7B-RL | 🤖️ XiaomiMiMo/MiMo-7B-RL |
| 基准测试 | 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 |
|---|---|---|---|---|
| 数学领域 | ||||
| MATH500 (Pass@1) | 37.4 | 93.6 | 93.0 | 95.8 |
| AIME 2024 (Pass@1) | 32.9 | 56.4 | 58.7 | 68.2 |
| AIME 2025 (Pass@1) | 24.3 | 46.3 | 44.3 | 55.4 |
| 代码领域 | ||||
| LiveCodeBench v5 (Pass@1) | 32.9 | 49.1 | 52.3 | 57.8 |
| LiveCodeBench v6 (Pass@1) | 29.1 | 42.9 | 45.5 | 49.3 |
[!IMPORTANT] 评估在
temperature=0.6条件下进行。AIME24 和 AIME25 为 32 次重复测试的平均得分。LiveCodeBench v5(20240801-20250201)、LiveCodeBench v6(20250201-20250501)、GPQA-Diamond 和 IF-Eval 为 8 次重复测试的平均得分。MATH500 和 SuperGPQA 为单次测试结果。
感谢 SGLang 团队提供的 MiMo model support 和 MTP,我们已在 SGLang 主流版本中支持 MiMo。
示例脚本
# 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
# Launch MTP Server
python3 -m sglang.launch_server --model-path XiaomiMiMo/MiMo-7B-RL --trust-remote-code \
--speculative-algorithm EAGLE --speculative-num-steps 1 --speculative-eagle-topk 1 \
--speculative-num-draft-tokens 2 --mem-fraction 0.5详细使用方法可参见 SGLang 文档。
示例脚本
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)您可以将 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)示例脚本
from transformers import AutoModel, AutoModelForCausalLM, AutoTokenizer
model_id = "XiaomiMiMo/MiMo-7B-RL"
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]))我们尚未在其他推理引擎上对 MiMo 进行验证,欢迎基于 Huggingface 仓库中的模型定义进行贡献 💻。
@misc{coreteam2025mimounlockingreasoningpotential,
title={MiMo: Unlocking the Reasoning Potential of Language Model -- From Pretraining to Posttraining},
author={LLM-Core-Team Xiaomi},
year={2025},
eprint={2505.07608},
archivePrefix={arXiv},
primaryClass={cs.CL},
url={https://arxiv.org/abs/2505.07608},
}如您有任何问题,请通过 mimo@xiaomi.com 与我们联系,或提交 issue。