nemo-mbridge-perf-moe-vlm-training
NVIDIA/skills
В данной статье представлены практические рекомендации по обучению моделей «зрение-язык» на основе смеси экспертов в Megatron Bridge, а также проводится сравнение подходов FSDP и 3D-параллельного обучения с учетом выводов, полученных в ходе недавних мультимодальных экспериментов.
...Расширить всеОбучение VLM от MoE
Стабильная документация: @docs/training/moe-optimization.md Карточка: @skills/nemo-mbridge-perf-moe-vlm-training/card.yaml
FSDP против 3D Parallel
| Подход | Преимущества | Наилучшее применение |
|---|---|---|
| FSDP | Самый простой путь к рабочему мультимодальному запуску | первоначальный запуск, настройка с приоритетом памяти, неудобные границы PP |
| 3D-параллелизм | Более высокий потолок после настройки | Стабильные модели с четкой структурой PP и временем для более глубоких прогонов |
Для VLM с методом MoE практический рабочий процесс обычно выглядит следующим образом:
- получить первый надёжный прогон с помощью FSDP
- стабилизация ввода реальных данных, пересчёт и анализ поведения памяти
- переходить к 3D-параллелизму только в том случае, если запас пропускной способности оправдывает дополнительные усилия
Общие выводы по результатам недавних запусков VLM
Модели класса Qwen3-VL
Основные закономерности были одинаковыми для всех тестов:
- FSDP на системах класса GB200 уже может достигать хорошей загрузки в диапазоне высоких значений в десятках процентов при сравнительно простой настройке
- Запуски FSDP на B200 являются жизнеспособными, но более чувствительны к выбору пересчёта и фиксированным настройкам системы «vision»
- 3D-параллелизм позволяет восстановить аналогичную или более эффективную рабочую точку, но только после совместной настройки MBS, пересчёта и реального пути обработки изображений
Реальные данные против фиктивных данных
Запуски VLM с фиктивными данными не являются достоверными индикаторами производительности. В ходе экспериментов запуски с фиктивными данными без изображений по скорости были ближе к показателю «примерно в два раза быстрее», чем к «слегка оптимистичному» по сравнению с реальными мультимодальными входными данными.
Используйте реальные или реалистичные наборы изображений, прежде чем делать какие-либо выводы о пропускной способности VLM.
Небольшие мультимодальные тесты с использованием MoE
Более мелкие мультимодальные эксперименты в стиле Qwen3.5 подтверждают те же выводы:
- HybridEP — надежный вариант по умолчанию на GB200
- Графы CUDA с TE-оптимизацией помогают, как только цикл обучения стабилизируется
- использование более крупных MBS может окупиться, но только в том случае, если кодер изображений не станет следующим узким местом
Руководство по принятию решений
Выбирайте FSDP, если
- вы впервые запускаете новую VLM
- модель имеет неудобные границы этапов между встраиванием, обработкой изображений и декодером
- вместимость памяти важнее абсолютной пропускной способности
- вы можете приостановить работу стека обработки изображений во время настройки, ориентированной на декодер
Выбирайте 3D-параллелизм, если
- модель уже стабильна при использовании FSDP
- структура PP понятна и воспроизводима
- вы можете одновременно варьировать MBS, пересчитывать и отслеживать CUDA-граф
- цель — максимальная пропускная способность в установившемся режиме, а не максимально простой запуск
Ключевые параметры настройки
При необходимости «замораживайте» стек обработки изображений: если работа сосредоточена на декодере, «замораживание» стороны обработки изображений часто даёт небольшой, но реальный прирост пропускной способности и снижает нагрузку на память.
Активно проводите прогон MBS: VLM более чувствительны к MBS, чем запуски MoE, использующие только текст, поскольку тракт обработки изображений изменяет соотношение вычислений и накладных расходов.
Отдавайте предпочтение выборочному пересчёту после подгонки модели: полный пересчёт — полезный инструмент для запуска, но выборочный пересчёт обычно обеспечивает лучший стационарный режим.
Согласовывайте область действия CUDA-графа с рабочей нагрузкой:
attn moe_router moe_preprocess— это более безопасный вариант MoE по умолчанию, в то время как более узкие области действия все же могут быть полезны для контролируемых экспериментов.Используйте ETP только тогда, когда одного EP недостаточно: он может разблокировать макет, но также приводит к увеличению объема обмена данными и расширяет область настройки.
Типичные семейства конфигураций
Путь «FSDP-first» на GB200
TP=1 CP=1 PP=1
Размер EP подбирается под экспертную топологию, часто большой
Диспетчер: HybridEP на системах класса GB200
Пересчёт: начинайте с полного, затем переходите к выборочному пересчёту
3D-параллельный путь GB200
TP=1 CP=1 PP=1 или умеренное значение PP
Размеры EP и ETP соответствуют экспертной топологии
Диспетчер: HybridEP
Граф CUDA: начинать с узкого, затем расширять только после стабилизации пути реальных данных
Совместимость
| Функция | FSDP | 3D-параллелизм |
|---|---|---|
| HybridEP на GB200 | сильное значение по умолчанию | сильный по умолчанию после стабилизации топологии |
| Графики CUDA | полезно после запуска системы | полезны, но более чувствительны к области действия |
| Заморозка изображения | естественно подходит | возможно, но реже используется в качестве основного пути повышения производительности |
| Выборочный пересчёт | рекомендуется | рекомендуется |
Ловушки
Имитация мультимодальных данных вводит в заблуждение: она может сделать работу декодера гораздо более «успешной», чем в реальном сквозном пути VLM.
Визуальный кодер может неожиданно доминировать: проанализируйте кодер, проектор и декодер по отдельности, прежде чем приписывать всё диспетчеру.
Не сравнивайте запуски FSDP и 3D-параллельные запуски с разной эффективной нагрузкой: нормируйте по полезным токенам и форме рабочей нагрузки, а не только по времени шага.
ETP не является бесплатным: используйте его как инструмент для подгонки или определения топологии, а не в качестве настройки по умолчанию.
Выбор пересчёта и графа CUDA взаимосвязан: настройка, при которой модель подходит, часто не является той, которая обеспечивает наилучшую скорость в установившемся режиме.
---
name: nemo-mbridge-perf-moe-vlm-training
description: Provides practical guidance for training Mixture-of-Experts Vision-Language Models in Megatron Bridge, comparing FSDP and 3D-parallel approaches with lessons from recent multimodal experiments.
license: Apache-2.0
---
# MoE VLM Training
Stable docs: @docs/training/moe-optimization.md
Card: @skills/nemo-mbridge-perf-moe-vlm-training/card.yaml
## FSDP vs 3D Parallel
| 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:
1. get the first reliable run with FSDP
2. stabilize real-data input, recompute, and memory behavior
3. move to 3D parallel only if the throughput headroom is worth the extra work
## Rounded Findings From Recent VLM Runs
### Qwen3-VL class models
The main patterns were consistent across the tracker:
- FSDP on GB200-class systems can already reach healthy high-teens utilization
with a comparatively simple setup
- B200 FSDP runs are viable, but more sensitive to recompute choice and frozen
vision settings
- 3D parallel can recover to a similar or better operating point, but only after
tuning MBS, recompute, and the real vision path together
### Real data vs mock data
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.
### Smaller multimodal MoE runs
The smaller Qwen3.5-style multimodal experiments reinforce the same lessons:
- HybridEP is a solid default on GB200
- TE-scoped CUDA graphs help once the training loop is stable
- larger MBS can pay off, but only if the vision encoder does not become the
next bottleneck
## Decision Guide
### Choose FSDP when
- you are bringing up a new VLM for the first time
- the model has awkward stage boundaries across embedding, vision, and decoder
- memory fit matters more than absolute throughput
- you may freeze the vision stack during decoder-focused tuning
### Choose 3D parallel when
- the model is already stable under FSDP
- the PP layout is clear and repeatable
- you can sweep MBS, recompute, and CUDA-graph scope together
- the goal is best steady-state throughput, not easiest bring-up
## Key Tuning Knobs
1. **Freeze the vision stack when appropriate**: if the work is decoder-focused,
freezing the vision side often gives a small but real throughput gain and
reduces memory pressure.
2. **Sweep MBS aggressively**: VLMs are more MBS-sensitive than text-only MoE
runs because the vision path changes the compute-to-overhead balance.
3. **Prefer selective recompute once the model fits**: full recompute is a
useful bring-up tool, but selective recompute is usually the better steady
state.
4. **Match CUDA-graph scope to the workload**: `attn moe_router moe_preprocess`
is the safer MoE default, while narrower scopes can still be useful for
controlled experiments.
5. **Use ETP only when EP alone is insufficient**: it can unlock a layout, but
it also introduces more communication and more tuning surface.
## Representative Config Families
### FSDP-first GB200 path
```text
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 path
```text
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
```
## Compatibility
| 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 |
## Pitfalls
1. **Mock multimodal data is misleading**: it can make the decoder look much
healthier than the real end-to-end VLM path.
2. **The vision encoder can dominate unexpectedly**: profile encoder, projector,
and decoder separately before attributing everything to the dispatcher.
3. **Do not compare FSDP and 3D-parallel runs with different effective work**:
normalize by useful tokens and workload shape, not only by step time.
4. **ETP is not free**: use it as a fit or topology tool, not as the default.
5. **Recompute and CUDA-graph choices are coupled**: the setting that gets the
model to fit is often not the setting that gives the best steady-state speed.
Все файлы
1 файловУстановить nemo-mbridge-perf-moe-vlm-training
Скачайте файлы навыков и распакуйте их в каталог .claude/skills/.
Скачать ZIPКлонируйте репозиторий и скопируйте файлы навыка в свой проект.
git clone https://github.com/NVIDIA/skills/tree/main/skills/nemo-mbridge-perf-moe-vlm-training # Copy SKILL.md to your .claude/skills/ directory
Копировать





Дом
