Compute-Optimal Training
Jak działa
Punktem wyjścia jest aproksymacja kosztu treningu: C ≈ 6·N·D, gdzie N to liczba parametrów, a D to liczba tokenów treningowych. Hoffmann i in. (2022) zastosowali trzy uzupełniające się podejścia: (1) trening modeli o stałym rozmiarze przy zmiennej liczbie tokenów, (2) krzywe IsoFLOP — dla każdego budżetu C zmieniano N i D tak, aby C było stałe, i identyfikowano N* i D* minimalizujące stratę walidacyjną, (3) parametryczny model funkcji straty L(N, D) dopasowany do wszystkich 400+ przebiegów. Wszystkie trzy metody zgodnie wskazały, że optymalnie N i D powinny rosnąć w przybliżeniu w równej proporcji wraz z C, co odpowiada wykładnikom skalowania a ≈ 0,5 i b ≈ 0,5 w zależności N* ∝ C^a i D* ∝ C^b. W praktyce daje to regułę: aby trening był compute-optimal, należy zapewnić w przybliżeniu 20 tokenów na każdy parametr modelu. Reguła zakłada wystarczająco duży, niezduplikowany korpus, transformerową architekturę typu decoder-only oraz standardowy harmonogram learning rate dopasowany do liczby kroków.
Rozwiązany problem
Wcześniejsze prawa skalowania (Kaplan i in., 2020) sugerowały, że przy ograniczonym budżecie obliczeniowym należy powiększać głównie liczbę parametrów modelu, co prowadziło do treningu bardzo dużych, ale znacząco niedotrenowanych modeli. Compute-Optimal Training rozwiązuje problem nieoptymalnej alokacji budżetu FLOPs między rozmiar modelu a ilość danych treningowych.
Implementacja
Reguła 20:1 minimalizuje stratę pretreningu przy budżecie treningu, ale nie uwzględnia kosztów wnioskowania. Modele intensywnie wykorzystywane w produkcji często warto trenować dłużej (więcej tokenów), aby zmniejszyć koszt inferencji.
Reguła zakłada dostępność dużego, niezduplikowanego korpusu. Powtarzanie tych samych danych przez wiele epok łamie założenie i zaburza relację między D a faktyczną liczbą "świeżych" tokenów.
Eksponenty skalowania zostały dopasowane na modelach do około 16B parametrów i budżetach do około 5e23 FLOPs; ekstrapolacja na rzędy wielkości większe budżety bywa zawodna.
Ewolucja
Kaplan i in. publikują "Scaling Laws for Neural Language Models", sugerując że przy ograniczonym budżecie należy powiększać głównie model.
Hoffmann i in. wprowadzają regułę compute-optimal i empirycznie potwierdzają ją modelem Chinchilla 70B / 1,4T tokenów, pokonującym Gopher 280B przy tym samym budżecie FLOPs.
Touvron i in. trenują LLaMA na ponad bilionie tokenów dla modeli 7B–13B, świadomie wykraczając poza punkt compute-optimal, aby uzyskać tańszą inferencję przy zachowaniu jakości.
Szczegóły techniczne
Hiperparametry (konfigurowalne osie)
Całkowity budżet C w FLOPs przeznaczony na pretrening, wyznaczający wspólnie N i D.
Stosunek D/N. Według wyników Chinchilli optimum to około 20 tokenów na parametr.
Liczba parametrów modelu, dobierana wspólnie z D do budżetu C.
Liczba unikalnych tokenów przetworzonych w pretreningu.
Wymagania sprzętowe
Compute-Optimal Training to reguła alokacji budżetu FLOPs i nie zależy od konkretnego sprzętu; ma zastosowanie zarówno do GPU, jak i TPU.