Andrej Karpathy ha appena rilasciato uno dei repository più "slegati" che abbia mai scritto — NanoChat. È un sistema simile a ChatGPT, minimale ma completo, che ti insegna come addestrare e far funzionare il tuo LLM per meno di 100 dollari. Con solo ~8 k righe di codice pulito, copre tutto: tokenizer (basato su Rust), pre-addestramento su FineWeb, addestramento intermedio su SmolTalk, SFT su MMLU / GSM8K / HumanEval, RL opzionale tramite GRPO, inferenza efficiente con cache KV + prefill/decode, e un'interfaccia WebUI in stile ChatGPT. (1/n)
Entusiasta di rilasciare un nuovo repo: nanochat! (è tra i più slegati che abbia scritto). A differenza del mio precedente repo simile nanoGPT che copriva solo il pre-addestramento, nanochat è una pipeline di addestramento/inferenza full-stack minimale, da zero, di un semplice clone di ChatGPT in un'unica base di codice con dipendenze minime. Accendi una macchina GPU cloud, esegui un singolo script e in appena 4 ore puoi parlare con il tuo LLM in un'interfaccia web simile a ChatGPT. Pesa ~8.000 righe di codice, a mio avviso piuttosto pulito, per: - Addestrare il tokenizer utilizzando una nuova implementazione in Rust - Pre-addestrare un LLM Transformer su FineWeb, valutare il punteggio CORE su una serie di metriche - Addestrare a metà su conversazioni utente-assistente da SmolTalk, domande a scelta multipla, utilizzo di strumenti. - SFT, valutare il modello di chat su conoscenze generali a scelta multipla (ARC-E/C, MMLU), matematica (GSM8K), codice (HumanEval) - RL il modello opzionalmente su GSM8K con "GRPO" - Inferenza efficiente del modello in un motore con cache KV, semplice prefill/decode, utilizzo di strumenti (interprete Python in un sandbox leggero), parlargli tramite CLI o WebUI simile a ChatGPT. - Scrivere un singolo rapporto markdown, riassumendo e gamificando il tutto. Anche per un costo di circa ~$100 (~4 ore su un nodo 8XH100), puoi addestrare un piccolo clone di ChatGPT con cui puoi in qualche modo parlare, e che può scrivere storie/poesie, rispondere a domande semplici. Circa ~12 ore superano il punteggio CORE di GPT-2. Man mano che aumenti verso ~$1000 (~41,6 ore di addestramento), diventa rapidamente molto più coerente e può risolvere semplici problemi di matematica/codice e sostenere test a scelta multipla. Ad esempio, un modello di profondità 30 addestrato per 24 ore (questo è circa equivalente ai FLOPs di GPT-3 Small 125M e 1/1000 di GPT-3) ottiene punteggi nei 40 su MMLU e 70 su ARC-Easy, 20 su GSM8K, ecc. Il mio obiettivo è ottenere l'intero stack "strong baseline" in un unico repo coeso, minimale, leggibile, hackabile e massimamente forkabile. nanochat sarà il progetto finale di LLM101n (che è ancora in fase di sviluppo). Penso che abbia anche il potenziale per crescere in un sistema di ricerca o un benchmark, simile a nanoGPT prima di esso. Non è affatto finito, sintonizzato o ottimizzato (in realtà penso che ci sia probabilmente un bel po' di frutta a basso costo), ma penso che sia a un punto in cui lo scheletro complessivo sia abbastanza ok da poter essere caricato su GitHub dove tutte le sue parti possono essere migliorate. Il link al repo e un dettagliato walkthrough della speedrun di nanochat sono nella risposta.
Puoi avviare una GPU, eseguire lo script e avere il tuo chatbot che chatta in ~4 ore. Karpathy afferma che il modello da $100 può già scrivere poesie e racconti e superare GPT-2 su CORE; $1000 lo porta vicino a GPT-3 Small 125M FLOPs con punteggi di 40 + MMLU e 70 + ARC-Easy. L'obiettivo è un repository unificato, leggibile e hackabile che racchiuda l'intero "strong baseline pipeline": un successore di nanoGPT e la spina dorsale per il suo prossimo corso LLM101n.
Anche con un budget ridotto, i risultati sono sorprendenti. • Esecuzione da $100 (8×H100, 4 ore): supera GPT-2 su CORE, può scrivere poesie e racconti brevi. • Esecuzione da $1000 (≈24 ore, GPT-3 Small 125 M FLOPs, scala 1/1000): – MMLU 40 + – ARC-Easy 70 + – GSM8K 20 + è un vero mini-pipeline di livello di ricerca.
Quando qualcuno ha chiesto se NanoChat potesse essere utilizzato per addestrare un LLM personale (su note di Notion, dati sulla salute, ecc.), Karpathy ha smorzato l'idea: "Questo non è un buon repository per questo... Pensa a questi micro-modelli come a bambini molto piccoli; mancano dell'intelligenza grezza dei loro cugini più grandi." Se li affini su dati personali, potresti ottenere un "carino pappagallo" che imita il tuo stile di scrittura, ma sarà comunque un pasticcio. 🪿
Perché la personalizzazione è difficile Per costruire un modello genuinamente personalizzato, è necessario: • Preparare dati di base di alta qualità • Generare tonnellate di dati sintetici (complessi + diversi) • Affinare su un forte LLM open (ad es. Tinker) • Possibilmente mescolare grandi dati di pre-addestramento per mantenere l'intelligenza generale Questo è ancora territorio da ricerca oggi, non un progetto da fine settimana.
Visione d'insieme Karpathy vede NanoChat come il nuovo nanoGPT— una struttura minimale ma completa che può evolversi in una base standard per la ricerca LLM, la collaborazione della comunità e l'istruzione. In questo momento non è completamente ottimizzata, ma l'architettura è solida—pronta per i contributori di GitHub per portarla avanti, modulo dopo modulo.
Mostra originale
4.651
15
Il contenuto di questa pagina è fornito da terze parti. Salvo diversa indicazione, OKX non è l'autore degli articoli citati e non rivendica alcun copyright sui materiali. Il contenuto è fornito solo a scopo informativo e non rappresenta le opinioni di OKX. Non intende essere un'approvazione di alcun tipo e non deve essere considerato un consiglio di investimento o una sollecitazione all'acquisto o alla vendita di asset digitali. Nella misura in cui l'IA generativa viene utilizzata per fornire riepiloghi o altre informazioni, tale contenuto generato dall'IA potrebbe essere impreciso o incoerente. Leggi l'articolo collegato per ulteriori dettagli e informazioni. OKX non è responsabile per i contenuti ospitati su siti di terze parti. Gli holding di asset digitali, tra cui stablecoin e NFT, comportano un elevato grado di rischio e possono fluttuare notevolmente. Dovresti valutare attentamente se effettuare il trading o detenere asset digitali è adatto a te alla luce della tua situazione finanziaria.