nanochat kan nå trene GPT-2 LLM for <<$100 (~$73, 3 timer på en enkelt 8XH100-node). GPT-2 er bare min favoritt-LLM fordi det er første gang LLM-stakken settes sammen i en gjenkjennelig moderne form. Så det har blitt en litt merkelig og varig besettelse for meg å trene en modell til GPT-2-kapasitet, men mye billigere, med fordelen av ~7 års fremgang. Spesielt mistenkte jeg at det i dag burde være mulig å trene en for 100 << dollar. Opprinnelig i 2019 ble GPT-2 trent av OpenAI på 32 TPU v3-brikker i 168 timer (7 dager), med 8 dollar/time/TPUv3 den gang, til en totalkostnad på omtrent 43 000 dollar. Den oppnår 0,256525 CORE-score, som er en ensemble-metrikk introdusert i DCLM-artikkelen over 22 evalueringer som ARC/MMLU osv. Etter de siste forbedringene som ble slått sammen i nanochat (mange av dem opprinnelig fra modded-nanogpt-repo), kan jeg nå nå en høyere CORE-score på 3,04 timer (~$73) på en enkelt 8XH100-node. Dette er en kostnadsreduksjon på 600 ganger over 7 år, det vil si at kostnaden for å trene GPT-2 faller omtrent 2,5 ganger hvert år. Jeg tror dette sannsynligvis er en undervurdering fordi jeg fortsatt finner flere forbedringer relativt jevnlig, og jeg har en bunke med flere ideer å prøve. Et lengre innlegg med mye av detaljene om optimeringene som er involvert og tips om hvordan man kan reprodusere, finnes her: Inspirert av modded-nanogpt laget jeg også en toppliste for «tid til GPT-2», hvor denne første «Jan29»-modellen er oppføring #1 etter 3,04 timer. Det blir gøy å videreutvikle dette, og jeg tar gjerne imot hjelp! Mitt håp er at nanochat kan vokse til å bli et veldig fint/rent og finjustert eksperimentelt LLM-verktøy for prototypideer, for å ha det gøy, og selvfølgelig for læring. De største forbedringene av ting som fungerte rett ut av boksen og bare ga gevinster med en gang, var 1) Flash Attention 3-kjerner (raskere, og lar window_size kwarg få alternerende oppmerksomhetsmønstre), Muon-optimalisator (jeg prøvde i ~1 dag å slette den og brukte bare AdamW, men jeg klarte det ikke), residualbaner og hoppforbindelser som ble låst av lærbare skalarer, og verdiembeddinger. Det var mange andre mindre ting som hopet seg opp. Bilde: semi-relatert øyegodteri av å utlede skaleringslovene for den nåværende nanochat-modellminiserien, pent og tilfredsstillende!