PRZEWODNIK techniczny

Komunikacja zbiorowa i NCCL

Zbiorowa komunikacja to sposób, w jaki grupa procesorów graficznych wymienia i łączy dane, a NCCL to biblioteka firmy NVIDIA, która sprawia, że ta wymiana jest niesamowicie szybka.

2 minuty czytaniaOstatnia aktualizacja

Przegląd

Operations like all-reduce are the heartbeat of distributed training, synchronizing gradients across every GPU each step.

Głębokie nurkowanie

Uczenie dużego modelu oznacza, że ​​każdy procesor graficzny oblicza gradienty na własnym fragmencie danych, a następnie przed wykonaniem następnego kroku wszystkie procesory graficzne muszą uzgodnić łączny wynik. Ta koordynacja odbywa się za pomocą operacji zbiorowych: all-reduce sumuje wartości na procesorach graficznych i daje każdemu wynik; all-gather zbiera fragmenty każdego procesora graficznego w pełną kopię na każdym z nich; transmisja wysyła dane z jednego procesora graficznego do pozostałych; redukcja-rozproszenie łączy, a następnie dzieli. NCCL (NVIDIA Collective Communications Library) skutecznie implementuje je na procesorach graficznych w serwerze i na różnych serwerach, korzystając z algorytmów uwzględniających topologię, takich jak redukcja pierścienia i drzewa. Wykorzystuje NVLink wewnątrz węzła oraz InfiniBand lub RoCE pomiędzy węzłami i stanowi szkielet komunikacyjny w ramach PyTorch DDP, FSDP, DeepSpeed ​​i Megatron.

Wgląd techniczny

Klasyczny algorytm Ring All-Reduce: procesory graficzne tworzą logiczny pierścień, a dane są dzielone na krążące fragmenty, tak że każdy krok nakłada się na komunikację, dzięki czemu całkowita przepustowość transferu jest optymalna i w przybliżeniu niezależna od liczby procesorów graficznych. W przypadku wielu węzłów algorytmy oparte na drzewie zmniejszają opóźnienia, łącząc wyniki hierarchicznie. NCCL automatycznie wykrywa topologię, wybiera najlepszy algorytm i może przenieść obliczenia redukcyjne do sieci za pomocą NVIDIA SHARP, zmniejszając o połowę dane, które muszą przechodzić przez łącza.

Wpływ strategiczny

Koszt i budżet

Decyzje dotyczące architektury wpływają na wydajność i koszty operacyjne przez lata.

Jaśniejsze decyzje

Edukacja techniczna pomaga zespołom wybrać odpowiedni stos, a nie tylko najnowszy.

Kontrola jakości

Lepsze wybory inżynieryjne zmniejszają liczbę incydentów związanych z niezawodnością w produkcji.

Przyszłość komunikacji zbiorowej i NCCL

W miarę skalowania klastrów do setek tysięcy procesorów graficznych komunikacja w coraz większym stopniu dominuje w czasie szkolenia, dlatego biblioteki zbiorowe stanowią gorącą granicę. Oczekuj głębszego przetwarzania w sieci (przełączniki dokonują redukcji), lepszego nakładania się obliczeń i komunikacji w celu ukrycia opóźnień oraz zbiorowości o niższej precyzji, które zmniejszają przenoszone bajty. Rośnie także konkurencja dzięki wysiłkom różnych dostawców i RDMA opartemu na Ethernecie, wypychającym alternatywy, podczas gdy NCCL stale zacieśnia integrację z NVLink, NVSwitch i pojawiającymi się tkaninami optycznymi.

Implementacja w świecie rzeczywistym

Synchronizowanie gradientów na każdym etapie treningu na wszystkich procesorach graficznych przy użyciu funkcji all-reduce w PyTorch DistributedDataParallel

Dzielenie stanów optymalizatora na fragmenty i zbieranie parametrów na żądanie za pomocą funkcji gromadzenia wszystkich danych i redukcji rozproszenia w FSDP lub DeepSpeed ZeRO

Rozgłaszanie początkowych wag modeli z jednego procesora graficznego do wszystkich pozostałych na początku cyklu szkoleniowego

Korzystanie z funkcji Ring All-Reduce w sieciach NVLink i InfiniBand w celu utrzymania wysokiej przepustowości w wielowęzłowych klastrach GPU

Zagrożenia i poręcze

Optymalizacja jednego testu porównawczego może ukryć szersze słabości systemu.

Koszty infrastruktury i utrzymania są często niedoszacowane.

W miarę jak systemy stają się coraz bardziej złożone, luki w bezpieczeństwie i obserwowalności mogą się zwiększać.

Plan wdrożenia

1

Przed wdrożeniem zdefiniuj docelowe opóźnienia, jakość i koszty.

2

Test porównawczy w realistycznych warunkach obciążenia i danych.

3

Monitorowanie przyrządu pod kątem błędów, dryftu i wpływu użytkownika.

4

Przed skalowaniem przygotuj ścieżki wycofywania zmian i reakcji na incydenty.

Odkrywaj dalej

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the Collective Communication and NCCL quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

Rozpocznij quiz

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

Następny poradnik

Przekrzywienie w udostępnianiu funkcji online i offline

Często zadawane pytania

What is Collective Communication and NCCL?

Zbiorowa komunikacja to sposób, w jaki grupa procesorów graficznych wymienia i łączy dane, a NCCL to biblioteka firmy NVIDIA, która sprawia, że ta wymiana jest niesamowicie szybka. Operacje takie jak all-reduce stanowią serce rozproszonego szkolenia, synchronizując gradienty na każdym procesorze graficznym na każdym kroku.

Co osiąga operacja całkowitej redukcji w szkoleniu rozproszonym?

Funkcja All-Reduce sumuje (lub w inny sposób łączy) wartości na każdym procesorze graficznym i rozdziela identyczny wynik z powrotem na każdy z nich, w ten sposób synchronizuje się gradienty.

Co oznacza skrót NCCL?

NCCL to biblioteka komunikacji zbiorowej NVIDIA, która implementuje szybkie zbiorowe operacje na wielu procesorach graficznych i wielu węzłach.

Dlaczego funkcja Ring All-Reduce jest uważana za optymalną pod względem przepustowości?

Dzięki porcjowaniu danych i przekazywaniu ich fragmentów po logicznym pierścieniu każde łącze jest używane jednocześnie, a całkowity transfer staje się w przybliżeniu niezależny od liczby procesorów graficznych.

Która zbiorowa operacja gromadzi dane każdego procesora graficznego w pełnej kopii przechowywanej przez wszystkie procesory graficzne?

Funkcja All-gather zbiera odrębne elementy z każdego procesora graficznego i składa na nich kompletny zestaw, często używany w szkoleniach podzielonych na fragmenty, takich jak FSDP.

Co NVIDIA SHARP robi dla wspólnych operacji?

Firma SHARP wykonuje obliczenia w sieci, dokonując części redukcji wewnątrz przełącznika, dzięki czemu mniej danych musi przechodzić przez łącza, co przyspiesza działanie kolektywów.