Karpathy est le GOAT des hackers IA !
Excité de publier un nouveau dépôt : nanochat !
(c'est parmi les plus débridés que j'ai écrits).
Contrairement à mon précédent dépôt similaire nanoGPT qui ne couvrait que le pré-entraînement, nanochat est un pipeline d'entraînement/inférence complet, minimal et de bout en bout d'un simple clone de ChatGPT dans une base de code unique et minimale en dépendances. Vous démarrez une boîte GPU dans le cloud, exécutez un seul script et en aussi peu que 4 heures plus tard, vous pouvez parler à votre propre LLM dans une interface web similaire à ChatGPT.
Il pèse environ 8 000 lignes de code que je trouve plutôt propre pour :
- Entraîner le tokenizer en utilisant une nouvelle implémentation en Rust
- Préformer un LLM Transformer sur FineWeb, évaluer le score CORE sur un certain nombre de métriques
- Entraîner à mi-parcours sur des conversations utilisateur-assistant de SmolTalk, des questions à choix multiples, l'utilisation d'outils.
- SFT, évaluer le modèle de chat sur des questions à choix multiples de culture générale (ARC-E/C, MMLU), mathématiques (GSM8K), code (HumanEval)
- RL le modèle en option sur GSM8K avec "GRPO"
- Inférence efficace du modèle dans un moteur avec cache KV, pré-remplissage/décodage simple, utilisation d'outils (interpréteur Python dans un bac à sable léger), communiquer avec lui via CLI ou WebUI similaire à ChatGPT.
- Rédiger un seul rapport markdown, résumant et ludifiant l'ensemble.
Même pour aussi peu que ~100 $ de coût (~4 heures sur un nœud 8XH100), vous pouvez entraîner un petit clone de ChatGPT avec lequel vous pouvez un peu discuter, et qui peut écrire des histoires/poèmes, répondre à des questions simples. Environ ~12 heures dépassent la métrique CORE de GPT-2. En augmentant davantage jusqu'à ~1000 $ (~41,6 heures d'entraînement), il devient rapidement beaucoup plus cohérent et peut résoudre des problèmes simples de mathématiques/code et passer des tests à choix multiples. Par exemple, un modèle de profondeur 30 entraîné pendant 24 heures (ce qui équivaut à peu près aux FLOPs de GPT-3 Small 125M et 1/1000 de GPT-3) atteint des scores dans les 40 sur MMLU et 70 sur ARC-Easy, 20 sur GSM8K, etc.
Mon objectif est d'obtenir l'ensemble du "strong baseline" dans un dépôt cohérent, minimal, lisible, hackable et maximement forkable. nanochat sera le projet phare de LLM101n (qui est encore en développement). Je pense qu'il a également le potentiel de devenir un cadre de recherche ou un benchmark, similaire à nanoGPT avant lui. Ce n'est en aucun cas fini, réglé ou optimisé (en fait, je pense qu'il y a probablement pas mal de fruits à portée de main), mais je pense qu'il est à un endroit où le squelette global est suffisamment correct pour qu'il puisse être mis sur GitHub où toutes ses parties peuvent être améliorées.
Le lien vers le dépôt et un guide détaillé du speedrun de nanochat se trouvent dans la réponse.

26,16 k
24
Le contenu de cette page est fourni par des tiers. Sauf indication contraire, OKX n’est pas l’auteur du ou des articles cités et ne revendique aucun droit d’auteur sur le contenu. Le contenu est fourni à titre d’information uniquement et ne représente pas les opinions d’OKX. Il ne s’agit pas d’une approbation de quelque nature que ce soit et ne doit pas être considéré comme un conseil en investissement ou une sollicitation d’achat ou de vente d’actifs numériques. Dans la mesure où l’IA générative est utilisée pour fournir des résumés ou d’autres informations, ce contenu généré par IA peut être inexact ou incohérent. Veuillez lire l’article associé pour obtenir davantage de détails et d’informations. OKX n’est pas responsable du contenu hébergé sur des sites tiers. La détention d’actifs numériques, y compris les stablecoins et les NFT, implique un niveau de risque élevé et leur valeur peut considérablement fluctuer. Examinez soigneusement votre situation financière pour déterminer si le trading ou la détention d’actifs numériques vous convient.