Référence de Configuration du Matériel MoE
Docs stables : @docs/training/moe-optimization.md Fiche : @skills/perf-moe-hardware-configs/card.yaml
Playbook Rapide par Plateforme
| Plateforme | Stratégie MoE typique | Ce qui compte généralement le plus |
|---|---|---|
| H100 | DeepEP + PP plus fort + TP modéré | chevauchement de communication et efficacité PP |
| B200 | DeepEP + MXFP8 + disposition PP soignée | qualité du conteneur et paramètres comm ajustés |
| GB200 | HybridEP + graphes CUDA partiels + nettoyage CPU | surcharge hôte, dispatch tenant compte de la topologie, espace mémoire |
| GB300 | HybridEP + FP8 plus récent et pile de kernels | même playbook GB200, généralement avec un plafond plus élevé |
Bandes de Performance Arrondies
Elles sont intentionnellement arrondies pour que le document reste durable au fil du temps. Traitez-les comme des plages de planification, pas comme des promesses exactes.
| Famille de charge | Matériel | Bande typique | Forme représentative |
|---|---|---|---|
| DSV3, grande échelle | H100 | centaines faibles à moyennes TFLOPS/GPU, MFU dans les hautes dizaines | TP2, EP64, PP8, DeepEP |
| DSV3, grande échelle | B200 | centaines élevées TFLOPS/GPU, MFU dans les dizaines moyennes | TP1, EP32, PP8, DeepEP |
| DSV3, grande échelle | GB200 | environ 1K TFLOPS/GPU, MFU faible-20s | TP1, EP64, PP4, HybridEP |
| DSV3, grande échelle | GB300 | au-dessus de la bande GB200, souvent MFU mid-20s | TP1, EP64, PP4, HybridEP |
| Qwen3 235B | H100 | faibles 300s TFLOPS/GPU, environ 30% MFU | TP2, EP32, PP8, DeepEP |
| Qwen3 235B | GB200 | centaines élevées TFLOPS/GPU dans les exécutions ajustées | TP1 ou TP2, EP32-64, PP4, HybridEP |
| Qwen3 30B | H100 | faibles 200s TFLOPS/GPU | TP1, EP8, PP1, DeepEP |
| Qwen3-Next 80B | GB200 | faibles 300s TFLOPS/GPU dans les exécutions de classe BF16 | TP1, EP32, PP2, HybridEP |
Familles de Configuration Représentatives
DSV3 sur H100
Dispatcher: DeepEP
TP=2 EP=64 PP=8 VPP=4
Routing: forcer l'équilibre
Recompute: recompute sélectif léger à modéré
Priority: chevauchement de la communication et maintien de l'efficacité PP
DSV3 sur B200
Dispatcher: DeepEP
TP=1 EP=32 PP=8 VPP=2 ou similaire
Precision: classe MXFP8
Recompute: recompute sélectif autour de la up-projection MLA et des modules côté MLP
Priority: qualité du conteneur, disposition PP et ajustage SMS DeepEP
DSV3 sur GB200 ou GB300
Dispatcher: HybridEP
TP=1 EP=64 PP=4 VPP=4
Precision: classe MXFP8
CUDA Graph: attn + moe_router + moe_preprocess
Priority: HybridEP, optimisation CPU et formes statiques conviviales aux graphes
Qwen3 235B sur H100
Dispatcher: DeepEP
TP=2 EP=32 PP=8 VPP=4
Recompute: recompute sélectif côté norm et activation
Priority: chevauchement de communication et nettoyage du chemin router
Qwen3 235B sur GB200
Dispatcher: HybridEP
TP=1 ou 2 EP=32 à 64 PP=4
CUDA Graph: attn + moe_router + moe_preprocess
Recompute: moe_act, mlp, ou norm selon la pression mémoire
Priority: équilibrer le débit par rapport à l'espace mémoire disponible
Qwen3-Next 80B sur GB200
Dispatcher: HybridEP
TP=1 EP=32 PP=2 VPP autour de 4
CUDA Graph: attn + moe_router + moe_preprocess
Priority: disposition du pipeline et qualité GEMM groupé
Motifs Transversaux
Disposition PP
E= embeddingt= transformerm= MTPL= loss|= limite de stage
La plus grande différence entre plateformes n'est généralement pas seulement le dispatcher. C'est la combinaison du dispatcher, de la forme PP et du fait que VPP garde chaque stage équilibré.
Stratégie de recompute
| Pression mémoire | Point de départ |
|---|---|
| faible | aucun ou un ensemble sélectif très étroit |
| modérée | moe_act, mlp, norm, ou modules sélectifs similaires |
| élevée | up-projection spécifique au modèle plus modules MoE et MLP sélectifs |
| extrême ou long-context | recompute complet seulement si le chemin sélectif ne rentre toujours pas |
Variables d'environnement
CUDA_DEVICE_MAX_CONNECTIONS=1
CUDA_DEVICE_MAX_CONNECTIONS=32 # courant quand le chevauchement EP et les graphes CUDA sont combinés
PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True
NCCL_GRAPH_REGISTER=0
Ajustage côté CPU
Sur GB200 et GB300, l'affinité CPU et le nettoyage général de la surcharge hôte peuvent faire bouger l'aiguille presque autant qu'un changement de dispatcher. Traitez-les comme du travail d'ajustage de première classe, pas comme des ajouts de dernière minute.
Pièges
-
Ne pas copier aveuglément une ligne du tracker : la config gagnante dépend généralement du mode de routing, du conteneur et de la disposition PP autant que du nom du matériel.
-
La qualité du conteneur compte : de grandes régressions peuvent provenir de la pile logicielle plutôt que de la recette du modèle.
-
VPP doit être intentionnel : une mauvaise division VPP peut annuler le gain d'un meilleur dispatcher.
-
Comparer le débit absolu, pas seulement la MFU : la MFU peut induire en erreur lors du passage entre BF16, FP8 et d'autres modes de précision.
-
Le routing force-balance est plus sûr pour les benchmarks de référence : maintenez le mode de routing fixe lors de la comparaison de matériel ou de piles de dispatcher.