nemo-mbridge-perf-moe-vlm-training について
nemo-mbridge-perf-moe-vlm-trainingは、マルチモーダルMoEモデルの学習調整を支援するスキルです。FSDPと3D並列の選択を案内し、スループット評価には現実的な画像入力を重視します。
主な機能
- 01FSDPと3D並列の比較
- 02マイクロバッチサイズと再計算の調整
- 03ビジョンスタックの凍結に関する指針
- 04CUDA Graphの適用範囲設定
- 05実際のマルチモーダル入力の考慮
活用シーン
- 01新しいマルチモーダルVLM学習の立ち上げ
- 02FSDPの安定後にスループットを調整
- 03現実的な画像データでMoE性能を評価
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ nvidia/ skills --skill nemo-mbridge-perf-moe-vlm-trainingインストール後、Claude Code で/nemo-mbridge-perf-moe-vlm-trainingを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
BENCHMARK.mdcard.yamlskill-card.mdskill.oms.sigevals/evals.json詳細
MoE VLM のトレーニング
安定版ドキュメント:@docs/training/moe-optimization.md カード:@skills/nemo-mbridge-perf-moe-vlm-training/card.yaml
FSDP と 3D Parallel の比較
| アプローチ | 強み | 最適な用途 |
|---|---|---|
| FSDP | マルチモーダルの実行を動かす最も簡単な方法です | 初回の立ち上げ、メモリを優先したチューニング、扱いにくい PP 境界 |
| 3D parallel | チューニング後の性能上限が高くなります | PP レイアウトが明確で、より深い探索に時間をかけられる安定したモデル |
MoE VLM では、実用上のワークフローは通常次のとおりです。
- まず FSDP で信頼性の高い実行を実現します
- 実データ入力、再計算、メモリの挙動を安定させます
- 追加作業に見合うスループットの伸びしろがある場合に限り、3D parallel に移行します
最近の VLM 実行から得られた概況
Qwen3-VL クラスのモデル
トラッカー全体で、主な傾向は一貫していました。
- GB200 クラスのシステムでは、比較的シンプルな設定でも FSDP によって高い 10%台の利用率を十分に達成できます
- B200 の FSDP 実行も実用的ですが、再計算の選択やビジョンの固定設定により大きく左右されます
- 3D parallel でも同等以上の動作点に到達できますが、MBS、再計算、実際のビジョン経路をまとめてチューニングする必要があります
実データとモックデータ
モックデータを使った VLM の実行は、信頼できる性能の目安にはなりません。実験では、画像を含まないモック実行は、実際のマルチモーダル入力と比べて「少し楽観的」というより「およそ 2 倍速い」に近い結果でした。
VLM のスループットについて結論を出す前に、実際の画像ペイロード、または現実に近い画像ペイロードを使用してください。
小規模なマルチモーダル MoE の実行
小規模な Qwen3.5 スタイルのマルチモーダル実験でも、同じ教訓が確認されました。
- HybridEP は GB200 で有力なデフォルト設定です
- トレーニングループが安定した後は、TE スコープの CUDA グラフが有効です
- より大きな MBS で効果が得られる場合もありますが、次のボトルネックがビジョンエンコーダーにならないことが条件です
選択ガイド
次の場合は FSDP を選択してください
- 新しい VLM を初めて立ち上げる場合
- 埋め込み、ビジョン、デコーダーにまたがるステージ境界が扱いにくいモデルの場合
- 絶対的なスループットよりもメモリへの適合が重要な場合
- デコーダー中心のチューニング中にビジョンスタックを固定する可能性がある場合
次の場合は 3D parallel を選択してください
- モデルが FSDP で安定して動作している場合
- PP レイアウトが明確で、再現可能な場合
- MBS、再計算、CUDA グラフのスコープをまとめて探索できる場合
- 最も簡単な立ち上げではなく、定常状態での最高スループットが目標の場合
主なチューニング項目
-
適切な場合はビジョンスタックを固定します:デコーダー中心の作業では、ビジョン側を固定すると、スループットがわずかながら実際に向上し、メモリへの負荷も軽減されることがよくあります。
-
MBS を積極的に探索します:ビジョン経路によって計算とオーバーヘッドのバランスが変わるため、VLM はテキストのみの MoE 実行よりも MBS の影響を受けやすくなります。
-
モデルが収まったら選択的な再計算を優先します:全体再計算は立ち上げ時に役立ちますが、定常状態では通常、選択的な再計算の方が適しています。
-
CUDA グラフのスコープをワークロードに合わせます:
attn moe_router moe_preprocessはより安全な MoE のデフォルト設定ですが、スコープを狭める方法も、制御された実験では引き続き有用です。 -
EP だけでは不十分な場合に限り ETP を使用します:レイアウトを実現できる一方で、通信量とチューニング項目も増加します。
代表的な設定ファミリー
FSDP を優先する GB200 の構成
TP=1 CP=1 PP=1
EP sized to the expert topology, often large
Dispatcher: HybridEP on GB200-class systems
Recompute: start with full, then relax toward selective recompute
3D parallel の GB200 構成
TP=1 CP=1 PP=1 or modest PP
EP and ETP sized to the expert topology
Dispatcher: HybridEP
CUDA Graph: start narrow, then widen only after the real-data path is stable
互換性
| 機能 | FSDP | 3D parallel |
|---|---|---|
| GB200 での HybridEP | 強力なデフォルト設定です | トポロジーが安定した後の強力なデフォルト設定です |
| CUDA グラフ | 立ち上げ後に有効です | 有効ですが、スコープの影響をより受けやすくなります |
| ビジョンの固定 | 自然に適合します | 可能ですが、性能を代表する構成として使われる頻度は低めです |
| 選択的な再計算 | 推奨します | 推奨します |
落とし穴
-
マルチモーダルのモックデータは誤解を招きます:実際のエンドツーエンド VLM 経路よりも、デコーダーの状態がはるかに良好に見えることがあります。
-
ビジョンエンコーダーが予想外に大きなボトルネックになることがあります:すべてをディスパッチャーのせいにする前に、エンコーダー、プロジェクター、デコーダーを個別にプロファイルしてください。
-
実質的な処理量が異なる FSDP と 3D 並列実行を比較しないでください:ステップ時間だけでなく、有効トークン数とワークロードの形状で正規化してください。
-
ETP は無料ではありません:デフォルトではなく、モデルを収めるため、またはトポロジーを調整するためのツールとして使用してください。
-
再計算と CUDA グラフの選択は相互に関連します:モデルを収める設定が、定常状態で最速になる設定とは限りません。