Xiaomi MiMo/MiMo-7B-RL-Zero
模型介绍文件和版本Pull Requests讨论分析
下载使用量0
Xiaomi-MiMo

━━━━━━━━━━━━━━━━━━━━━━━━━
释放语言模型的推理潜能
从预训练到后训练的探索
━━━━━━━━━━━━━━━━━━━━━━━━━


| 🤗 HuggingFace  | 🤖️ ModelScope  | 📔 技术报告  |

本模型仓库采用 MIT 许可证授权。

一、引言

目前,大多数成功的强化学习(RL)研究成果,包括开源项目,都依赖于规模相对较大的基础模型,例如 32B 模型,尤其在提升代码推理能力方面。此外,业界普遍认为,在小模型中同时实现数学和代码能力的均衡且同步提升颇具挑战。然而,我们认为,经 RL 训练的推理模型其效果取决于基础模型本身蕴含的推理潜能。要充分释放语言模型的推理潜能,不仅需要关注后训练阶段,还需制定针对推理任务的预训练策略。

在本研究中,我们提出了 MiMo-7B 系列模型,这是一系列从零开始训练、专为推理任务设计的模型。基于 MiMo-7B-Base 进行的 RL 实验表明,我们的模型具备卓越的推理潜能,甚至超越了规模大得多的 32B 模型。此外,我们在冷启动的 SFT 模型上进行了 RL 训练,得到了 MiMo-7B-RL。该模型在数学和代码推理任务上均表现出优异性能,可与 OpenAI o1-mini 相媲美。

我们开源了 MiMo-7B 系列,包括基础模型、SFT 模型、基于基础模型训练的 RL 模型以及基于 SFT 模型训练的 RL 模型的 checkpoint。我们相信本报告及所开源的模型将为开发强大的推理型大语言模型提供宝贵见解,造福更广泛的社区。

🌟 突出亮点

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

    • 我们优化了数据预处理流程,增强了文本提取工具包,并应用了多维度数据过滤,以提高预训练数据中的推理模式密度。我们还采用多种策略生成海量多样化的合成推理数据。
    • 我们在预训练中采用了三阶段数据混合策略。总体而言,MiMo-7B-Base 在约25万亿 tokens 上进行了预训练。
    • 我们将多 token 预测(Multiple-Token Prediction)作为额外的训练目标,这提升了模型性能并加速了推理过程。
  • 训练后方案:开创推理模型新范式

    • 我们精心筛选了13万道数学和代码题目作为强化学习训练数据,这些题目可通过基于规则的验证器进行验证。每道题目都经过仔细清洗和难度评估,以确保质量。我们仅采用基于规则的准确性奖励,以避免潜在的奖励黑客行为。
    • 为缓解具有挑战性的代码题目的稀疏奖励问题,我们引入了由测试难度驱动的代码奖励机制。通过为不同难度级别的测试用例分配细粒度分数,策略可以通过密集的奖励信号得到更有效的优化。
    • 我们对简单题目实施数据重采样策略,以提高 rollout 采样效率并稳定策略更新,尤其是在强化学习训练的后期阶段。
  • 强化学习基础设施

    • 我们开发了无缝 Rollout 引擎以加速强化学习训练和验证。我们的设计整合了连续 rollout、异步奖励计算和提前终止,以最大限度减少 GPU 空闲时间,实现了 2.29 倍的训练加速和 1.96 倍的验证加速。
    • 我们在 vLLM 中支持 MTP,并增强了强化学习系统中推理引擎的稳健性。

II. 模型详情

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

III. 评估结果

基准测试GPT-4o-0513Claude-3.5-Sonnet-1022OpenAI o1-miniQwQ-32B-PreviewR1-Distill-Qwen-14BR1-Distill-Qwen-7BMiMo-7B-RL
通用能力
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
数学能力
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
代码能力
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 系列

基准测试MiMo-7B-BaseMiMo-7B-RL-ZeroMiMo-7B-SFTMiMo-7B-RL
数学能力
MATH500
(Pass@1)
37.493.693.095.8
AIME 2024
(Pass@1)
32.956.458.768.2
AIME 2025
(Pass@1)
24.346.344.355.4
代码能力
LiveCodeBench v5
(Pass@1)
32.949.152.357.8
LiveCodeBench v6
(Pass@1)
29.142.945.549.3

[!IMPORTANT] 评估在 temperature=0.6 条件下进行。

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

IV. 部署

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-Zero --host 0.0.0.0 --trust-remote-code

详细使用方法可参见 SGLang 文档。MTP 功能也将在 24 小时内支持。

vLLM 推理

  1. [推荐] 我们官方支持通过 我们的 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)
  1. 或者,您可以为 MiMo 注册一个 vLLM 加载器,而无需加载 MTP 参数。

您可以将 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-Zero"
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开发的vLLM分支。
  • 我们建议使用空的系统提示词。

我们尚未在其他推理引擎上验证MiMo,欢迎基于Huggingface仓库中的模型定义进行贡献 💻。

V. 引用

@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}, 
}

VI. 联系方式

如有任何问题,请通过mimo@xiaomi.com与我们联系,或提交issue。