NastępnyNastępny poradnik
Równoległość modelu i potoku
Techniczne
PRZEWODNIK techniczny
Sposób na podzielenie obliczeń w ramach pojedynczej warstwy sieci neuronowej na wiele procesorów graficznych, aby nadal można było uruchomić model zbyt duży dla jednego urządzenia.
Posłuchaj tego przewodnikaOpowiadane przez sztuczną inteligencję · ~2 min
Ma to znaczenie, ponieważ modele pionierskie mają setki miliardów parametrów, których żaden pojedynczy procesor graficzny nie jest w stanie samodzielnie przechowywać ani obliczać wystarczająco szybko.
Równoległość tensorów (nazywana również równoległością modelu wewnątrzwarstwowego) dzieli poszczególne macierze wag na procesory graficzne zamiast umieszczać całe warstwy na oddzielnych urządzeniach. W transformatorze mnożenia dużej macierzy — projekcje uwagi i MLP ze sprzężeniem zwrotnym — są rozdzielane: na przykład pierwsza macierz wag MLP jest podzielona według kolumn, a druga przez wiersze, więc każdy procesor graficzny oblicza wycinek, a pojedyncza całkowita redukcja łączy wyniki. Uwaga jest rozdzielona między głowami, a każdy procesor graficzny obsługuje podzbiór. Ponieważ każdy procesor graficzny wykonuje część każdej warstwy jednocześnie, równoległość tensorów zmniejsza pamięć przypadającą na procesor graficzny i przyspiesza obliczenia, ale wymaga częstej komunikacji o dużej przepustowości pomiędzy procesorami graficznymi w każdej warstwie. Dlatego zwykle ogranicza się go do węzła połączonego za pomocą NVLink i łączy się z potokiem i równoległością danych w przypadku bardzo dużych zadań szkoleniowych i obsługujących.
Trenowanie modelu o parametrach 175B poprzez podzielenie macierzy wag każdej warstwy na 8 procesorów graficznych w jednym węźle podłączonym do NVLink przy użyciu Megatron-LM.
Udostępnianie modelu czatu z parametrami 70B w vLLM z tensor_parallel_size=4, dzięki czemu wagi mieszczą się na czterech procesorach graficznych i reagują w czasie rzeczywistym.
Podział głowic transformatorowych na procesory graficzne, tak aby każde urządzenie obliczało podzbiór, a następnie łączenie wyników dla następnej warstwy.
Łączenie równoległości tensorów w węzłach i równoległości potoków między węzłami w celu uczenia modeli bilionowych parametrów w dużych klastrach GPU.
Równoległość tensorowa pozostaje podstawą, ale jest coraz częściej łączona z „równoległością 3D” (tensor + potok + dane) i łączona z równoległością ekspercką w przypadku modeli typu Mixture-of-Expert. Struktury takie jak Megatron-LM, DeepSpeed i vLLM automatyzują sharding. W miarę przyspieszania połączeń GPU (NVLink, NVSwitch) i sieci optycznych granica węzła zmniejsza się, umożliwiając tworzenie szerszych grup tensorowo-równoległych. Oczekuj inteligentniejszej automatycznej równoległości, która wybiera wymiary fragmentów i rozmiary grup, aby zminimalizować komunikację dla danej topologii klastra.
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ę
Sposób na podzielenie obliczeń w ramach pojedynczej warstwy sieci neuronowej na wiele procesorów graficznych, aby nadal można było uruchomić model zbyt duży dla jednego urządzenia. Ma to znaczenie, ponieważ modele pionierskie mają setki miliardów parametrów, których żaden pojedynczy procesor graficzny nie jest w stanie samodzielnie przechowywać ani obliczać wystarczająco szybko.
Równoległość tensorowa (wewnątrzwarstwowa) dzieli macierze wag na kawałki wewnątrz warstwy, więc każdy procesor graficzny oblicza część tej samej warstwy — w odróżnieniu od równoległości potoku, która umieszcza całe warstwy na różnych procesorach graficznych.
Podział pierwszej macierzy na kolumny pozwala każdemu procesorowi graficznemu zastosować lokalnie nieliniowość; podzielenie sekundy przez wiersze oznacza, że pojedyncza redukcja sumuje częściowe wyniki, minimalizując synchronizację.
Każda warstwa uruchamia komunikację zbiorową (all-reduces), więc duży ruch wrażliwy na opóźnienia wymaga szybkich łączy międzywęzłowych, takich jak NVLink, a nie wolniejszych sieci międzywęzłowych.
Głowice uwagi są niezależne, więc są rozdzielone pomiędzy procesory graficzne — każde urządzenie oblicza część głowic, a wyniki są łączone.
All-reduce sumuje częściowe wyniki obliczone na każdym GPU, tak aby zgadzały się z wynikami warstwy; dzieje się to wiele razy na warstwę w przejściach do przodu i do tyłu.
Ucz się dalej
Wybrano więcej przewodników na ten temat
NastępnyNastępny poradnik
Równoległość modelu i potoku
Techniczne