Daniel Vedovato
← Blog

Il corso gratuito di Andrej Karpathy sulle reti neurali: come studiarlo con esercizi verificabili

NN Zero to Hero è una serie open source sulle reti neurali. Cosa offre a chi parte da Python e come evitare di confondere la visione del corso con competenza pratica.

Scritto da Daniel Vedovato · Revisionato il 21 luglio 2026

Fonte primaria

Articolo preparato con assistenza AI, verificato e revisionato da Daniel Vedovato.

Un corso utile perché mostra i meccanismi, non solo le API

Il repository NN Zero to Hero di Andrej Karpathy raccoglie lezioni e notebook dedicati alla costruzione di reti neurali, dalle basi del backpropagation fino a modelli più vicini ai language model. È gratuito e pubblico, ma la sua utilità non dipende dalla gratuità. Il punto forte è l’approccio: ricostruire piccoli componenti per capire quali ipotesi sono nascoste dietro un framework.

Chi oggi usa un modello attraverso un’API può ottenere risultati senza conoscere derivata, ottimizzatore o tokenizzazione. Per molte attività di prodotto è sufficiente. Quando però un esperimento diverge, un fine tuning degrada una capacità o un benchmark sembra troppo bello, servono concetti più solidi. Sapere che esistono pesi e gradienti non basta: occorre capire come cambiano, cosa misurano le loss e perché una suddivisione dati errata falsifica un risultato.

Il corso non rende automaticamente esperti di ricerca o MLOps. Fornisce una base con cui leggere documentazione e paper in modo meno passivo. È una differenza importante: seguire un video può dare familiarità; riscrivere, modificare e testare un piccolo modello costruisce capacità di diagnosi.

Cosa conviene imparare per primo

Un percorso efficace parte da una rete minuscola, su un dataset che si può ispezionare a mano. Si implementano forward pass, funzione di perdita e aggiornamento dei parametri. Poi si confronta il proprio risultato con un framework maturo, mantenendo fissi dati e seed. Questa sequenza rende visibili errori che altrimenti restano astratti: una dimensione sbagliata, gradiente non azzerato, learning rate eccessivo, leakage fra train e test.

Le lezioni successive aumentano la complessità con embedding, architetture a sequenza e componenti dei transformer. Il salto va accompagnato da una domanda costante: quale problema risolve questa parte? Un embedding trasforma un indice in vettore perché vuole rappresentare relazioni apprese; la normalizzazione cerca di rendere più stabile l’ottimizzazione; l’attenzione decide quali token mettere in relazione. Memorizzare l’acronimo senza il problema porta a usare blocchi come formule magiche.

PraticaCosa dimostraErrore da evitare
Riprodurre un notebookL’ambiente funzionaScambiare l’esecuzione per comprensione
Riscrivere un moduloSi capisce input, output e gradienteCopiare senza controllare forme e test
Cambiare una variabileSi osserva una relazione causaleCambiare più iperparametri insieme
Usare un set separatoSi misura generalizzazioneScegliere il modello guardando il test

Le cautele per chi usa LLM moderni

I notebook didattici lavorano su scale deliberate: dataset piccoli, hardware accessibile e modelli che si possono esplorare. Un LLM commerciale o frontier aggiunge aspetti che un corso introduttivo non può esaurire: dati distribuiti, sicurezza, valutazione multilingue, serving, costi, copyright e comportamento con strumenti esterni. Non va quindi estrapolato un progetto educativo a promesse come “posso addestrare un modello competitivo in casa”.

La stessa attenzione serve con i risultati di training. Una loss che scende indica che il modello si adatta al dato usato, non che abbia capito un compito. È necessario un set di validazione separato e, per affermazioni più forti, un test che non abbia influenzato scelte di architettura o tuning. Questa disciplina è più preziosa della capacità di eseguire un singolo notebook.

Un altro limite riguarda l’hardware. Il corso può essere affrontato su una macchina personale per gli esercizi base, ma non tutti gli esperimenti avanzati hanno costi trascurabili. Prima di lanciare job più grandi, vanno fissati budget, checkpoint e criteri di arresto. Una buona abitudine didattica è imparare anche a fermare un esperimento che non risponde alla domanda iniziale.

Un piano di studio che lascia tracce

Un piano pratico dedica a ogni lezione un piccolo artefatto: una nota con tre concetti, un notebook riscritto con commenti propri, un test e un grafico della loss. Alla fine di una settimana, invece di ripetere definizioni, lo studente dovrebbe saper spiegare un errore introdotto volontariamente e mostrare come lo ha individuato.

Per collegare il corso al lavoro reale, è utile prendere un problema semplice della propria organizzazione, ma usare dati fittizi o pubblici. Per esempio classificare richieste in poche categorie e confrontare una baseline non neurale con una piccola rete. Se la baseline vince, non è un fallimento: è un risultato che insegna a non usare complessità quando non serve.

Verdetto

NN Zero to Hero è una buona risorsa per chi vuole passare dall’uso di librerie alla comprensione dei componenti. Il suo valore cresce con il lavoro attivo: modificare codice, tenere traccia degli esperimenti e confrontare baseline. Non sostituisce esperienza di produzione, ma aiuta a costruire il vocabolario e le abitudini che rendono più critico l’uso dell’AI.