AIパーソナル・ラーニング
と実践的なガイダンス
サイバーナイフ用ドローイングミラー

MiMo: 効率的な数学的推論とコード生成のための小さなオープンソースモデル

はじめに

MiMoはXiaomiによって開発されたオープンソースの大規模言語モデリングプロジェクトであり、数学的推論とコード生成に焦点を当てている。中核となる製品はMiMo-7Bモデルファミリーで、ベースモデル(Base)、教師あり微調整モデル(SFT)、ベースモデルから学習した強化学習モデル(RL-Zero)、SFTモデルから学習した強化学習モデル(RL)から構成される。これらの70億パラメータモデルは、事前学習データ、マルチトークン予測(MTP)、強化学習を最適化することで、より大規模なモデルに匹敵する推論能力を発揮します。 miMo-7B-RLは、数学およびコーディングタスクにおいてOpenAI o1-miniを凌駕します。 ブイエルエルエム とSGLang推論エンジンがあり、Hugging FaceとModelScopeからダウンロードできる。Xiaomiは、効率的な推論モデルの開発を推進する目的で、MiMoをオープンソース化した。

MiMo: 効率的な数学的推論とコード生成のための小さなオープンソースモデル-1


 

機能一覧

  • すうりAIME、MATH-500などの数学コンテストを解き、複雑な問題の推論をサポートする。
  • コード生成LiveCodeBenchプログラミングタスクのためにPython、C++などの高品質コードを生成します。
  • 複数トークン予測(MTP)複数のトークンを~90%の推論受け入れ率で予測し、スピードと精度を向上。
  • オープンソースモデルのサポートMiMo-7Bシリーズ(Base、SFT、RL-Zero、RL)は、開発者が自由に使用できるように提供されています。
  • 効率的な推論エンジンXiaomiカスタムvLLMとSGLangをサポートし、推論パフォーマンスを最適化。
  • 学習の最適化130,000の数学とコード問題のデータセットに基づくモデル推論の強化。
  • シームレス・ロールバック・エンジン強化学習トレーニングの高速化。トレーニングは2.29倍、検証は1.96倍高速化。
  • 柔軟な展開Hugging Face Transformers、vLLM、SGLangに対応。

 

ヘルプの使用

インストールと展開

MiMo-7Bモデルはスタンドアロンソフトウェアのインストールは必要ないが、推論環境の設定が必要である。Python3.8以上を推奨します。

1.環境準備

Pythonとpipがシステムにインストールされていることを確認する。依存関係の衝突を避けるために、仮想環境を推奨する:

python3 -m venv mimo_env
source mimo_env/bin/activate

2.依存関係のインストール

MiMoは、MTP機能をサポートするXiaomiのカスタムvLLMブランチの使用を推奨する。インストール・コマンドは以下の通り:

pip install torch transformers
pip install "vllm @ git+https://github.com/XiaomiMiMo/vllm.git@feat_mimo_mtp_stable_073"

SGLangを使用している場合は実行する:

python3 -m pip install "sglang[all] @ git+https://github.com/sgl-project/sglang.git@main#egg=sglang&subdirectory=python"

3.ダウンロードモデル

MiMo-7BモデルはHugging FaceとModelScopeにホストされており、MiMo-7B-RLがその例である:

from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "XiaomiMiMo/MiMo-7B-RL"
model = AutoModelForCausalLM.from_pretrained(model_id, trust_remote_code=True)
tokenizer = AutoTokenizer.from_pretrained(model_id)

モデルファイルは約14GBあるので、十分なストレージ容量があることを確認してください。 modelScopeも同様の方法でダウンロードされ、次のように置き換わります。 model_id は対応するアドレスである。

4.推論サービスの起動

vLLMを使用して推論サーバーを起動する(推奨):

python3 -m vllm.entrypoints.api_server --model XiaomiMiMo/MiMo-7B-RL --host 0.0.0.0 --trust-remote-code

またはSGLangを使う:

python3 -m sglang.launch_server --model-path XiaomiMiMo/MiMo-7B-RL --host 0.0.0.0 --trust-remote-code

サーバーが起動したら、APIやコマンドラインを使ってモデルと対話することができる。

主な機能

すうり

MiMo-7B-RLは数学的推論タスク、特にAIMEとMATH-500データセットで優れている。ユーザーが数学的な質問を入力すると、モデルが答えを生成します。例

from vllm import LLM, SamplingParams
llm = LLM(model="XiaomiMiMo/MiMo-7B-RL", trust_remote_code=True)
sampling_params = SamplingParams(temperature=0.6)
outputs = llm.generate(["Solve: 2x + 3 = 7"], sampling_params)
print(outputs[0].outputs[0].text)

操作説明::

  • 利用する temperature=0.6 生成の質と多様性のバランスをとる。
  • 複雑な問題は、明確な説明を確実にするために、段階的に入力することができる。
  • AIME 2024 (68.2% Pass@1)、AIME 2025 (55.4% Pass@1)、MATH-500 (95.8% Pass@1)に対応。

コード生成

MiMo-7B-RLは、LiveCodeBench v5 (57.8% Pass@1)およびv6 (49.3% Pass@1)のPython、C++およびその他の言語をサポートし、高品質のコードを生成します。例

from vllm import LLM, SamplingParams
llm = LLM(model="XiaomiMiMo/MiMo-7B-RL", trust_remote_code=True)
sampling_params = SamplingParams(temperature=0.6)
outputs = llm.generate(["Write a Python function to calculate factorial"], sampling_params)
print(outputs[0].outputs[0].text)

操作説明::

  • 機能の入出力要件など、具体的なタスクの説明を提供する。
  • 生成されたコードの構文の整合性をチェックする。
  • アルゴリズム設計やプログラミング競技の課題に適している。

複数トークン予測(MTP)

MTPはMiMoの中核機能であり、約90%の受け入れ率で複数のトークンを予測することで推論を加速する。 MTPを有効にするには、XiaomiのカスタムvLLMが必要である:

from vllm import LLM, SamplingParams
llm = LLM(model="XiaomiMiMo/MiMo-7B-RL", trust_remote_code=True, num_speculative_tokens=1)
sampling_params = SamplingParams(temperature=0.6)
outputs = llm.generate(["Write a Python script"], sampling_params)
print(outputs[0].outputs[0].text)

操作説明::

  • セットアップ num_speculative_tokens=1 MTPを有効にする。
  • MTPは、高スループットのシナリオで最もよく機能する。
  • MTP層は、事前学習とSFTフェーズで調整され、RLフェーズで凍結される。

シームレス・ロールバック・エンジン

MiMoは、強化学習トレーニングを最適化するために、シームレスなロールバックエンジンを開発した。ユーザーはこの機能を直接操作する必要はないが、その効果はモデルのパフォーマンスに反映される:

  • トレーニングは2.29倍速く、検証は1.96倍速い。
  • 統合された連続ロールバック、非同期報酬計算、早期終了により、GPUのアイドル時間を短縮。

推論エンジンの選択

  • vLLM(推奨): XiaomiカスタムvLLM(vLLM 0.7.3ベース)は、最適なパフォーマンスでMTPをサポートします。高性能推論のニーズに適しています。
  • SGLangメインストリーム推論をサポート。迅速な展開に適しています。
  • ハグ顔トランスフォーマー簡単なテストやローカルデバッグに適していますが、MTPはサポートしていません。

ほら

  • システムアラート最適なパフォーマンスを得るためには、空のシステムチップを推奨します。
  • ハードウェア要件シングルGPU推奨(例:NVIDIA A100 40GB)、CPU推論には最低32GBのRAMが必要です。
  • アセスメントの設定すべての評価は temperature=0.6AIMEとLiveCodeBenchは複数の実行平均を使用する。
  • 地域支援問題がある場合は、GitHub に課題を提出するか、または mimo@xiaomi.com.

 

アプリケーションシナリオ

  1. 学術研究
    MiMo-7Bモデルは、数学的推論やコード生成アルゴリズムを研究する研究者に適している。開発者は、オープンソースモデルをベースに微調整を行い、事前学習や強化学習ストラテジーを調査することができます。
  2. プログラミング教育
    教師はMiMoを使ってプログラミング問題の解答を作成し、生徒はコードの論理を検証したり、アルゴリズムの実装について学んだりすることができる。
  3. 競技トレーニング
    MiMoは、数学とプログラミングのコンペティションを準備する学生のためのAIMEとMATH-500の数学コンペティション問題をサポートしています。
  4. AI開発
    開発者は、自動コードレビューツールや数学ソルバーなど、MiMo-7Bをベースにカスタマイズしたアプリケーションを構築することができる。

 

品質保証

  1. MiMo-7Bシリーズにはどんなモデルがありますか?
    MiMo-7Bは、ベースモデル(Base)、教師あり微調整モデル(SFT)、ベースモデルから学習した強化学習モデル(RL-Zero)、SFTモデルから学習した強化学習モデル(RL)から構成される。
  2. 推論エンジンの選び方
    推奨XiaomiカスタムvLLM(サポートMTP、最適なパフォーマンス)。 SGLangは、迅速な展開に適しており、ハギング顔トランスフォーマーは、単純なテストに適しています。
  3. MTPはどのようにパフォーマンスを向上させるのか?
    MTPは、90%の推論受け入れ率で複数のトークンを予測することにより、高スループットシナリオに適しており、速度を大幅に向上させる。
  4. そのモデルは多言語に対応していますか?
    MiMoは主に数学とコーディングのタスクに最適化されており、英語と一部の中国語入力をサポートしている。
  5. ハードウェアの要件は?
    単一のGPU(例えば、NVIDIA A100 40GB)でMiMo-7B-RLを実行できる。CPU推論は少なくとも32GBのRAMを必要とするが、より遅い。
無断転載を禁じます:チーフAIシェアリングサークル " MiMo: 効率的な数学的推論とコード生成のための小さなオープンソースモデル
ja日本語