hybrid parallelism
Hybrid parallelism kombinerer data- og modelparallelisme for at fordele træningen af store neurale netværk på tværs af flere GPU'er eller noder.
Kort fortalt
En teknik, der både deler data op og modellen op på tværs af flere GPU'er, så man kan træne enorme modeller hurtigere.
- Kategori
- teknik
- Niveau
- øvet
- Udtale
- /ˈhaɪbrɪd ˈpær.ə.lel.ɪ.zəm/
Betydninger
1- 1
En træningsstrategi for deep learning-modeller, der samtidigt anvender data- og modelparallelisme for at udnytte flere GPU'er effektivt.
- Vi brugte hybrid parallelism til at træne GPT-3 med 175 milliarder parametre på tværs af 10.000 GPU'er. — OpenAI, 2020
- Hybrid parallelism muliggjorde effektiv træning af Megatron-LM-modellen. — NVIDIA, 2019
Hvornår bruges det
Hybrid parallelism bruges typisk i træning af sprogmodeller og andre store deep learning-modeller, hvor hverken ren data- eller modelparallelisme er tilstrækkelig. Den gør det muligt at skalere træningen til hundredvis eller tusindvis af GPU'er ved at kombinere de to tilgange.
Kodeeksempel
# Pseudokode for hybrid parallelism
model = LargeModel()
# Modelparallelisme: del modellens lag op på to GPU'er
model.layer1.to('cuda:0')
model.layer2.to('cuda:1')
# Dataparallelisme: indpak hver del med DDP
model.layer1 = DistributedDataParallel(model.layer1)
model.layer2 = DistributedDataParallel(model.layer2)Eksempel på hvordan hybrid parallelism kan implementeres i PyTorch ved at kombinere modelparallelisme (manuelt flytte lag) og dataparallelisme (DDP).
Oprindelse
Udtrykket 'hybrid' (blanding) og 'parallelisme' (parallel udførelse) refererer til kombinationen af to eller flere paralleliseringsteknikker.