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. 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.

Afledte ord

1

Kilder

2