PRZEWODNIK techniczny

Równoległość modelu i potoku

Gdy model jest zbyt duży, aby zmieścić się na jednym procesorze graficznym, równoległość modelu i potoku powoduje rozdzielenie samego modelu na urządzenia.

2 minuty czytaniaOstatnia aktualizacja

Przegląd

This is what makes training giant language models with hundreds of billions of parameters physically possible.

Głębokie nurkowanie

Równoległość modelu dzieli pojedynczy model na wiele procesorów graficznych, więc żadne urządzenie nie musi utrzymywać wszystkich ciężarów. Istnieją dwa główne smaki. Równoległość tensorowa (wewnątrzwarstwowa) dzieli matematykę wewnątrz warstwy, na przykład przecinając duże mnożenie macierzy między procesorami graficznymi, z których każdy oblicza część wyniku. Równoległość potoku (międzywarstwowego) przypisuje różne kolejne warstwy do różnych procesorów graficznych, więc blok warstwy 1 znajduje się na GPU 0, blok 2 na GPU 1 itd., a aktywacje są przekazywane dalej jak linia montażowa. Wyzwaniem związanym z naiwnym potokowaniem jest „bańka”: podczas gdy procesor graficzny 0 działa w pierwszej partii, procesory graficzne znajdujące się poniżej są bezczynne. Pipelining dzieli każdą partię na mikropartie, dzięki czemu wszystkie etapy pozostają zajęte, co znacznie poprawia wykorzystanie.

Wgląd techniczny

Równoległość tensorowa (jak w NVIDIA Megatron-LM) dzieli macierze wag według kolumn lub wierszy i wykorzystuje funkcję all-reduce do ponownego łączenia częściowych wyników, utrzymując komunikację w szybkim węźle NVLink. Równoległość rurociągów (GPipe, PipeDream) dzieli partię na mikropartie, które przepływają przez etapy według rozłożonego harmonogramu, skracając czas „bąbelka” bezczynności. Obydwa są często nakładane na siebie, z równoległością tensorów w węźle i równoległością potoków między węzłami.

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ść równoległości modeli i potoków

Struktury w coraz większym stopniu automatyzują trudny problem podejmowania decyzji o podziale modelu na urządzenia, wykorzystując profilowanie i wyszukiwanie w celu zrównoważenia obliczeń i komunikacji. Spodziewaj się ściślejszej integracji tensora, potoku i równoległości danych (równoległość 3D), inteligentniejszego planowania mikrowsadowego, które prawie eliminuje pęcherzyki w potoku, oraz sprzętu z szybszymi połączeniami wzajemnymi, dzięki czemu dzielenie pojedynczej warstwy na chipy staje się tańsze i bardziej rutynowe w przypadku coraz większych modeli.

Implementacja w świecie rzeczywistym

Trenowanie modeli w stylu GPT za pomocą NVIDIA Megatron-LM, która rozdziela uwagę każdej warstwy transformatora i macierze wyprzedzające pomiędzy procesorami graficznymi poprzez równoległość tensorów.

Używanie GPipe do umieszczania różnych warstw gigantycznego modelu wizji lub języka na oddzielnych akceleratorach, podczas gdy mikro-wsadowanie zapewnia im zajęcie.

Silnik potokowy DeepSpeed ​​dzielący model zawierający wieleset miliardów parametrów na etapy obejmujące wiele węzłów.

Łączenie równoległości tensorów w pojedynczym serwerze z 8 procesorami graficznymi z równoległością potoków obejmujących wiele serwerów w celu wytrenowania modelu o wiele za dużego dla jednej maszyny.

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 Model and Pipeline Parallelism 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

Równoległość tensorowa dla dużych modeli

Często zadawane pytania

What is Model and Pipeline Parallelism?

Gdy model jest zbyt duży, aby zmieścić się na jednym procesorze graficznym, równoległość modelu i potoku powoduje rozdzielenie samego modelu na urządzenia. To właśnie sprawia, że ​​trenowanie gigantycznych modeli językowych z setkami miliardów parametrów jest fizycznie możliwe.

Jaki podstawowy problem rozwiązuje równoległość modelu i potoku?

Równoległość modelu i potoku dzieli sam model na urządzenia, umożliwiając szkolenie sieci znacznie większych, niż jest w stanie pomieścić pojedynczy procesor graficzny.

Jak działa podział równoległości tensorowej (wewnątrzwarstwowej)?

Równoległość tensorów dzieli obliczenia w obrębie pojedynczej warstwy, na przykład dzieląc macierz o dużej wadze, tak aby każdy procesor graficzny obliczał część wyniku.

Czym jest „bańka” w naiwnej równoległości rurociągów?

Na początku etapu potoku dalsze etapy nie mają jeszcze danych wejściowych i pozostają bezczynne, marnując czas procesora graficznego; ta luka bezczynności nazywana jest bańką.

W jaki sposób równoległość rurociągów zmniejsza bańkę?

Podział partii na mikropartie pozwala wielu mikropartom zajmować jednocześnie różne etapy, co zapewnia zajęcie wszystkich procesorów graficznych i skraca czas bezczynności.

Dlaczego równoległość tensorów jest zwykle utrzymywana w jednym węźle?

Równoległość tensorowa często komunikuje się w celu rekombinacji wyników częściowej macierzy, dlatego jest umieszczana tam, gdzie szerokość pasma połączeń wzajemnych jest najwyższa, wewnątrz węzła za pośrednictwem NVLink.