NastępnyNastępny poradnik
Równoległość tensorowa dla dużych modeli
Techniczne
PRZEWODNIK techniczny
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
To właśnie sprawia, że trenowanie gigantycznych modeli językowych z setkami miliardów parametrów jest fizycznie możliwe.
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.
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.
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.
Darmowy newsletter
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ę
Natychmiastowa informacja zwrotna na każde pytanie oraz udostępnialny certyfikat z weryfikowalnym ID po zaliczeniu kursu.
Wspieraj darmową edukację AI. AI Understanding jest organizacją non-profit 501(c)(3) — bez reklam, bez płatnej ściany, zawsze. Przekaż darowiznę
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.
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.
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.
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ą.
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.
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.
Ucz się dalej
Wybrano więcej przewodników na ten temat
NastępnyNastępny poradnik
Równoległość tensorowa dla dużych modeli
Techniczne