Rubriques tendance
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
nanochat peut désormais entraîner un LLM de grade GPT-2 pour <<100 $ (~73 $, 3 heures sur un seul nœud 8XH100).
GPT-2 est tout simplement mon LLM préféré car c'est la première fois que la pile LLM se regroupe dans une forme reconnaissablement moderne. Il est donc devenu un peu une obsession étrange et durable pour moi d'entraîner un modèle à la capacité de GPT-2 mais à un coût beaucoup moins élevé, avec le bénéfice d'environ 7 ans de progrès. En particulier, je soupçonnais qu'il devrait être possible aujourd'hui d'en entraîner un pour <<100 $.
À l'origine, en 2019, GPT-2 a été entraîné par OpenAI sur 32 puces TPU v3 pendant 168 heures (7 jours), à 8 $/heure/TPUv3 à l'époque, pour un coût total d'environ 43K $. Il atteint un score CORE de 0.256525, qui est une métrique d'ensemble introduite dans le document DCLM sur 22 évaluations comme ARC/MMLU/etc.
Avec les dernières améliorations fusionnées dans nanochat (beaucoup d'entre elles provenant du dépôt modded-nanogpt), je peux désormais atteindre un score CORE plus élevé en 3.04 heures (~73 $) sur un seul nœud 8XH100. C'est une réduction de coût de 600X sur 7 ans, c'est-à-dire que le coût d'entraînement de GPT-2 diminue d'environ 2.5X chaque année. Je pense que c'est probablement une sous-estimation car je trouve encore régulièrement plus d'améliorations et j'ai un retard d'idées à essayer.
Un post plus long avec beaucoup de détails sur les optimisations impliquées et des conseils sur la façon de reproduire est ici :
Inspiré par modded-nanogpt, j'ai également créé un classement pour "temps pour GPT-2", où ce premier modèle "Jan29" est l'entrée n°1 à 3.04 heures. Ce sera amusant d'itérer davantage là-dessus et j'accueille toute aide ! Mon espoir est que nanochat puisse devenir un très joli/clair et affiné harnais expérimental LLM pour prototyper des idées, pour s'amuser, et bien sûr pour apprendre.
Les plus grandes améliorations de choses qui ont fonctionné immédiatement et ont simplement produit des gains tout de suite étaient 1) les noyaux Flash Attention 3 (plus rapides, et permettent le paramètre window_size kwarg pour obtenir des motifs d'attention alternés), l'optimiseur Muon (j'ai essayé pendant environ 1 jour de le supprimer et d'utiliser uniquement AdamW et je n'ai pas pu), les chemins résiduels et les connexions de saut contrôlées par des scalaires apprenables, et les embeddings de valeur. Il y avait beaucoup d'autres petites choses qui s'accumulent.
Image : bonbon visuel semi-lié dérivant les lois d'échelle pour la série de modèles nanochat actuelle, joli et satisfaisant !

Meilleurs
Classement
Favoris
