モデル概要
モデル特徴
モデル能力
使用事例
🚀 小米MiMo
MiMo-7Bは、推論タスクに特化して開発された一連のモデルです。このモデルは、事前学習と事後学習の両面で独自のアプローチを採用し、数学やコードの推論タスクで優れた性能を発揮します。また、MiMo-7Bシリーズのモデルはオープンソースで公開されており、研究者や開発者に有益な情報を提供します。

━━━━━━━━━━━━━━━━━━━━━━━━━
言語モデルの推論潜在能力を引き出す
事前学習から事後学習まで
━━━━━━━━━━━━━━━━━━━━━━━━━
✨ 主な更新情報
[2025.05.30] RLトレーニング中に、トレーニングウィンドウサイズを継続的に拡大(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 (Evaluated by 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を開発するための貴重な洞察を提供することを信じています。
⭐ 主な特徴
-
事前学習:推論に特化したベースモデル
- データ前処理パイプラインを最適化し、テキスト抽出ツールキットを強化し、多次元データフィルタリングを適用して、事前学習データの推論パターン密度を高めます。また、複数の戦略を用いて大量の多様な合成推論データを生成します。
- 事前学習には三段階のデータ混合戦略を採用しています。全体として、MiMo-7B-Baseは約25兆トークンで事前学習されています。
- 追加の学習目的としてMultiple-Token Predictionを導入することで、モデルの性能を向上させ、推論を高速化します。
-
事後学習レシピ:革新的な推論モデル
- 13万件の数学とコードの問題をRLトレーニングデータとして収集し、ルールベースの検証器で検証可能なデータを使用します。各問題は慎重にクリーニングされ、難易度が評価されて品質が保証されています。潜在的な報酬ハッキングを避けるために、ルールベースの正確性報酬のみを使用します。
- 難しいコード問題に対する疎な報酬の問題を軽減するために、テスト難易度に基づくコード報酬を導入します。異なる難易度のテストケースに細かいスコアを割り当てることで、密な報酬信号を通じてポリシーをより効果的に最適化することができます。
- 簡単な問題に対してデータ再サンプリング戦略を実装することで、ロールアウトサンプリングの効率を向上させ、特にRLトレーニングの後期におけるポリシー更新を安定させます。
-
RLインフラストラクチャ
- RLトレーニングと検証を高速化するためのSeamless Rollout Engineを開発しました。我々の設計は、連続的なロールアウト、非同期の報酬計算、および早期終了を統合してGPUのアイドル時間を最小限に抑え、トレーニングを2.29倍、検証を1.96倍高速化します。
- vLLMでMTPをサポートし、RLシステムにおける推論エンジンのロバスト性を向上させます。
📦 モデル詳細
MiMo-7BのMTPレイヤーは、事前学習とSFT中に調整され、RL中は固定されます。投機的デコードに1つのMTPレイヤーを使用すると、受容率は約90%になります。
モデルはHuggingface Collections: MiMo と ModelScope Collections: MiMo で入手できます。
モデル | 説明 | ダウンロード (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 |
MiMo-7B-RL-0530 | 拡張された長さを持つ高度なRLモデル | 🤗 XiaomiMiMo/MiMo-7B-RL-0530 | 🧪 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は1回の実行結果です。
💻 デプロイメント
SGLang推論
SGLangチームからの貢献により、24時間以内にSGLangのメインストリームでMiMoをサポートし、近々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推論
- [推奨] 我々のフォークした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)
- または、MTPパラメータをロードせずにMiMo用の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]))
推奨環境とプロンプト
- 我々のフォークしたvLLM を使用することを推奨します。これはvLLM 0.7.3をベースに開発されています。
- 空のシステムプロンプトを使用することを推奨します。
我々は他の推論エンジンでMiMoを検証していません。Huggingfaceリポジトリのモデル定義に基づく貢献を歓迎します。
📖 引用
@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 までご連絡ください。または、GitHubのイシューを開いても構いません。
📄 ライセンス
このプロジェクトはMITライセンスの下で公開されています。



