Teknisk GUIDE

Modell och pipeline parallellism

När en modell är för stor för att få plats på en GPU, delar modell och pipeline upp själva modellen mellan enheter.

2 min readSenast uppdaterad

Översikt

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

Djupdykning

Modellparallellism delar upp en enda modell över flera GPU:er så att ingen enhet behöver hålla alla vikter. Det finns två huvudsmaker. Tensor (intra-lager) parallellism delar upp matematiken inuti ett lager, som att hacka en stor matrismultiplikation över GPU:er som varje beräknar en del av utdata. Pipeline (inter-layer) parallellism tilldelar olika på varandra följande lager till olika GPU: er, så lagerblock 1 lever på GPU 0, block 2 på GPU 1, och så vidare, med aktiveringar som skickas framåt som ett löpande band. Utmaningen med naiv pipelining är "bubblan": medan GPU 0 fungerar på den första batchen, är nedströms GPU:er inaktiva. Pipelining delar upp varje batch i mikrobatcher så att alla stadier förblir upptagna, vilket dramatiskt förbättrar användningen.

Teknisk insikt

Tensorparallellism (som i NVIDIA Megatron-LM) delar upp viktmatriser kolumn- eller radvis och använder all-reduce för att rekombinera delresultat, vilket håller kommunikationen inne i en snabb NVLink-nod. Pipeline-parallellism (GPipe, PipeDream) delar upp batchen i mikrobatcher som flödar genom steg i ett förskjutet schema, vilket minskar ledig "bubbla"-tid. De två är ofta skiktade tillsammans, med tensorparallellism inom en nod och pipelineparallellism över noder.

Strategisk inverkan

Cost and budget

Arkitekturbeslut driver prestanda och driftskostnader i flera år.

Clearer decisions

Teknisk utbildning hjälper team att välja rätt stack, inte bara den nyaste.

Quality control

Bättre tekniska val minskar tillförlitlighetsincidenter i produktionen.

Framtiden för modell- och pipelineparallellism

Ramverk automatiserar alltmer det svåra problemet med att bestämma hur man delar upp en modell mellan enheter, med hjälp av profilering och sökning för att balansera beräkning och kommunikation. Förvänta dig tätare integration av tensor, pipeline och dataparallellism (3D-parallellism), smartare mikrobatch-schemaläggning för att nästan eliminera pipelinebubblor och hårdvara med snabbare sammankopplingar så att dela ett enda lager över chips blir billigare och mer rutinmässigt för allt större modeller.

Real-World Implementation

Träna modeller i GPT-stil med NVIDIA Megatron-LM, som delar upp varje transformatorlagers uppmärksamhet och matriser framåt över GPU:er via tensorparallellism.

Att använda GPipe för att placera olika lager av en gigantisk vision eller språkmodell på separata acceleratorer medan mikrobatching håller dem sysselsatta.

DeepSpeeds pipelinemotor delar upp en modell med flera hundra miljarder parametrar i steg över många noder.

Att kombinera tensorparallellism inuti en enda 8-GPU-server med pipelineparallellism som spänner över flera servrar för att träna en modell som är alldeles för stor för en maskin.

Risker & skyddsräcken

Att optimera ett riktmärke kan dölja bredare systemsvagheter.

Infrastruktur- och underhållskostnader underskattas ofta.

Säkerhets- och observerbarhetsluckor kan växa i takt med att systemen blir mer komplexa.

Färdplan för genomförande

1

Definiera latens-, kvalitet- och kostnadsmål före implementering.

2

Benchmark under realistiska belastnings- och dataförhållanden.

3

Instrumentövervakning för fel, drift och användarpåverkan.

4

Förbered återställnings- och incidentsvarsvägar innan skalning.

Fortsätt utforska

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.

Starta frågesport

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

Next guide

Tensorparallellism för stora modeller

Frequently asked questions

What is Model and Pipeline Parallelism?

När en modell är för stor för att få plats på en GPU, delar modell och pipeline upp själva modellen mellan enheter. Det är detta som gör det fysiskt möjligt att träna gigantiska språkmodeller med hundratals miljarder parametrar.

Vilket grundläggande problem löser modell- och pipelineparallellism?

Modell- och pipeline-parallellism delar upp själva modellen över enheter, vilket möjliggör träning av nätverk som är mycket större än någon enskild GPU kan hålla.

Hur fungerar tensor (intra-lager) parallellismsplittring?

Tensorparallellism delar upp beräkningen inom ett enda lager, till exempel delar upp en stor viktmatris så att varje GPU beräknar en del av utdata.

Vad är "bubblan" i naiv pipeline-parallellism?

Tidigt i ett pipelinesteg har nedströmssteg ingen ingång ännu och sitter inaktiva, vilket slösar bort GPU-tid; detta tomgångsgap kallas bubblan.

Hur minskar pipelineparallelliteten bubblan?

Genom att dela upp en batch i mikrobatcher kan flera mikrobatcher ockupera olika stadier samtidigt, vilket håller alla GPU:er upptagna och minskar vilotiden.

Varför hålls tensorparallellism vanligtvis inom en enda nod?

Tensorparallellism kommunicerar ofta för att rekombinera partiella matrisresultat, så den placeras där sammankopplingsbandbredden är högst, inuti en nod över NVLink.