Równoległość LLM: czym różnią się TP, PP, DP i EP?
Tłumaczenie automatyczne
Ten artykuł został automatycznie przetłumaczony z angielskiego oryginału.
Równoległość tensorowa dzieli operacje na wagach. Równoległość potokowa dzieli warstwy. Równoległość danych podczas obsługi żądań uruchamia niezależne repliki modelu. Równoległość ekspertów rozdziela ekspertów modelu typu mixture-of-experts. Wybór zależy od tego, gdzie model zmieści się w pamięci, od ruchu i od połączeń między GPUs.
To cztery powszechne podejścia. Duże wdrożenia mogą je łączyć, a trening z długim kontekstem może też korzystać z równoległości sekwencji lub kontekstu.
Co przechowuje każdy GPU?
| Podejście | Rozmieszczenie modelu | Komunikacja, którą należy uwzględnić |
|---|---|---|
| Równoległość tensorowa, TP | Części macierzy wag | Częste operacje kolektywne podczas wykonywania modelu |
| Równoległość potokowa, PP | Grupy kolejnych warstw | Aktywacje przekazywane między etapami |
| Równoległość danych, DP | Pełne repliki do obsługi żądań | Brak obliczeń modelu między replikami dla niezależnych żądań |
| Równoległość ekspertów, EP | Różni eksperci MoE | Tokeny kierowane do ekspertów, często przez wymianę każdy-z-każdym |
DP podczas treningu różni się od replik obsługujących żądania: trening łączy gradienty, a ZeRO lub FSDP mogą dzielić stan treningu. Systemy MoE mogą też koordynować współdzielone komponenty, nawet gdy część pracy wykorzystuje równoległość danych.
Raport Llama 3 opisuje łączenie form równoległości podczas treningu dużych modeli oraz inferencję z równoległością potokową. Opisane wdrożenie pokazuje, dlaczego rozmieszczenie modelu i topologię trzeba rozpatrywać łącznie; nie wyznacza uniwersalnej konfiguracji.
Wybierz najmniejszą grupę, która obsłuży obciążenie
Jeśli model do obsługi żądań mieści się na jednym GPU z wystarczającą pojemnością KV cache, zacznij od testowania niezależnych replik. Mogą zwiększyć łączną przepustowość bez dodawania operacji kolektywnych do każdego żądania.
Jeśli model potrzebuje kilku GPUs, przetestuj TP w obrębie węzła z szybkimi połączeniami między GPU. Więcej części może zmniejszyć zużycie pamięci na GPU, ale zwiększa komunikację. Jeśli model obejmuje wiele węzłów, porównaj PP i połączenia TP z PP; nierówne czasy etapów i okresy bezczynności potoku mogą zmniejszyć wykorzystanie zasobów.
Dla modelu MoE zmierz rozmieszczenie ekspertów, równomierność rozdziału tokenów i ruch w sieci połączeń, zanim dodasz EP. Dostępna pamięć dla ekspertów to tylko jeden element decyzji.
W porównaniu zachowaj te same prompty, długości odpowiedzi, precyzję i progi opóźnienia. Podaj przepustowość całej grupy obsługującej żądania; podzielenie jej przez liczbę GPU nie pozwala przewidzieć skalowania innej topologii.
Sekcja o równoległości w LLM Engineering Guide ilustruje cztery sposoby rozmieszczenia.