# DGX Sparkで最新LLM「MiniMax-M2.5-REAP-172B」を動かしてみた ## はじめに NVIDIA DGX Sparkは、デスクトップサイズでありながら最大200Bパラメータ(デュアル構成で405B)のAIモデルを動かせる小型AIワークステーションです。今回は、2026年2月にリリースされたばかりの最新モデル「**MiniMax-M2.5-REAP-172B-A10B**」をDGX Sparkデュアル構成(256GB統合メモリ)で動かす手順を紹介します。 --- ## MiniMax-M2.5-REAP-172Bとは? MiniMax-M2.5は、中国MiniMax社が開発したコーディング・エージェント特化のMixture-of-Experts(MoE)モデルです。Cerebras社がREAP(Router-weighted Expert Activation Pruning)技術を適用し、オリジナルの230Bパラメータから172Bに軽量化したものが本モデルです。 ### スペック | 項目 | 値 | |------|-----| | 総パラメータ数 | 172B | | アクティブパラメータ数 | 10B/トークン | | レイヤー数 | 62 | | エキスパート数 | 192(256から25%削減)| | コンテキスト長 | 196,608トークン | | ライセンス | Modified MIT | ### なぜREAP版がおすすめ? - **ほぼ無劣化で25%軽量化**: HumanEval等のベンチマークでオリジナルと同等性能 - **vLLMネイティブ対応**: パッチ不要でそのまま動く - **256GBメモリで十分動作**: オリジナル230B版では厳しいVRAM要件をクリア --- ## 動作環境 ### DGX Spark デュアル構成 | 項目 | スペック | |------|----------| | アーキテクチャ | NVIDIA Grace Blackwell (GB10) | | GPU | Blackwell GPU × 2 | | メモリ | 256GB統合メモリ(LPDDR5x)| | ストレージ | 4TB NVMe × 2 | | ネットワーク | ConnectX-7 (クラスタ間接続) | ※ 単体構成(128GB)の場合は、より小さいREAP-139B版か量子化版を検討してください。 --- ## 環境構築 ### 1. システムアップデート ```bash sudo apt update && sudo apt upgrade -y ``` ### 2. Python環境の準備 ```bash # Python 3.11推奨 sudo apt install python3.11 python3.11-venv python3-pip -y # 仮想環境作成 python3.11 -m venv ~/minimax-env source ~/minimax-env/bin/activate ``` ### 3. vLLMのインストール ```bash # nightlyビルド推奨(最新モデル対応) pip install -U vllm --extra-index-url https://wheels.vllm.ai/nightly # または検証済みバージョン export VLLM_COMMIT=dea63512bb9bdf7521d591546c52138d9d79e8ce pip install vllm \ --torch-backend=auto \ --extra-index-url https://wheels.vllm.ai/${VLLM_COMMIT} ``` ### 4. 関連パッケージ ```bash pip install transformers accelerate huggingface_hub ``` --- ## モデルのダウンロード ### Hugging Face CLIでダウンロード ```bash # ログイン(初回のみ) huggingface-cli login # モデルダウンロード(約330GB、時間かかります) huggingface-cli download cerebras/MiniMax-M2.5-REAP-172B-A10B \ --local-dir ~/models/MiniMax-M2.5-REAP-172B-A10B ``` ### ダウンロード時間の目安 | 回線速度 | 所要時間 | |---------|---------| | 1Gbps | 約45分 | | 10Gbps | 約5分 | --- ## モデルの起動 ### 基本起動コマンド(デュアル構成・256GB) ```bash vllm serve cerebras/MiniMax-M2.5-REAP-172B-A10B \ --tensor-parallel-size 2 \ --tool-call-parser minimax_m2 \ --reasoning-parser minimax_m2_append_think \ --trust-remote-code \ --enable-auto-tool-choice \ --max-model-len 65536 \ --gpu-memory-utilization 0.90 ``` ### パラメータ解説 | パラメータ | 説明 | |-----------|------| | `--tensor-parallel-size 2` | 2台のSparkでテンソル並列 | | `--tool-call-parser minimax_m2` | MiniMax専用ツールコールパーサー | | `--reasoning-parser minimax_m2_append_think` | thinking出力を履歴に保持 | | `--max-model-len 65536` | 最大コンテキスト長(64K)| | `--gpu-memory-utilization 0.90` | メモリ使用率上限 | ### メモリ節約版(長文不要な場合) ```bash vllm serve cerebras/MiniMax-M2.5-REAP-172B-A10B \ --tensor-parallel-size 2 \ --tool-call-parser minimax_m2 \ --reasoning-parser minimax_m2_append_think \ --trust-remote-code \ --enable-auto-tool-choice \ --max-model-len 16384 \ --max-num-seqs 32 \ --gpu-memory-utilization 0.85 ``` --- ## 動作確認 ### OpenAI互換APIでテスト ```bash curl http://localhost:8000/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{ "model": "cerebras/MiniMax-M2.5-REAP-172B-A10B", "messages": [ {"role": "user", "content": "Pythonでフィボナッチ数列を生成する関数を書いて"} ], "temperature": 1.0, "top_p": 0.95, "top_k": 40 }' ``` ### Pythonクライアント ```python from openai import OpenAI client = OpenAI( base_url="http://localhost:8000/v1", api_key="dummy" # vLLMはAPIキー不要 ) response = client.chat.completions.create( model="cerebras/MiniMax-M2.5-REAP-172B-A10B", messages=[ {"role": "user", "content": "SWE-benchスタイルのバグ修正タスクをシミュレートして"} ], temperature=1.0, top_p=0.95 ) print(response.choices[0].message.content) ``` --- ## パフォーマンスチューニング ### 推奨設定 ```bash # 環境変数でCUDAグラフ最適化 export VLLM_ATTENTION_BACKEND=FLASHINFER # DeepGEMMを有効化(要インストール) ./tools/install_deepgemm.sh ``` ### 期待されるスループット | 設定 | Input/Output | スループット | |------|-------------|-------------| | TP=2, 64K context | 2048/1024 | ~100 tok/s | | TP=2, 16K context | 2048/1024 | ~150 tok/s | ※ 実測値は環境により変動します --- ## トラブルシューティング ### OOM(メモリ不足)エラー ```bash # 対策1: シーケンス数を減らす --max-num-seqs 32 # 対策2: コンテキスト長を短く --max-model-len 16384 # 対策3: メモリ使用率を下げる --gpu-memory-utilization 0.80 ``` ### CUDA illegal memory access エラー ```bash # CUDAグラフモードを変更 --compilation-config "{\"cudagraph_mode\": \"PIECEWISE\"}" ``` ### 出力が文字化け/破損する ```bash # vLLMを最新のnightlyに更新 pip install -U vllm --extra-index-url https://wheels.vllm.ai/nightly ``` --- ## 重要な注意点 ### Thinkingトークンの扱い MiniMax-M2.5は **interleaved thinking model** です。出力に含まれる `...` タグは、履歴として次のリクエストに含める必要があります。 ```python # ❌ NGパターン:thinkingを削除 content = response.replace(r'.*?', '') # ✅ OKパターン:そのまま保持 history.append({"role": "assistant", "content": response}) ``` --- ## まとめ DGX Sparkデュアル構成(256GB)があれば、最新のMiniMax-M2.5-REAP-172Bが快適に動作します。オープンソースモデルとしてはトップクラスのコーディング・エージェント性能を持つこのモデル、ぜひ試してみてください。 ### 参考リンク - [MiniMax-M2.5-REAP-172B (Hugging Face)](https://huggingface.co/cerebras/MiniMax-M2.5-REAP-172B-A10B) - [MiniMax-M2 公式リポジトリ (GitHub)](https://github.com/MiniMax-AI/MiniMax-M2) - [vLLM MiniMax-M2 デプロイガイド](https://docs.vllm.ai/projects/recipes/en/latest/MiniMax/MiniMax-M2.html) - [REAP論文 (arXiv)](https://arxiv.org/abs/2510.13999) --- *この記事は2026年2月時点の情報です。最新情報は各公式ドキュメントをご確認ください。*