mcpField
N
nemo-mbridge-perf-moe-vlm-training

nemo-mbridge-perf-moe-vlm-training

github.com/nvidia開発3.8k1.8k 回インストール今日更新
リポジトリ

nemo-mbridge-perf-moe-vlm-training について

nemo-mbridge-perf-moe-vlm-trainingは、マルチモーダルMoEモデルの学習調整を支援するスキルです。FSDPと3D並列の選択を案内し、スループット評価には現実的な画像入力を重視します。

主な機能

  1. 01FSDPと3D並列の比較
  2. 02マイクロバッチサイズと再計算の調整
  3. 03ビジョンスタックの凍結に関する指針
  4. 04CUDA Graphの適用範囲設定
  5. 05実際のマルチモーダル入力の考慮

活用シーン

  1. 01新しいマルチモーダルVLM学習の立ち上げ
  2. 02FSDPの安定後にスループットを調整
  3. 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.md
card.yaml
skill-card.md
skill.oms.sig
evals/
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 では、実用上のワークフローは通常次のとおりです。

  1. まず FSDP で信頼性の高い実行を実現します
  2. 実データ入力、再計算、メモリの挙動を安定させます
  3. 追加作業に見合うスループットの伸びしろがある場合に限り、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 グラフのスコープをまとめて探索できる場合
  • 最も簡単な立ち上げではなく、定常状態での最高スループットが目標の場合

主なチューニング項目

  1. 適切な場合はビジョンスタックを固定します:デコーダー中心の作業では、ビジョン側を固定すると、スループットがわずかながら実際に向上し、メモリへの負荷も軽減されることがよくあります。

  2. MBS を積極的に探索します:ビジョン経路によって計算とオーバーヘッドのバランスが変わるため、VLM はテキストのみの MoE 実行よりも MBS の影響を受けやすくなります。

  3. モデルが収まったら選択的な再計算を優先します:全体再計算は立ち上げ時に役立ちますが、定常状態では通常、選択的な再計算の方が適しています。

  4. CUDA グラフのスコープをワークロードに合わせます:attn moe_router moe_preprocess はより安全な MoE のデフォルト設定ですが、スコープを狭める方法も、制御された実験では引き続き有用です。

  5. 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

互換性

機能FSDP3D parallel
GB200 での HybridEP強力なデフォルト設定ですトポロジーが安定した後の強力なデフォルト設定です
CUDA グラフ立ち上げ後に有効です有効ですが、スコープの影響をより受けやすくなります
ビジョンの固定自然に適合します可能ですが、性能を代表する構成として使われる頻度は低めです
選択的な再計算推奨します推奨します

落とし穴

  1. マルチモーダルのモックデータは誤解を招きます:実際のエンドツーエンド VLM 経路よりも、デコーダーの状態がはるかに良好に見えることがあります。

  2. ビジョンエンコーダーが予想外に大きなボトルネックになることがあります:すべてをディスパッチャーのせいにする前に、エンコーダー、プロジェクター、デコーダーを個別にプロファイルしてください。

  3. 実質的な処理量が異なる FSDP と 3D 並列実行を比較しないでください:ステップ時間だけでなく、有効トークン数とワークロードの形状で正規化してください。

  4. ETP は無料ではありません:デフォルトではなく、モデルを収めるため、またはトポロジーを調整するためのツールとして使用してください。

  5. 再計算と CUDA グラフの選択は相互に関連します:モデルを収める設定が、定常状態で最速になる設定とは限りません。

コメント