Back to archive

Critical Batch Size

Chcesz przyspieszyć uczenie, pokazując modelowi więcej przykładów naraz. Na początku to pomaga. Po pewnym punkcie przetwarzasz jednak znacznie więcej danych, a liczba kroków potrzebnych do uzyskania danego wyniku maleje tylko nieznacznie. Gdzie kończy się opłacalność powiększania grupy?

Critical Batch Size to charakterystyczna skala batcha, powyżej której korzyści z dalszego zwiększania grupy danych na krok słabną. Batch oznacza przykłady lub tokeny — kawałki tekstu — z których wspólnie wyliczamy jedną poprawkę wag modelu.

Uśrednienie większej liczby przykładów zmniejsza przypadkowość wskazówki, jak poprawić wagi. Ale przy stałej ilości danych większy batch oznacza mniej poprawek. Przejście z 100 do 200 przykładów może oszczędzać dużo kroków; kolejne podwojenie nie musi dać proporcjonalnego zysku. To ilustracja kompromisu, nie uniwersalne wartości granicy.

McCandlish i współautorzy, §2–3, modelują tę zależność za pomocą skali szumu gradientu. Granica zależy od zadania i fazy treningu. Szybsze przetwarzanie danych na sprzęcie nie musi oznaczać równie efektywnego uczenia na każdy przeczytany token.

Powiązania

42ah⁝ Czy możemy zbudować teorię fizyki procesu uczenia, która przewiduje makroskopowe zachowania sieci?