You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[ML/DeepLearning] Entraînement distribué sur plusieurs GPU : DDP et FSDP sous nccl, diagnostic du rang lent (suite de #18210) #19256
Issue de suivi de #18210, ouverte avant sa fermeture. Elle porte le seul volet que #18210 avait mis à part dans ses contraintes : « Le volet multi-GPU est séparé. Il s'exécute sur une machine GPU de la flotte. »
Ce qui existe sur main
Les trois carnets de #18210 sont dans ML/DataScienceWithAgents/03-DeepLearning/ et tournent entièrement sur CPU (gloo, plusieurs processus) :
3.11-Budget-Memoire-Entrainement : le budget mémoire calculé à la main, puis confronté à max_memory_allocated ;
3.12-Les-Collectives : l'anneau all-reduce écrit à la main, comparé à l'appel natif ;
3.13-Decouper-le-Modele-DDP-ZeRO-FSDP : DDP, les trois niveaux de ZeRO, FSDP, puis l'ordonnancement de GPipe et de 1F1B.
Ce qui manque
Le même geste sur de vraies cartes : l'étudiant n'a jamais vu nccl à l'œuvre, ni un rang qui attend les autres.
DDP puis FSDP sur au moins deux GPU (nccl), avec la mémoire mesurée par rang et le temps par pas, et la comparaison chiffrée avec la version gloo de 3.13.
Le diagnostic « mon GPU attend les autres » : un rang ralenti exprès, puis sa signature lue dans les mesures.
Contraintes
La machine est documentée dans le body de la PR (règle F, cas GPU seul). Sur ai-01, les GPU 0 et 1 portent le vLLM de la flotte : un run à deux cartes s'y négocie au registre gpu-reservation, et ne se lance jamais sans réservation.
[CLAIMED] lane myia-po-2023:CoursIA -- DDP/FSDP nccl bi-GPU + diagnostic rang lent ; condition GPU mesuree OK (RTX 3080 Ti Laptop 16 Go + RTX 3090 24 Go) MAIS les deux cartes portent le run 27B #18112 en cours (pid 54516, 31/48 rollouts a 08:57Z, fin estimee ~11:10Z) -- preparation du grain maintenant, executions GPU apres la liberation des cartes (jamais en contention avec le run : les mesures de rang lent seraient fausseees par la contention). Grain: MED/notebook-python — lane myia-po-2023:CoursIA — prev: LIGHT/docs #19273
[CLAIMED-AMEND] lane myia-po-2023:CoursIA -- paths: MyIA.AI.Notebooks/ML/DataScienceWithAgents/03-DeepLearning/3.13b-Deux-Cartes-Reelles-DDP-FSDP-nccl.ipynb
Amendement de forme : la claim du 2026-10-05T09:16:41Z etait epic-wide sans
clause paths:. Le livrable de ce grain est un seul carnet, donc la claim se
borne a ce carnet -- les autres lanes ne sont plus bloquees sur #19256 alors
qu'elles ne toucheront jamais ce fichier.
Portee reelle : creation de 3.13b-Deux-Cartes-Reelles-DDP-FSDP-nccl.ipynb
(DDP puis FSDP sous nccl sur deux cartes, memoire et temps par pas, diagnostic
du rang lent). Aucun autre fichier de la serie 03-DeepLearning n'est modifie.
[DELIVERED] lane myia-po-2023:CoursIA — PR #19327, head 1e32145
Les deux livrables de l'issue sont couverts, execution reelle sur les deux
cartes de po-2023 (reservation GPU annoncee a la lane gestionnaire avant le
run, fermee apres) :
DDP puis FSDP a monde=2 sous nccl, memoire par rang + pic CUDA + temps par
pas mesures : DDP 4,00 P / 3 091 Mo / 402 ms — FSDP 2,00 P / 1 299 Mo /
654 ms. Comparaison chiffree avec le gloo de 3.13 : memes rapports 4P/2P,
verifies croises contre le releve committé de 3.13.
Diagnostic du rang lent : pause 50 ms sur le rang 0 — le rang sain passe
de 402 a 444 ms (il paie la pause de l'autre), le dormant garde 394 ms.
Contraintes : machine documentee dans le body PR (regle F) ; lettre 3.13b
sans renommage ; sorties committes (C.2) ; 3 exercices C.1.
Grain: MED/notebook-python
Issue de suivi de #18210, ouverte avant sa fermeture. Elle porte le seul volet que #18210 avait mis à part dans ses contraintes : « Le volet multi-GPU est séparé. Il s'exécute sur une machine GPU de la flotte. »
Ce qui existe sur
mainLes trois carnets de #18210 sont dans
ML/DataScienceWithAgents/03-DeepLearning/et tournent entièrement sur CPU (gloo, plusieurs processus) :3.11-Budget-Memoire-Entrainement: le budget mémoire calculé à la main, puis confronté àmax_memory_allocated;3.12-Les-Collectives: l'anneau all-reduce écrit à la main, comparé à l'appel natif ;3.13-Decouper-le-Modele-DDP-ZeRO-FSDP: DDP, les trois niveaux de ZeRO, FSDP, puis l'ordonnancement de GPipe et de 1F1B.Ce qui manque
Le même geste sur de vraies cartes : l'étudiant n'a jamais vu
ncclà l'œuvre, ni un rang qui attend les autres.nccl), avec la mémoire mesurée par rang et le temps par pas, et la comparaison chiffrée avec la versiongloode 3.13.Contraintes
gpu-reservation, et ne se lance jamais sans réservation.See #18210 · See #18220 (pli 2) · See #1454 (rendez-vous GPU)
🤖 Generated with Claude Code