nanochat może teraz trenować model LLM klasy GPT-2 za <<$100 (~$73, 3 godziny na pojedynczym węźle 8XH100). GPT-2 to mój ulubiony LLM, ponieważ to pierwszy raz, kiedy stos LLM łączy się w rozpoznawalnie nowoczesnej formie. Stało się to moją dziwną i trwałą obsesją, aby wytrenować model o zdolnościach GPT-2, ale znacznie taniej, z korzyścią z ~7 lat postępu. W szczególności podejrzewałem, że dzisiaj powinno być możliwe wytrenowanie jednego za <<$100. Początkowo w 2019 roku GPT-2 został wytrenowany przez OpenAI na 32 chipach TPU v3 przez 168 godzin (7 dni), przy kosztach $8/godzinę/TPUv3, co dało łączny koszt około $43K. Osiąga wynik CORE 0.256525, który jest metryką zespołową wprowadzoną w artykule DCLM w 22 ocenach, takich jak ARC/MMLU itd. W wyniku ostatnich kilku ulepszeń włączonych do nanochat (wiele z nich pochodzi z repozytorium modded-nanogpt), mogę teraz osiągnąć wyższy wynik CORE w 3.04 godziny (~$73) na pojedynczym węźle 8XH100. To jest 600-krotne obniżenie kosztów w ciągu 7 lat, tzn. koszt trenowania GPT-2 spada o około 2.5 razy każdego roku. Myślę, że to prawdopodobnie niedoszacowanie, ponieważ wciąż znajduję więcej ulepszeń stosunkowo regularnie i mam zaległości z pomysłami do wypróbowania. Dłuższy post z wieloma szczegółami dotyczącymi zaangażowanych optymalizacji i wskazówkami, jak je powtórzyć, znajduje się tutaj: Zainspirowany modded-nanogpt, stworzyłem również tabelę liderów dla "czasu do GPT-2", gdzie ten pierwszy model "Jan29" jest wpisem #1 z czasem 3.04 godziny. Będzie zabawnie dalej nad tym pracować i zapraszam do pomocy! Mam nadzieję, że nanochat może stać się bardzo ładnym/czystym i dostosowanym eksperymentalnym narzędziem LLM do prototypowania pomysłów, do zabawy i oczywiście do nauki. Największe ulepszenia, które działały od razu i po prostu przyniosły zyski, to 1) jądra Flash Attention 3 (szybsze i pozwala na użycie argumentu window_size kwarg do uzyskania naprzemiennych wzorców uwagi), optymalizator Muon (próbowałem przez ~1 dzień go usunąć i używać tylko AdamW, ale nie mogłem), ścieżki resztkowe i połączenia skip kontrolowane przez uczące się skalarne oraz osadzenia wartości. Było wiele innych mniejszych rzeczy, które się sumują. Obraz: półzwiązana przyjemność wizualna z wyprowadzania praw skalowania dla obecnego miniserialu modelu nanochat, ładne i satysfakcjonujące!