Quiz połączony z przewodnikiem · Ciężko Poziom
Quiz dotyczący optymalizatorów ZeRO i Sharded
Obejmuje etapy ZeRO, pamięć stanu Adama, gromadzenie parametrów, redukcję gradientu, opcje odciążania i koszty komunikacji.
Pytanie 1 z 8
Jaką redundancję eliminuje ZeRO w porównaniu ze zwykłą równoległością danych?
Podgląd każdego pytania8 pytania
Odpowiedzi i wyjaśnienia pojawiają się w miarę rozwiązywania quizu.
- Jaką redundancję eliminuje ZeRO w porównaniu ze zwykłą równoległością danych?
- Duplikuj pełne kopie stanu optymalizatora, gradientów i parametrów na każdym procesorze graficznym
- Zduplikowane kopie danych treningowych na każdym procesorze graficznym
- Redundantne kable sieciowe pomiędzy węzłami
- Powtarzające się przejścia do przodu w tej samej partii
- Dlaczego stan optymalizatora często jest największym obciążeniem pamięci dla Adama?
- Adam nie przechowuje żadnego dodatkowego stanu
- Adam zachowuje dodatkowe wartości poszczególnych parametrów (takie jak pęd i wariancja), często kilka razy większe od rozmiaru modelu
- Adam duplikuje cały zbiór danych
- Adam wymaga przechowywania każdego przeszłego gradientu na zawsze
- Co zawiera fragment ZeRO Stage 3, którego nie mają Etapy 1 i 2?
- Dane treningowe
- Funkcja straty
- Same parametry modelu
- Harmonogram tempa nauki
- W jaki sposób procesor graficzny uzyskuje w ZeRO Stage 3 pełne parametry potrzebne do przejścia warstwy w przód?
- Nigdy nie potrzebuje pełnych parametrów
- Pobiera je z Internetu
- Za każdym razem oblicza je od nowa
- Wykonuje zbiorcze zbieranie, aby zebrać brakujące kawałki, a następnie je odrzuca
- Która funkcja PyTorch natywnie implementuje sharding w stylu ZeRO?
- FSDP (w pełni podzielone dane równoległe)
- Moduł ładowania danych
- TorchScript
- Autograd
- Jaki jest główny kompromis, jaki ZeRO podejmuje, aby zaoszczędzić pamięć?
- Poświęca dokładność modelu na rzecz szybkości
- Dodaje dodatkową komunikację w celu gromadzenia i rozpraszania fragmentów w razie potrzeby
- Usuwa warstwy z modelu
- Działa tylko z bardzo małymi modelami
- Which state is partitioned in ZeRO Stage 1?
- Only parameters, with optimizer states replicated
- Parameters, gradients, and optimizer states all sharded
- Optimizer states, while parameters and gradients remain replicated
- Only input activations and labels
- What is a practical cost of ZeRO-style sharding?
- It removes the need to calculate gradients
- It makes every optimizer update local with no data exchange
- It requires the model to be retrained from scratch for every step
- Additional communication to gather parameters and distribute gradients