Andrej Karpathy non ha bisogno di presentazioni; fondatore di Eureka Labs ha guidato l’AI di Tesla, contribuendo a rendere la guida autonoma una realtà per milioni di veicoli. Prima della sua esperienza in Tesla, è stato uno dei membri fondatori di OpenAI, tornandovi successivamente nel 2023 per migliorare GPT-4 su ChatGPT. La sua carriera accademica è altrettanto prestigiosa; dottorato presso Stanford University, Karpathy è anche noto per il suo impegno nell’educazione. Ha creato e insegnato il primo corso di deep learning a Stanford (CS 231n); uno dei corsi più grandi e popolari dell’università. La sua passione per rendere l’IA accessibile si manifesta attraverso i suoi progetti open source; come nanoGPT e ora nanochat, che democratizzano l’accesso a tecnologie complesse.


Il suo approccio pratico e la sua capacità di spiegare concetti complessi in modo chiaro lo hanno reso una figura rispettata sia nella comunità accademica che in quella industriale. Quando Andrej Karpathy pubblica un nuovo repository su GitHub, merita la massima attenzione. E quando dice che ha scritto “il progetto più unhinged della sua carriera”, conviene prenderlo sul serio. In ambito tech e social il termine unhinged è diventato un complimento ironico; indica qualcosa di folle, spinto al limite, senza freni, ma fatto con consapevolezza. Il nuovo repository di Karpathy è nanochat, e in meno di ventiquattro ore ha già raccolto migliaia di stelle e decine di fork.
Se fino a ieri il processo di creazione di una LLM era ristretto solo ad aziende milionarie, ora con nanochat questo processo è aperto a tutti, anche a te.
Nanochat: l’architettura che democratizza la creazione di Modelli Linguistici
Nanochat è un sistema completo che permette praticamente a chiunque di costruire e implementare modelli linguistici di grandi dimensioni simili a quelli usati da ChatGPT. Con circa 8.000 linee di codice pulito e ben commentato, scritto principalmente in Python (PyTorch) con alcune componenti in Rust per l’addestramento del tokenizer, nanochat fornisce tutti gli elementi necessari per lo sviluppo e la messa in opera di un LLM (large language model) funzionale.
Dalla progettazione della rete neurale alla tokenizzazione per la comprensione del linguaggio, dal pre-training per acquisire conoscenza al fine-tuning per affinare le capacità conversazionali, fino all’interfaccia web per interagire con il modello completato.
Il vero punto di forza di nanochat è la sua accessibilità economica e temporale: puoi addestrare un modello simile a ChatGPT con circa 100 dollari e in sole quattro ore; dovrai affittare un nodo con otto GPU NVIDIA H100 per circa 4 ore (prezzo medio $25/ora). Questo approccio riduce drasticamente i costi rispetto allo sviluppo di LLM ad alte prestazioni, che tipicamente richiedono investimenti di milioni di dollari. Il modello risultante, con circa 560 milioni di parametri, è in grado di gestire conversazioni di base, scrivere poesie e rispondere a semplici domande; a dimostrazione che non servono modelli enormi per ottenere risultati utili.
Come funziona
Lo script speedrun.sh è il cuore pulsante; un unico script che una volta eseguito da shell, scarica 24 GB di FineWeb-EDU e addestra un tokenizer BPE da zero in Rust. Quindi lancia il pre-training su 11,2 miliardi di token, esegue mid-training su dialoghi SmolTalk. Poi domande a scelta multipla MMLU e problemi di matematica GSM8K; infine esegue un fine-tune supervisionato e, se vuoi, un giro di RL su GSM8K. Il tutto in 4 ore su 8 GPU H100 in cloud.


Il modello finale è in grado di girare anche su un Raspberry Pi 5, ha un CORE score di 0,22; appena sopra GPT-2 large. Il modello con i settings di base sa che Roma è la capitale d’Italia, conosce la chimica, e riesce a spiegare senza problemi il Rayleigh scattering.


In fase di creazione, per la prima volta chiunque può toccare ogni levetta; cambiare la loss, sostituire l’ottimizzatore, allenare un depth-40 e vedere se il scaling law regge. Questo è oro puro per chi fa ricerca su architetture alternative, su pruning, su quantizzazione e dataset di addestramento. Vuoi misurare l’impatto di un nuovo dataset di matematica ? Sostituisci GSM8K e riesegui la pipeline. Puoi cambiare il vocabolario, sostituire i dati, alzare il depth a 26 o 30 e vedere il punteggio CORE salire a 0,25-0,28; ma con costi GPU che salgono velocemente. In ogni caso il modello creato, non sarà un mostro di ragionamento e non entrerà nelle classifiche LMArena; ma sarà una tua creazione.
Il futuro di nanochat: da baseline a piattaforma di esperimenti
Nanochat è un manifesto tecnico da parte di Karpathy; dimostra che la barriera all’ingresso per la ricerca sui large language model è crollata. Non serve più un team di venti dottorandi e un budget da fondo sovrano; basta una carta di credito con cento dollari, un account Lambda Labs (per il noleggio GPU) e 4 ore. Il codice è intenzionalmente pulito; puoi leggere come si calcolano i FLOPs, come si adatta il learning rate alla dimensione del modello, come si costruisce un tokenizer BPE in Rust.


Karpathy ha già detto che nanochat è il gran finale del suo corso LLM101n di Eureka Labs; il prossimo passo è trasformarlo in una piattaforma di benchmark aperta. Una classifica pubblica dove chiunque può inviare il proprio modello ottenuto con hyper-parameter diversi, dataset puliti o tecniche di regolarizzazione.
La community sta già correndo; su HuggingFace trovi il modello sdobson/nanochat pronto anche per i computer di casa. Su Reddit già si legge di chi lo addestra su una RTX 4090. Se sei uno ingegnere informatico o uno sviluppatore esperto, il codebase è piccolo abbastanza da essere compreso in un pomeriggio.
Il valore di nanochat non risiede solo nella possibilità di creare un chatbot funzionante, ma soprattutto nella trasparenza che offre sull’intero processo di addestramento. In un ecosistema dominato da soluzioni proprietarie, la scelta di rilasciare tutto sotto licenza permissiva è una dichiarazione forte. Il risultato è un toolkit che combina semplicità, accessibilità economica e rigore scientifico; un toolkit pronto a diventare un punto di riferimento per la prossima generazione di sperimentatori di LLM.










