🚀 MiMo-7B:解鎖語言模型推理潛力
MiMo-7B 是一系列從頭開始訓練、專為推理任務而生的模型。它在數學和代碼推理任務上展現出卓越性能,甚至超越了部分 32B 大模型,為開發強大的推理大語言模型提供了寶貴的見解。
🚀 快速開始
本項目提供了 MiMo-7B 系列模型,涵蓋基礎模型、SFT 模型、基於基礎模型訓練的 RL 模型以及基於 SFT 模型訓練的 RL 模型。你可以通過以下鏈接訪問模型:
✨ 主要特性
預訓練:為推理而生的基礎模型
- 數據預處理優化:優化數據預處理流程,增強文本提取工具包,並應用多維數據過濾,以提高預訓練數據中的推理模式密度。同時,採用多種策略生成大量多樣化的合成推理數據。
- 三階段數據混合策略:採用三階段數據混合策略進行預訓練,MiMo-7B-Base 大約在 25 萬億個 token 上進行預訓練。
- 多 token 預測訓練目標:引入多 token 預測作為額外的訓練目標,提升模型性能並加速推理。
後訓練方法:開創性的推理模型
- 精心策劃的 RL 訓練數據:精心策劃了 13 萬個數學和代碼問題作為 RL 訓練數據,這些問題可由基於規則的驗證器進行驗證。每個問題都經過仔細清理和難度評估,以確保數據質量。僅採用基於規則的準確性獎勵,避免潛在的獎勵作弊問題。
- 測試難度驅動的代碼獎勵:為緩解具有挑戰性的代碼問題的稀疏獎勵問題,引入了測試難度驅動的代碼獎勵。通過為不同難度級別的測試用例分配細粒度分數,可通過密集獎勵信號更有效地優化策略。
- 數據重採樣策略:對簡單問題實施數據重採樣策略,以提高採樣效率並穩定策略更新,特別是在 RL 訓練的後期階段。
RL 基礎設施
- 無縫採樣引擎:開發了無縫採樣引擎,以加速 RL 訓練和驗證。設計集成了連續採樣、異步獎勵計算和早期終止,以最小化 GPU 空閒時間,實現了訓練速度提高 2.29 倍,驗證速度提高 1.96 倍。
- 支持 MTP 的 vLLM:在 vLLM 中支持 MTP,並增強了 RL 系統中推理引擎的魯棒性。
📦 安裝指南
SGLang 推理
python3 -m uv pip install "sglang[all] @ git+https://github.com/sgl-project/sglang.git/@main#egg=sglang&subdirectory=python"
python3 -m sglang.launch_server --model-path XiaomiMiMo/MiMo-7B-RL-Zero --host 0.0.0.0 --trust-remote-code
詳細用法可參考 SGLang 文檔,MTP 也將在 24 小時內得到支持。
vLLM 推理
推薦方式
使用 我們的 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)
其他方式
你可以複製 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,
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]))
推薦環境和提示
⚠️ 重要提示
評估是在 temperature=0.6
的條件下進行的。AIME24 和 AIME25 的分數是 32 次重複的平均值,LiveCodeBench v5(20240801 - 20250201)、LiveCodeBench v6(20250201 - 20250501)、GPQA - Diamond 和 IF - Eval 的分數是 8 次重複的平均值,MATH500 和 SuperGPQA 只進行一次運行。
💡 使用建議
本項目尚未驗證 MiMo 在其他推理引擎上的效果,歡迎基於 Huggingface 倉庫中的模型定義進行貢獻。
📚 詳細文檔
模型詳情
MiMo-7B 的 MTP 層在預訓練和 SFT 階段進行調整,在 RL 階段凍結。使用一個 MTP 層進行推測解碼時,接受率約為 90%。
評估結果
與其他模型的對比
基準測試 |
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 |
🔧 技術細節
目前,大多數成功的 RL 工作,包括開源研究,都依賴於相對較大的基礎模型,例如 32B 模型,特別是在增強代碼推理能力方面。此外,人們普遍認為,在小模型中同時實現數學和代碼能力的統一和同步提升是具有挑戰性的。然而,我們認為 RL 訓練的推理模型的有效性依賴於基礎模型的固有推理潛力。為了充分解鎖語言模型的推理潛力,不僅要關注後訓練,還需要關注針對推理的預訓練策略。
在本工作中,我們提出了 MiMo-7B 系列模型,該系列模型從頭開始訓練,專為推理任務而生。我們從 MiMo-7B-Base 進行的 RL 實驗表明,我們的模型具有非凡的推理潛力,甚至超越了更大的 32B 模型。此外,我們對冷啟動的 SFT 模型進行了 RL 訓練,得到了 MiMo-7B-RL,該模型在數學和代碼推理任務上均表現出卓越性能,與 OpenAI o1 - mini 的性能相當。
📄 許可證
本模型倉庫遵循 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。