commit bfdf6227f9e0a02b817987231136009fe7ff14a1 Author: koide Date: Thu Feb 19 01:15:37 2026 +0000 Add: DGX SparkでMiniMax-M2.5-REAP-172Bを動かす記事 diff --git a/dgx-spark-minimax-m25-reap.md b/dgx-spark-minimax-m25-reap.md new file mode 100644 index 0000000..2237a9b --- /dev/null +++ b/dgx-spark-minimax-m25-reap.md @@ -0,0 +1,276 @@ +# 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月時点の情報です。最新情報は各公式ドキュメントをご確認ください。*