模型概述
模型特點
模型能力
使用案例
🚀 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。



