Back to archive
#ai#llm#glossary#aigen

Data Parallelism

Data Parallelism rozdziela dane między repliki modelu. Każda wykonuje te same operacje na swojej porcji. W synchronicznym treningu repliki uzgadniają gradienty, a następnie wykonują taki sam krok aktualizacji wag. Podział danych trzeba zaplanować oddzielnie: PyTorch DistributedDataParallel synchronizuje gradienty, lecz sam nie rozdziela wejść między GPU.

Trzy jednakowe krosna pracują na różnych tkaninach i mają wspólnie ustawiane regulatory.

Trzy kopie mają nauczyć się tego samego

Własny przykład sprowadza model do jednego parametru w=1w=1 i straty L=12(wy)2L=\tfrac12(w-y)^2. Gradient wynosi g=wyg=w-y. Trzy repliki dostają cele y=0,2,4y=0,2,4, więc ich lokalne gradienty to 1,1,31,-1,-3.

Przy kroku uczenia 0,10{,}1 aktualizacja bez uzgodnienia dałaby trzy różne wagi: 0,90{,}9, 1,11{,}1 i 1,31{,}3. Średni gradient wynosi jednak 1-1, więc każda replika powinna wykonać ten sam krok do w=1,1w=1{,}1. All-reduce może dostarczyć sumę potrzebną do obliczenia tej średniej.

Włącz nierówne porcje: ostatnia replika dostanie cztery przykłady z celem 4. Czy nadal wystarczy średnia trzech lokalnych średnich?

Przy porcjach 1, 1 i 4 gradient średniej straty po wszystkich sześciu przykładach to (1112)/6=2(1-1-12)/6=-2, a nowa waga wynosi 1,2. Średnia ranków nadal daje −1. To błąd normalizacji, mimo że wszystkie repliki mogą pozostać zgodne. DDP zwykle uśrednia gradienty między rankami; równoważność z jednym dużym batchem zależy także od sposobu liczenia straty i liczby przykładów lub tokenów.

Replika musi się zmieścić

W podstawowym wariancie każda replika przechowuje cały model. Dokładanie GPU nie rozwiązuje więc samo w sobie problemu zbyt dużych wag. Tensor Parallelism dzieli operacje wewnątrz warstw, a Pipeline Parallelism rozdziela grupy warstw. Strategie można łączyć.

Eksperyment pokazuje jeden krok uczenia skalarnej funkcji. Nie mierzy szybkości GPU ani jakości LLM; nie uwzględnia też stanów optymalizatora i kosztu komunikacji.

Wykorzystuję treści generowane przez AI jako część mojego codziennego procesu nauki.