nvidia/nemo-mbridge-perf-moe-vlm-training
Practical guidance for training MoE VLMs in Megatron Bridge. Compares FSDP and 3D-parallel approaches, using rounded lessons from Qwen3-VL, Qwen3-Next, and other multimodal experiments.
npx skills add https://github.com/NVIDIA/skills --skill nemo-mbridge-perf-moe-vlm-training
Stable docs: @docs/training/moe-optimization.md
Card: @skills/nemo-mbridge-perf-moe-vlm-training/card.yaml
| Approach | Strength | Best fit |
|---|---|---|
| FSDP | Simplest path to a working multimodal run | first bring-up, memory-first tuning, awkward PP boundaries |
| 3D parallel | Higher ceiling after tuning | stable models with a clean PP layout and time for deeper sweeps |
For MoE VLMs, the practical workflow is usually:
The main patterns were consistent across the tracker:
with a comparatively simple setup
vision settings
tuning MBS, recompute, and the real vision path together
Mock-data VLM runs are not trustworthy performance proxies. In the experiments,
image-free mock runs looked closer to "roughly twice as fast" than "slightly
optimistic" when compared with real multimodal input.
Use real or realistic image payloads before drawing any conclusion about VLM
throughput.
The smaller Qwen3.5-style multimodal experiments reinforce the same lessons:
next bottleneck
freezing the vision side often gives a small but real throughput gain and
reduces memory pressure.
runs because the vision path changes the compute-to-overhead balance.
useful bring-up tool, but selective recompute is usually the better steady
state.
attn moe_router moe_preprocessis the safer MoE default, while narrower scopes can still be useful for
controlled experiments.
it also introduces more communication and more tuning surface.
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
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
| Feature | FSDP | 3D parallel |
|---|---|---|
| HybridEP on GB200 | strong default | strong default once topology is stable |
| CUDA graphs | useful after bring-up | useful, but more scope-sensitive |
| Freeze vision | natural fit | possible, but less often used as the headline perf path |
| Selective recompute | recommended | recommended |
healthier than the real end-to-end VLM path.
and decoder separately before attributing everything to the dispatcher.
normalize by useful tokens and workload shape, not only by step time.
model to fit is often not the setting that gives the best steady-state speed.
Take nvidia/nemo-mbridge-perf-moe-vlm-training from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.