Un GPT intero, in tre dimensioni

Il modello che si attraversa

Brendan Bycroft ha preso un modello di linguaggio minuscolo e l'ha reso un oggetto: ogni tensore un solido, la telecamera che scende lungo l'inferenza. Qui sotto trovi il percorso di visita in italiano, tarato su tre livelli.

📖 Livello di lettura
Visualizzazione Didattica Gratis
Gratis
Browser con WebGL2, da computer, in inglese
2 Agosto 2026

Cosa fa

  • Ogni tensore è un solido: si vede la forma dei dati
  • Walkthrough in dieci capitoli, dall'embedding all'output
  • Il modellino gira davvero: 85.000 parametri, ordina sei lettere
  • Le sagome di GPT-2 e GPT-2 XL nella stessa scala
  • Telecamera libera: si entra dentro i blocchi
  • Percorso di visita in italiano, su tre livelli
🧊 Come lo spaccato di una nave in un museo: le paratie tagliate a metà, i ponti uno sopra l'altro, e finalmente capisci dove finisce la stiva e dove comincia il motore. Solo che qui la nave è accesa e naviga mentre la guardi.

Brendan Bycroft è un ingegnere del software neozelandese. Ha preso il modello più piccolo che si possa ancora chiamare GPT — ottantacinquemila numeri in tutto — e invece di disegnarlo su carta l'ha costruito nello spazio. Ogni numero è una cella. Le celle verdi sono i dati che stanno passando in quel momento, le celle blu sono i pesi: quello che il modello ha imparato una volta per tutte e non cambia più. La telecamera parte dall'alto e scende, e mentre scende il calcolo avanza; quando arriva in fondo, la risposta è pronta.

Il compito di quel modellino è buffo apposta: gli dai sei lettere in disordine — C, B, A, B, B, C — e lui le rimette in ordine alfabetico, A, B, B, B, C, C. Il suo vocabolario ha tre parole soltanto: A, B e C. Non scrive testi, non risponde alle domande, non sa niente del mondo. Fa una cosa sola, e la fa con lo stesso identico meccanismo con cui i modelli grandi ne fanno mille. È questo il punto della visita: il meccanismo è piccolo abbastanza da starci in un'inquadratura.

Poi c'è il colpo d'occhio che vale da solo il viaggio. Accanto al modellino, nella stessa scala, Bycroft ha piazzato le sagome di GPT-2 e GPT-2 XL. Il modellino diventa un granello. Non è una metafora sulla grandezza: è la grandezza, misurata, messa lì di fianco.

La forma del modellino è dichiarata nel sorgente e vale la pena leggerla, perché ogni numero corrisponde a un solido che vedrai: C = 48 — la dimensione del residual stream, cioè la larghezza del vettore che attraversa tutta la rete —, 3 teste di attenzione da 16 dimensioni l'una, 3 blocchi transformer impilati, una finestra di contesto di 11 token e un vocabolario di 3 simboli. Ogni lettera diventa prima un indice (A→0, B→1, C→2), poi un vettore di 48 componenti: è l'embedding, a cui si somma un embedding di posizione. Da lì in giù ogni blocco ripete sempre la stessa sequenza: layer norm, self-attention con le tre proiezioni query, key e value, proiezione d'uscita, un'altra layer norm, un MLP a due strati. In fondo: layer norm finale, una moltiplicazione che produce i logit — un punteggio grezzo per ciascuna delle tre lettere possibili — e una softmax che li schiaccia in probabilità che sommano a uno. Cliccando una cella, la visualizzazione accende le celle da cui quel numero dipende: la formula diventa un grafo di dipendenze che puoi guardare.

La metafora del plastico regge fin dove regge, e conviene sapere dove smette. Regge perché qui la geometria è il calcolo: la lunghezza di un blocco è il numero di token, la profondità è C, e un tensore più largo è davvero più largo. Smette di reggere quando prendi lo spazio troppo sul serio. In un transformer non esistono un «sopra» e un «sotto»: esiste una composizione di funzioni, e la verticalità è una scelta di regia, non una proprietà del modello. Allo stesso modo, la colonna che attraversa tutta la scena — il residual stream — non è un tubo dentro cui scorre qualcosa: è semplicemente il vettore che ogni blocco legge e a cui ogni blocco somma il proprio contributo, come descritto nel framework matematico di Elhage et al. Chi legge la colonna come «il posto dove si accumulano le informazioni» ha capito bene; chi la legge come un luogo fisico dentro la GPU, no.

I numeri del confronto di scala vengono anch'essi dal sorgente, e sono impietosi. Il modellino: 85.000 parametri. GPT-2 small: C = 768, 12 teste, 12 blocchi, circa 124 milioni di parametri (117 milioni nel conteggio del paper del 2019, che non somma allo stesso modo le matrici di embedding). GPT-2 XL: C = 1600, 25 teste, 48 blocchi, 1,5 miliardi (Radford et al., 2019). GPT-3, che nel codice c'è ma nella scena no: C = 12288, 96 teste, 96 blocchi, 175 miliardi (Brown et al., 2020). Fra il modellino e GPT-3 corre un rapporto di circa due milioni a uno. Se contassi i parametri di GPT-3 al ritmo di uno al secondo, senza mai fermarti, ci metteresti più di cinquemilacinquecento anni: partendo oggi avresti finito intorno all'anno 7570. Per gli ottantacinquemila del modellino ti basterebbe meno di un giorno.

Un'ultima avvertenza, che è anche la più importante per chi porta questa pagina in classe. L'architettura mostrata è quella del 2019–2020, cioè il transformer decoder-only nella sua forma canonica. Non c'è nulla di ciò che ha reso i modelli attuali usabili: manca l'instruction tuning e manca l'apprendimento per rinforzo dal feedback umano (Ouyang et al., 2022), mancano i modelli di ragionamento addestrati a produrre catene di pensiero (DeepSeek-AI, 2025), e mancano le varianti architetturali che oggi sono lo standard — attenzione a query raggruppate, posizioni rotanti, mixture of experts (Raschka, 2025). Il salto da «ordino sei lettere» a «scrivo in italiano» non è quindi solo una questione di taglia: è taglia, più corpus, più post-training. Il meccanismo che vedi girare, però, è esattamente quello.

Il mito: «lì dentro vedi GPT-3 in scala». Lo si legge spesso, e l'ho creduto anch'io finché non sono andato a controllare. Nel codice GPT-3 c'è davvero, con i suoi 96 blocchi, ma è dichiarato enabled: false, e il ciclo di disegno costruisce soltanto gli esempi abilitati: nella scena live trovi il modellino, GPT-2 (small) e GPT-2 (XL), non GPT-3. Il che non toglie niente all'effetto — la sagoma di GPT-2 XL, quarantotto blocchi, è già alta abbastanza da farti perdere di vista il puntino da cui sei partito. Verificabile riga per riga in src/llm/Program.ts.
Quanti blocchi transformer: dal modellino a GPT-3 nano-gpt · 3 blocchi · 85 mila parametri GPT-2 small · 12 blocchi · 124 milioni GPT-2 XL · 48 blocchi · 1,5 miliardi GPT-3 · 96 blocchi · 175 miliardi tratteggiato = nel codice, ma non disegnato nella scena
La barra misura i blocchi transformer impilati, non i parametri: fra un blocco e l'altro cambia anche la larghezza, quindi il numero di parametri cresce molto più in fretta della barra. Il modellino, a sinistra, è quel quadratino. Ridisegno mio nello stile del sito. Numeri di blocchi e dimensioni presi dal sorgente della visualizzazione (Brendan Bycroft, llm-viz, file src/llm/Program.ts, consultato il 2 agosto 2026); i conteggi di parametri dai paper originali di OpenAI. Il repo non ha licenza: l'immagine è disegnata da zero, non copiata.
Visita Come ci si muove là dentro

Un avvertimento pratico prima di partire: quel sito non ha ancore negli indirizzi. L'URL resta bbycroft.net/llm qualunque capitolo tu stia guardando, quindi non posso mandarti direttamente al punto giusto con un link. Da qui l'idea di scriverti la visita guidata: apri la pagina in una scheda a parte e tienila accanto a questa.

Prima di tuttoun minuto
  1. Apri bbycroft.net/llm da computer. Compare un riquadro di benvenuto: chiudilo con Esc o cliccando fuori. Dentro quel riquadro c'è già lo schema del modello, e ogni suo blocchetto è cliccabile: porta dritto al capitolo che lo riguarda.
  2. La colonna di destra è l'indice. Ha due gruppi: Introduction, con Overview e Preliminary, e Detailed, con gli altri otto capitoli.
  3. Clicca il nome di un capitolo: il testo si posiziona lì e la telecamera si sposta da sola. Il capitolo va avanti a scatti, e a ogni scatto compare un fumetto azzurro «Press Space to continue»: premi la barra spaziatrice per il passo successivo.
  • spazio avanza di un passo; se un'animazione è in corso, la mette in pausa e la fa ripartire
  • Backspace riavvolge il capitolo dall'inizio
  • trascina con il tasto sinistro sposta la scena (non la ruota: è la sorpresa più comune)
  • Shift + trascina, oppure il tasto destro, ruota il punto di vista
  • rotella avvicina e allontana
  • ← ↑ → ↓ o W A S D spostano la telecamera; Pag↑/q e Pag↓/e la avvicinano e l'allontanano
  • r espande il blocco su cui sei, f lo mette a fuoco
Itinerario Facilecirca 10 minuti

Due tappe sole, scelte perché non richiedono di sapere niente in anticipo. Ignora tutto il resto dell'indice: ci tornerai quando ne avrai voglia.

  1. Overview — è il capitolo di apertura, quello già selezionato quando entri. Premi spazio e guarda: sei lettere entrano in cima, attraversano la struttura, e in fondo esce una previsione. Non serve capire i singoli pezzi. Serve vedere che c'è un percorso, e che ha un principio e una fine.
  2. Il confronto di scala. Allontanati con la rotella finché non compaiono, di lato, le sagome grigie: sono GPT-2 e GPT-2 XL, disegnate nella stessa misura. Torna avanti e indietro un paio di volte fra il modellino e le sagome. Quel gesto — piccolo, enorme, piccolo — è la cosa che ti resterà.
Itinerario Normalecirca 25 minuti

Quattro tappe: l'apertura, l'ingresso, il cuore e l'uscita. Sono i momenti in cui, se guardi bene, si capisce che cosa vuol dire «il modello elabora».

  1. Overview — il giro completo, per farsi l'occhio. Spazio fino in fondo.
  2. Embedding — qui le lettere smettono di essere lettere. Guarda come ogni token pesca una colonna dalla tabella dei pesi e diventa un vettore. È il passaggio che nell'Hub AI racconto a parole: qui lo vedi succedere.
  3. Self Attention — il capitolo più lungo e il più bello. Ogni token produce tre vettori, query, key e value, e li confronta con quelli degli altri. Rallenta: clicca su una singola cella della matrice di attenzione e osserva quali celle si accendono. È il meccanismo che nell'hub chiamo il riflettore.
  4. Output — la fine: i logit, la softmax, la lettera scelta. Se hai già giocato con la temperatura, qui vedi da dove escono quei numeri.
Itinerario Avanzatoun'ora abbondante

Tutti e dieci i capitoli, nell'ordine in cui stanno nell'indice. Per ognuno ti segnalo la cosa precisa da guardare: senza un obiettivo, dopo il quarto capitolo la testa scivola via.

  1. Overview — il giro completo. Fissa la colonna centrale: è il residual stream, e la ritroverai in ogni capitolo successivo.
  2. Preliminary — la premessa. Dice una cosa che quasi tutti saltano: qui si guarda l'inferenza, non l'addestramento. I pesi sono già fissati.
  3. Embedding — token embedding più position embedding, sommati. Guarda che la somma avviene prima di entrare nel primo blocco.
  4. Layer Norm — media e varianza calcolate su ciascun vettore, poi riscalate da due parametri appresi (γ e β). Nota dove sta: prima dell'attenzione, non dopo. È il pre-norm, e non è la disposizione del paper del 2017.
  5. Self Attention — le tre proiezioni Q, K, V, il prodotto scalare, la divisione per √A (con A = 16, la dimensione di una singola testa), la maschera causale. La matrice di attenzione è triangolare inferiore: cerca il triangolo di celle spente in alto a destra, è la prova visiva che nessun token può guardare avanti.
  6. Projection — le tre teste si riconcatenano e una matrice le rimappa su C. È il pezzo che quasi nessuna spiegazione a parole si ferma a mostrare.
  7. MLP — layer norm, espansione lineare a 4C, attivazione GELU elemento per elemento, ritorno a C. Qui stanno due terzi dei parametri di un blocco (8C² contro i 4C² dell'attenzione): guarda quanto sono grosse quelle due matrici blu rispetto a quelle dell'attenzione, e capisci perché.
  8. Transformer — il blocco intero rimesso insieme, con le due somme residue. Segui una singola cella dall'ingresso all'uscita del blocco.
  9. Softmax — esponenziale, somma, divisione. Cerca la sottrazione del massimo prima dell'esponenziale: non cambia il risultato (la softmax è invariante per traslazione) ma evita che l'aritmetica in virgola mobile esploda. È il genere di dettaglio che nelle spiegazioni divulgative sparisce sempre.
  10. Output — layer norm finale, logit, softmax, campionamento con temperatura: la si divide ai logit prima della softmax, ed è la stessa manopola della tappa sulla risposta. Nota poi che è l'ultima colonna l'unica che conta per la previsione: tutto il resto del calcolo serve a costruirla.
Limiti Che cosa non aspettarti
In inglese e piuttosto tecnico

Il testo dei capitoli è in inglese, con il lessico dei paper. Un traduttore automatico nel browser lo mastica, ma i termini chiave conviene lasciarli in originale: embedding, layer norm, self attention sono i nomi delle cose, non parole difficili.

Serve un computer e WebGL2

La scena è disegnata dalla scheda grafica tramite WebGL2. Se il browser non ce la fa, la pagina lo dice esplicitamente e chiede Chrome o Firefox aggiornati. Su telefono la struttura è illeggibile: l'interfaccia è pensata per una finestra larga, con la sidebar accanto alla scena. In classe: proiettore, non tablet.

Ordina lettere non scrive frasi

Il modello di quella pagina mette in fila A, B e C. Il salto verso un assistente che parla italiano va dichiarato, altrimenti chi guarda si convince che «i modelli linguistici ordinano liste». Il meccanismo è lo stesso; a cambiare sono il vocabolario (3 simboli contro decine di migliaia), la scala e tutto l'addestramento successivo.

È l'architettura del 2019 non la fotografia di oggi

Niente RLHF, niente modelli di ragionamento, niente delle varianti architetturali degli ultimi anni. Chi la usa per spiegare «come funziona ChatGPT oggi» dice una mezza verità: il cuore è quello, il contorno no. La cosa onesta è dirlo mentre la si mostra.

Licenza Che cosa si può fare, per davvero

Questa parte serve soprattutto a chi insegna, perché è quella che di solito si scopre troppo tardi: il repository non ha alcuna licenza. Non è una svista che si possa interpretare in senso permissivo.

Il 16 gennaio 2024 un ricercatore ha aperto l'issue numero 16, intitolata semplicemente «License?», chiedendo con quale licenza potesse modificare il progetto per il proprio laboratorio. Non ha ancora ricevuto risposta. In assenza di una licenza esplicita valgono le regole predefinite del diritto d'autore — tutti i diritti riservati — e i termini di servizio di GitHub concedono solo la visione del codice e il fork all'interno della piattaforma (choosealicense.com).

Tradotto in pratica, ecco che cosa mi sento di consigliare, e che cosa faccio io. Linkare è sempre lecito: un link non è una copia, e mandare la classe sul sito originale è anche la cosa più corretta verso chi l'ha costruito. Uno screenshot sobrio dentro una lezione, con il credito «Brendan Bycroft, bbycroft.net/llm» ben visibile, rientra nel diritto di citazione per scopo didattico previsto dall' articolo 70 della legge 633 del 1941: è una posizione difendibile, purché la citazione sia limitata e non sostituisca la visita al sito. Ridisegnare uno schema con le proprie mani, come ho fatto qui sopra con il confronto di scala, è la via davvero pulita: il diritto d'autore protegge l'espressione, non l'idea, e citare l'ispirazione è correttezza editoriale prima che obbligo. Restano fuori, invece, il copia-incolla di codice, testi o file del progetto, la traduzione ospitata altrove e l'incorporamento della pagina in un iframe dentro il proprio sito.

Dopo Dove continuare

Questa visualizzazione mostra il dove: la forma della macchina. Il perché l'ho scritto passo per passo nell'Hub AI, in italiano e con una demo per tappa. I due si tengono per mano: guarda un capitolo là, rileggi la tappa corrispondente qui.

Il punto. Non è che il modello sia semplice: è che è fatto di poche cose ripetute. Tre blocchi o novantasei, il gesto è lo stesso — guardare indietro, pesare, mescolare, passare oltre. Quando l'avrai visto succedere in tre dimensioni, la parola «magia» ti verrà più difficile da usare. Che è esattamente lo scopo.

Fonti Per approfondire

Complessità della fonte: divulgativa approfondimento tecnica o accademica

  • Gioco B. Bycroft, «LLM Visualization» — l'oggetto di questa scheda: l'inferenza di un nano-GPT da 85.000 parametri, percorribile in tre dimensioni con walkthrough in dieci capitoli. bbycroft.net
  • Fonte B. Bycroft, «llm-viz», repository GitHub — il codice sorgente. Da qui vengono i numeri citati in questa pagina: la forma del modellino, le tre topologie di confronto e il flag enabled che tiene GPT-3 fuori dalla scena. Nessuna licenza dichiarata; l'issue #16 che la chiede è aperta dal 16 gennaio 2024. github.com · issue #16
  • Paper A. Vaswani et al., «Attention Is All You Need», NeurIPS 2017 — il transformer. Il §3.2.1 contiene la formula che i capitoli Self Attention e Softmax eseguono un passo alla volta. arxiv.org
  • Paper T. Brown et al., «Language Models are Few-Shot Learners», NeurIPS 2020 — GPT-3: 175 miliardi di parametri, 96 strati, dmodel 12288, 96 teste. Sono i numeri della sagoma che nella scena non c'è. arxiv.org
  • Paper A. Radford et al., «Language Models are Unsupervised Multitask Learners», OpenAI 2019 — GPT-2, dai 117 milioni di parametri dichiarati per la versione piccola a 1,5 miliardi della XL: le due sagome affiancate al modellino. cdn.openai.com
  • Fonte A. Karpathy, «minGPT» — l'implementazione minimale in PyTorch da cui nasce il modellino che ordina le lettere. Licenza MIT, quindi qui il riuso è pacifico. github.com
  • Lezione A. Karpathy, «Let's build GPT: from scratch, in code, spelled out» — due ore in cui lo stesso modello viene scritto da zero. Guardarlo dopo la visita 3D chiude il cerchio fra la forma e il codice. In inglese, con sottotitoli. youtube.com
  • Gioco Transformer Explainer (Georgia Tech) — l'alternativa in due dimensioni: un GPT-2 vero che gira nel browser, con le teste di attenzione che si accendono token per token. Più leggera, va anche su schermi piccoli. poloclub.github.io
  • Saggio N. Elhage et al., «A Mathematical Framework for Transformer Circuits», Anthropic 2021 — il residual stream letto come canale di comunicazione fra i blocchi: la chiave per non prendere troppo alla lettera la colonna centrale della visualizzazione. transformer-circuits.pub
  • Saggio S. Raschka, «The Big LLM Architecture Comparison», Ahead of AI 2025 — che cosa è cambiato dall'architettura mostrata qui: attenzione a query raggruppate, posizioni rotanti, mixture of experts. Serve per misurare quanto è vecchio il plastico. magazine.sebastianraschka.com
  • Fonte «No License», choosealicense.com (GitHub) — che cosa vale quando un repository non dichiara nulla: tutti i diritti riservati, salvo la visione e il fork dentro la piattaforma. choosealicense.com

Provalo

Aprilo su un computer, chiudi il riquadro di benvenuto e clicca Overview nella colonna di destra. Poi torna qui e segui l'itinerario del tuo livello.

← Torna a Tools & App