D
debug-distributed
Debuguj problemy trenowania rozproszonego w AReaL — zawieszenia, błędy komunikacji i OOM
Instalacja
Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.
Instalacja
O skillu
Umiejętność diagnostyczna do rozwiązywania problemów w rozproszonym trenowaniu modeli. Pomaga zidentyfikować przyczyny zawieszenia się procesów, niezgodności wyników między węzłami, błędów braku pamięci (OOM) i problemów komunikacyjnych NCCL. Zawiera praktyczne kroki minimalizacji problemu, konfigurację zmiennych środowiskowych do debugowania oraz techniki analizy stosów wywołań dla zawieszonych procesów.
Jak używać
- Uruchom umiejętność, gdy napotkasz problemy w trenowaniu rozproszonym — zawieszenia, różne wyniki na węzłach, błędy OOM lub problemy komunikacyjne NCCL. 2. Zastosuj zasadę minimalnej reprodukcji: utwórz najmniejszy skrypt testowy, który odtwarza problem, usuwając niepowiązane komponenty modelu, zmniejszając rozmiary tensorów i redukując liczbę GPU do minimum (np. 2 urządzenia). 3. Włącz szczegółowe logowanie poprzez zmienne środowiskowe: ustaw TORCH_DISTRIBUTED_DEBUG=DETAIL, NCCL_DEBUG=INFO i NCCL_DEBUG_SUBSYS=ALL, aby uzyskać pełne informacje diagnostyczne. 4. Jeśli proces się zawiesza, użyj py-spy do zrzutu stosu wywołań — znajdź identyfikator procesu poleceniem ps aux, a następnie wykonaj py-spy dump --pid [PID] lub py-spy record -o profile.svg --pid [PID] --duration 30 dla analizy wydajności. 5. Sprawdź typowe przyczyny: niezgodne kolektywne operacje (jeden węzeł wywołuje all_reduce, inny nie), błędne grupy procesów, lub konflikty w torch.compile — porównaj kod na wszystkich węzłach, aby upewnić się, że wszystkie procesy wykonują identyczne operacje rozproszone.