Expert • Les 13

Distributed training: data- en modelparallelisme

Het trainen van een modern foundation model vereist duizenden GPU’s die wekenlang samenwerken. De coƶrdinatie van deze berekeningen is een vakgebied op zich. Drie fundamentele parallelisme-strategieen worden gecombineerd voor maximale efficiĆ«ntie.

Data-parallelisme

Bij data-parallelisme krijgt elke GPU een kopie van het volledige model maar verwerkt een ander deel van de batch. Na elke forward-backward pass worden gradienten gesynchroniseerd via AllReduce-operaties (typisch met NCCL of Gloo). Data-parallelisme schaalt goed maar vereist dat het volledige model in het GPU-geheugen past. ZeRO (Zero Redundancy Optimizer) van DeepSpeed reduceert redundantie door optimizerstate, gradienten en parameters over GPU’s te verdelen.

Tensor-parallelisme

Bij tensor-parallelisme worden individuele gewichtenmatrices opgesplitst over meerdere GPU’s. Elke GPU voert een deel van de matrixvermenigvuldiging uit; daarna worden de resultaten gecombineerd. Megatron-LM van NVIDIA implementeert tensor-parallelisme voor transformer-lagen. Dit vereist hoge bandbreedte tussen GPU’s (NVLink of InfiniBand).

Pipeline-parallelisme

Pipeline-parallelisme verdeelt de modellagen over GPU’s: GPU 1 berekent lagen 1-8, GPU 2 berekent lagen 9-16, enzovoort. Het nadeel is de pipeline-bubble: GPU’s zijn idle tijdens forward/backward-passes van andere GPU’s. GPipe en PipeDream zijn methoden die deze bubble minimaliseren via micro-batch scheduling.

3D-parallelisme

State-of-the-art training combineert alle drie: data-, tensor- en pipeline-parallelisme. Dit wordt 3D-parallelisme (of 4D met sequentieparallelisme) genoemd. De optimale configuratie hangt af van de modelarchitectuur, GPU-interconnect en batch size. Frameworks als Megatron-DeepSpeed automatiseren delen van deze configuratie.