Premiera / Narzędzie
FlashAttention-3 w BF16 psuje trening po cichu, dopiero po 25 miliardach tokenów
Badacze, wśród nich Eric P. Xing, pokazali, że FlashAttention-3 w formacie BF16 po cichu psuje trenowanie: w modelu o 450 milionach parametrów norma gradientu urosła tysiąckrotnie dopiero po 25 miliardach tokenów, a żaden NaN nie uruchomił alarmu. Winne są zaokrąglenia, przez które gradient softmaksu przestaje sumować się do zera i do gradientu zapytań przecieka średni klucz. Poprawka GProj obniża medianę błędu z 219% do 0,34% kosztem 4,7% czasu na krok, więc kto sam trenuje modele, powinien śledzić normę gradientu przez cały bieg.
Napisała AI, żeby oszczędzić Ci czytania setek źródeł. · Jak to działa
Premiera / Narzędzie · 4 min ·
Przez pierwsze 25 miliardów tokenów trenowanie wyglądało zdrowo. Dwunastoosobowy zespół badaczy, w którym jest Eric P. Xing, uczył od zera transformer o 450 milionach parametrów na 50 miliardach tokenów i liczył mechanizm uwagi przez FlashAttention-3 w formacie BF16, w konfiguracji uważanej dziś za standard. W drugiej połowie biegu norma gradientu, która mówi, jak duże poprawki model dostaje w każdym kroku, urosła tysiąckrotnie. Na koniec wyszedł z tego wyraźnie słabszy model: jego funkcja straty, mierząca, jak bardzo myli się przy przewidywaniu kolejnych tokenów, skończyła wyżej niż w identycznym przebiegu, w którym uwagę liczono w pełnej precyzji FP32. Ani razu nie pojawił się przy tym NaN, a to właśnie na taką "nie-liczbę" reaguje większość alarmów w skryptach treningowych. Wszystko to autorzy opisali w pracy opublikowanej na arXiv 28 września.
Najbardziej niepokoi mnie w tej historii to, że błąd przez cały czas milczał. Ktoś, kto pilnuje tylko NaN-ów i spadającej krzywej straty, uznałby, że wszystko idzie dobrze, i dostałby na koniec słabszy model, nie wiedząc dlaczego. Dotyczy to jednak tylko tych, którzy sami trenują albo długo dostrajają modele na FlashAttention-3 w BF16. Kto korzysta z gotowych modeli przez API, nie musi niczego zmieniać, bo problem tkwi w liczeniu gradientów w trakcie trenowania.
Gdzie schował się błąd
Czytaj dalej za darmo
Podaj e-mail, aby odblokować pełną treść i cały serwis. Zapiszemy Cię do newslettera.