nemo-mbridge-perf-moe-long-context
NVIDIA/skills
Oferece orientações para o treinamento de modelos do tipo “Mixture-of-Experts” com janelas de contexto longas, abordando o dimensionamento do paralelismo de contexto, a recomputação seletiva, as opções de despachador e padrões práticos extraídos de experimentos recentes.
...Expandir tudoTreinamento de contexto longo do MoE
Documentação estável: @docs/training/moe-optimization.md Cartão: @skills/nemo-mbridge-perf-moe-long-context/card.yaml
O que muda em contextos longos
Quando o comprimento da sequência ultrapassa amplamente a faixa de 4K, a memória de atenção e a permanência da ativação tornam-se as restrições dominantes. Para modelos MoE, isso geralmente significa que é necessária alguma combinação de:
- paralelismo de contexto
- recálculo seletivo
- menor precisão
- descarregamento da CPU para o estado do otimizador
- um despachante e um layout PP que não desperdicem o orçamento de DP restante, que é menor
Padrões de escalonamento arredondados
DSV3 no H100
As execuções de contexto longo do DSV3 apresentam um padrão estável:
- o recálculo seletivo funciona melhor do que o recálculo completo assim que se ultrapassam os contextos mais curtos
- a taxa de transferência permanece em uma faixa bastante estreita, desde contextos de comprimento médio até os muito longos, se o CP for aumentado adequadamente
- o equilíbrio muda de “capacidade de memória” para “viabilidade do número de GPUs” à medida que o CP aumenta
Em outras palavras, o contexto longo não reduz imediatamente a utilização se o layout for bem escolhido, mas consome o orçamento de DP muito rapidamente.
Qwen3-Next no GB200
O Qwen3-Next se comporta mais como um modelo de média escala sensível à memória:
- 8K e 32K continuam sendo viáveis com CP moderado
- 64K é possível, mas a queda na taxa de transferência é perceptível e a memória fica muito mais limitada
- melhorias no layout do pipeline e no GEMM agrupado são quase tão importantes quanto o CP
Qwen3 235B no GB200
O Qwen3 235B mostra que um contexto longo ainda pode ser eficiente em sistemas NVL72 quando TP, CP e HybridEP são coordenados. As melhores configurações da classe 128K não são apenas receitas do tipo “apenas adequadas”; elas podem permanecer altamente eficientes se o roteamento, o paralelismo e o recálculo estiverem equilibrados.
Regras práticas para dimensionamento de CP
Comece com uma meta de fragmento de 4K: uma boa estimativa inicial é
CP ~= seq_len / 4096, depois arredonde para um layout prático que seja uma potência de dois.Mantenha o DP ativo, se possível: o escalonamento de contexto longo se torna instável quando CP, EP, TP e PP, juntos, reduzem o DP ao mínimo.
Prefira a recomputação seletiva: recompute módulos como
up_proj,norm,moe,moe_actoumlpantes de recorrer à recomputação completa.Evite recálculos com uso intenso de SDPA em contextos muito longos: recalcular os componentes internos da atenção pode adicionar muito trabalho para um benefício de memória menor do que recalcular módulos menores do lado do MoE e do MLP.
Use o TP como outra alavanca em sistemas NVL72: execuções no GB200 e no GB300 podem, às vezes, trocar um pouco de CP por TP sem perder a eficiência.
Presuma que o GBS precisará ser reduzido: à medida que o CP aumenta e o DP diminui, talvez seja necessário reduzir o tamanho do lote global ou aceitar um GA mais alto.
Famílias de configurações representativas
DSV3 a 128K no H100
TP=1 CP=32 EP=32 PP=8 VPP=4
Precisão: classe FP8
Despachador: DeepEP
Recálculo: up_proj, norm, moe, mlp
Ajuda extra de memória: descarregamento da CPU pelo otimizador
DSV3 com 256K no H100
TP=1 CP=64 EP=32 PP=8 EDP=2 VPP=4
Precisão: classe FP8
Despachador: DeepEP
Recálculo: up_proj, norm, moe, mlp
Ajuda extra de memória: descarregamento da CPU pelo otimizador
Qwen3 235B a 128K no GB200
TP=4 CP=4 EP=32 PP=4 VPP=12
Precisão: BF16 ou MXFP8
Despachante: HybridEP
Recálculo: moe_act, norm
Grafo CUDA: attn + moe_router + moe_preprocess
Orientação sobre recalculação e gráfico CUDA
Para treinamento MoE de contexto longo:
- comece com o recálculo seletivo
- adicione gráficos CUDA somente depois que as formas e o caminho de roteamento estiverem estáveis
- mantenha o comprimento da sequência e o MBS fixos ao usar gráficos CUDA
- se a execução depender de lotes altamente dinâmicos, dê preferência à execução antecipada
Referências úteis:
- @docs/training/activation-recomputation.md
- @skills/nemo-mbridge-perf-cuda-graphs/SKILL.md
Armadilhas
O CP não substitui o EP nem o PP: ele acrescenta outra dimensão; não faz com que os outros desapareçam.
Uma boa linha de base 4K ainda pode ser uma linha de base ruim para contextos longos: o modo de roteamento, a escolha de recálculo e a estratégia de descarregamento muitas vezes precisam ser alterados.
A viabilidade em termos de número de GPUs torna-se a verdadeira restrição: um contexto muito longo pode parecer adequado em uma única receita, mas tornar-se impossível quando o EP e o PP são adicionados de forma consistente em todo o modelo.
Os gráficos CUDA precisam de formatos estáticos: lotes de comprimento variável e estratégias oportunistas de preenchimento podem interromper o caminho sem aviso prévio.
O suporte a contêineres e kernels é mais importante em 128K+: caminhos de contexto longo tendem a depender de kernels mais recentes e correções de bugs do que a inicialização de contexto curto.
---
name: nemo-mbridge-perf-moe-long-context
description: Provides guidance for training Mixture-of-Experts models with long context windows, covering context parallelism sizing, selective recomputation, dispatcher choices, and practical patterns from recent experiments.
license: Apache-2.0
---
# MoE Long-Context Training
Stable docs: @docs/training/moe-optimization.md
Card: @skills/nemo-mbridge-perf-moe-long-context/card.yaml
## What Changes At Long Context
Once sequence length moves well past the 4K-class regime, attention memory and
activation residency become the dominant constraints. For MoE models, that
usually means you need some combination of:
- context parallelism
- selective recompute
- lower precision
- CPU offload for optimizer state
- a dispatcher and PP layout that do not waste the smaller remaining DP budget
## Rounded Scaling Patterns
### DSV3 on H100
The DSV3 long-context runs show a stable pattern:
- selective recompute works better than full recompute once you move past the
shortest contexts
- throughput stays in a fairly narrow band from mid-length through very long
contexts if CP is increased appropriately
- the trade shifts from "memory fit" to "GPU-count feasibility" as CP grows
In other words, long context does not immediately collapse utilization if the
layout is chosen well, but it does consume the DP budget very quickly.
### Qwen3-Next on GB200
Qwen3-Next behaves more like a memory-sensitive medium-scale model:
- 8K and 32K remain practical with moderate CP
- 64K is possible, but the throughput drop is noticeable and memory becomes
much tighter
- pipeline layout and grouped-GEMM improvements matter almost as much as CP
### Qwen3 235B on GB200
Qwen3 235B shows that long context can still be efficient on NVL72 systems when
TP, CP, and HybridEP are coordinated. The best 128K-class configurations are
not just "fit-only" recipes; they can remain highly efficient if routing,
parallelism, and recompute are balanced.
## CP Sizing Rules Of Thumb
1. **Start from a 4K shard target**: a good first guess is
`CP ~= seq_len / 4096`, then round to a practical power-of-two layout.
2. **Keep DP alive if possible**: long-context scaling becomes brittle once CP,
EP, TP, and PP together squeeze DP down to the floor.
3. **Prefer selective recompute**: recompute modules such as `up_proj`, `norm`,
`moe`, `moe_act`, or `mlp` before reaching for full recompute.
4. **Avoid SDPA-heavy recompute at very long context**: recomputing attention
internals can add a lot of work for less memory benefit than recomputing
smaller MoE and MLP-side modules.
5. **Use TP as another lever on NVL72 systems**: GB200 and GB300 runs can
sometimes trade some CP for TP while still staying efficient.
6. **Assume GBS will need to shrink**: as CP rises and DP falls, you may need
to reduce global batch size or accept higher GA.
## Representative Config Families
### DSV3 at 128K on H100
```text
TP=1 CP=32 EP=32 PP=8 VPP=4
Precision: FP8-class
Dispatcher: DeepEP
Recompute: up_proj, norm, moe, mlp
Extra memory help: optimizer CPU offload
```
### DSV3 at 256K on H100
```text
TP=1 CP=64 EP=32 PP=8 EDP=2 VPP=4
Precision: FP8-class
Dispatcher: DeepEP
Recompute: up_proj, norm, moe, mlp
Extra memory help: optimizer CPU offload
```
### Qwen3 235B at 128K on GB200
```text
TP=4 CP=4 EP=32 PP=4 VPP=12
Precision: BF16 or MXFP8
Dispatcher: HybridEP
Recompute: moe_act, norm
CUDA Graph: attn + moe_router + moe_preprocess
```
## Recompute And CUDA Graph Guidance
For long-context MoE training:
- start with selective recompute
- add CUDA graphs only after the shapes and routing path are stable
- keep sequence length and MBS fixed when using CUDA graphs
- if the run depends on highly dynamic batches, prefer eager execution
Useful references:
- @docs/training/activation-recomputation.md
- @skills/nemo-mbridge-perf-cuda-graphs/SKILL.md
## Pitfalls
1. **CP does not replace EP or PP**: it adds another dimension; it does not make
the others disappear.
2. **A good 4K baseline can still be a bad long-context baseline**: routing mode,
recompute choice, and offload strategy often need to change.
3. **GPU-count feasibility becomes the real constraint**: very long context can
look fine in a single recipe, then become impossible once EP and PP are added
honestly across the full model.
4. **CUDA graphs need static shapes**: variable-length batches and opportunistic
padding strategies can silently break the path.
5. **Container and kernel support matters more at 128K+**: long-context paths
tend to rely on newer kernels and bug fixes than short-context bring-up does.
Todos os arquivos
1 arquivosInstalar nemo-mbridge-perf-moe-long-context
Baixe e descompacte os arquivos de habilidades no diretório .claude/skills/.
Baixar ZIPClone o repositório e copie os arquivos da habilidade para o seu projeto.
git clone https://github.com/NVIDIA/skills/tree/main/skills/nemo-mbridge-perf-moe-long-context # Copy SKILL.md to your .claude/skills/ directory
Copiar





Lar
