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.

Posłuchaj tego przewodnikaOpowiadane przez sztuczną inteligencję · ~2 min

Na tej stronie2 minuty czytania
  1. Przegląd
  2. Głębokie nurkowanie
  3. Implementacja w świecie rzeczywistym
  4. Przyszłość równoległości modeli i potoków
  5. Wdrażanie tego w praktykę
  6. Odkrywaj dalej
  7. Często zadawane pytania

Przegląd

To właśnie sprawia, że ​​trenowanie gigantycznych modeli językowych z setkami miliardów parametrów jest fizycznie możliwe.

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.

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.

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.

Wdrażanie tego w praktykę

Dlaczego to ma znaczenie

  • 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.

Uważaj na

  • 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ć.

Kolejne kroki

  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

Darmowy newsletter

Otrzymuj codzienne podsumowanie AI

Trzy zweryfikowane historie AI każdego poranka w dni robocze, napisane prostym angielskim. Bezpłatne na zawsze, bez reklam.

Jedno e‑mail każdego dnia roboczego. Wypisz się jednym kliknięciem. Nigdy nie sprzedajemy ani nie udostępniamy Twojego adresu.

Sprawdź się

Take the Model and Pipeline Parallelism quiz

Natychmiastowa informacja zwrotna na każde pytanie oraz udostępnialny certyfikat z weryfikowalnym ID po zaliczeniu kursu.

Rozpocznij quiz

Wspieraj darmową edukację AI. AI Understanding jest organizacją non-profit 501(c)(3) — bez reklam, bez płatnej ściany, zawsze. Przekaż darowiznę

Często zadawane pytania

Co to jest 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. 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.