Technický PRŮVODCE

Paralelnost modelu a potrubí

Když je model příliš velký na to, aby se vešel na jeden GPU, paralelismus modelu a potrubí rozdělí samotný model mezi zařízení.

2 minuty čteníNaposledy aktualizováno

Přehled

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

Hluboký ponor

Paralelismus modelu rozděluje jeden model na více GPU, takže žádné zařízení nemusí nést všechny váhy. Existují dvě hlavní příchutě. Tenzorový (vnitrovrstvový) paralelismus rozděluje matematiku uvnitř vrstvy, jako je sekání velkého násobení matic mezi GPU, z nichž každý počítá část výstupu. Pipeline (mezivrstvý) paralelismus přiřazuje různé po sobě jdoucí vrstvy různým GPU, takže blok vrstvy 1 žije na GPU 0, blok 2 na GPU 1 a tak dále, přičemž aktivace se předávají jako montážní linka. Výzvou naivního pipeliningu je „bublina“: zatímco GPU 0 funguje na první várce, následné GPU nečinně pracují. Pipelining rozděluje každou dávku na mikrodávky, takže všechny fáze zůstávají zaneprázdněné, což výrazně zlepšuje využití.

Technický přehled

Paralelismus tenzoru (jako v NVIDIA Megatron-LM) rozděluje matice váhy po sloupcích nebo řádcích a používá all-reduce k rekombinaci dílčích výsledků, čímž udržuje komunikaci uvnitř rychlého uzlu NVLink. Paralelnost potrubí (GPipe, PipeDream) rozděluje dávku na mikrodávky, které procházejí fázemi v rozloženém plánu, čímž se zkracuje doba nečinnosti „bublin“. Tyto dva jsou často vrstvené dohromady, s paralelismem tenzorů v rámci uzlu a paralelismem potrubí mezi uzly.

Strategický dopad

Cena a rozpočet

Rozhodnutí o architektuře zvyšují výkon a provozní náklady po mnoho let.

Jasnější rozhodnutí

Technické vzdělání pomáhá týmům vybrat ten správný stack, nejen ten nejnovější.

Kontrola kvality

Lepší konstrukční volby snižují výskyt problémů se spolehlivostí ve výrobě.

Budoucnost modelového a potrubního paralelismu

Frameworky stále více automatizují obtížný problém rozhodování o tom, jak rozdělit model mezi zařízení, pomocí profilování a vyhledávání k vyvážení výpočtu a komunikace. Očekávejte těsnější integraci paralelismu tenzoru, potrubí a dat (3D paralelismus), chytřejší plánování mikrodávek pro téměř odstranění bublin v potrubí a hardware s rychlejším propojením, takže rozdělení jedné vrstvy mezi čipy bude levnější a rutinnější pro stále větší modely.

Real-World Implementace

Trénujte modely ve stylu GPT s NVIDIA Megatron-LM, která rozděluje pozornost každé vrstvy transformátoru a matice předávání mezi GPU pomocí paralelismu tenzoru.

Použití GPipe k umístění různých vrstev obřího vize nebo jazykového modelu na samostatné akcelerátory, zatímco mikrodávky je zaměstnávají.

Potrubní motor DeepSpeed ​​rozdělující model s mnoha stovkami miliard parametrů do fází napříč mnoha uzly.

Kombinace paralelismu tenzoru uvnitř jediného 8-GPU serveru s paralelismem potrubí zahrnujícím více serverů pro trénování modelu příliš velkého pro jeden stroj.

Rizika a zábradlí

Optimalizace jednoho benchmarku může skrýt širší systémové slabiny.

Náklady na infrastrukturu a údržbu jsou často podceňovány.

Mezery v zabezpečení a pozorovatelnosti se mohou zvětšovat, jak se systémy stávají složitějšími.

Plán implementace

1

Před implementací definujte cíle latence, kvality a nákladů.

2

Benchmark za realistických podmínek zatížení a dat.

3

Monitorování chyb, posunu a dopadu na uživatele.

4

Před škálováním připravte cesty vrácení zpět a reakce na incidenty.

Pokračujte v objevování

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.

Spustit kvíz

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

Další průvodce

Tenzorová paralelita pro velké modely

Často kladené otázky

What is Model and Pipeline Parallelism?

Když je model příliš velký na to, aby se vešel na jeden GPU, paralelismus modelu a potrubí rozdělí samotný model mezi zařízení. Díky tomu je fyzicky možné trénovat obří jazykové modely se stovkami miliard parametrů.

Jaký základní problém řeší paralelismus modelu a potrubí?

Paralelnost modelu a potrubí rozděluje samotný model mezi zařízení, což umožňuje trénování sítí mnohem větších, než by dokázal pojmout kterýkoli jediný GPU.

Jak funguje rozdělení tenzorového (vnitrovrstvého) paralelismu?

Tenzorový paralelismus rozděluje výpočet v rámci jedné vrstvy, například rozděluje velkou hmotnostní matici, takže každý GPU počítá část výstupu.

Co je to „bublina“ v naivním paralelismu potrubí?

V počáteční fázi procesu nemají následující fáze ještě žádný vstup a nečinně se usazují, čímž se ztrácí čas GPU; tato mezera naprázdno se nazývá bublina.

Jak rovnoběžnost potrubí snižuje bublinu?

Rozdělení dávky na mikrodávky umožňuje několika mikrodávkám zabírat různé fáze současně, čímž zaměstnává všechny GPU a zkracuje dobu nečinnosti.

Proč je paralelismus tenzoru obvykle udržován v rámci jednoho uzlu?

Tenzorový paralelismus často komunikuje, aby rekombinoval výsledky dílčí matice, takže je umístěn tam, kde je šířka pásma propojení největší, uvnitř uzlu přes NVLink.