Un world model alla prova: cosa regge, misurato in casa
Nella prima parte abbiamo raccontato la teoria: perché LeCun punta sui world model, come funziona l'architettura JEPA, cosa promettono gli articoli LeJEPA e LeWorldModel. Qui facciamo l'altra cosa: li verifichiamo. Entrambi gli articoli sono pubblici con codice e pesi scaricabili, quindi si può. Abbiamo affittato una GPU a ore, preso il modello già addestrato dagli autori e gli abbiamo fatto nove esperimenti su due ambienti. Spesa totale di calcolo: pochi dollari. Questa nota è il verbale: cosa regge, cosa scricchiola, e dove la nostra misura va oltre l'articolo.
Il banco di prova
Due mondi in miniatura. PushT, in 2D: un tavolo visto dall'alto, una «manina» che spinge un blocco a forma di T verso una sagoma obiettivo. Cube, in 3D: un braccio robotico simulato (MuJoCo) che sposta un cubo. Su entrambi esiste un checkpoint pubblico di LeWorldModel, il world model da 15 milioni di parametri di cui alla prima parte: lo scarichiamo e lo usiamo così com'è — zero training da parte nostra, tutto quello che segue misura il modello degli autori.
Metodo di lavoro: niente fiducia sulla parola. Ogni claim dell'articolo che ci interessa diventa un esperimento eseguibile, con i numeri nostri e i loro a confronto. Gli script e i dati grezzi sono nel nostro quaderno di lavoro; qui riportiamo il succo.
Prima domanda: sa usare ciò che sa?
Il test di accensione. Diamo al modello un'immagine del tavolo e un'immagine del traguardo, e gli chiediamo di giocare davvero: a ogni passo immagina migliaia di sequenze di mosse nel suo spazio latente, valuta quale finisce più vicino al traguardo, esegue la prima mossa, ripensa. Cinquanta partite, regole identiche all'articolo.
Su PushT vince il 90% delle partite (l'articolo: 96% su tre seed di addestramento; noi misuriamo un solo seed, il checkpoint pubblico — dentro il rumore statistico). Su Cube il 70% (l'articolo: circa 74-84%, valori letti da un grafico; e Cube è l'unico ambiente dove il rivale DINO-WM fa meglio). Traduzione: il setup regge, i numeri dell'articolo tornano, e il modello pianifica davvero: punti di partenza e traguardi li peschiamo noi a caso, quindi ogni partita è una situazione nuova.
Seconda domanda: cosa c'è scritto nei 192 numeri?
Ogni fotogramma, per il modello, è una lista di 192 numeri. Domanda: in quei numeri c'è scritta la fisica della scena, o solo texture? Il test è volutamente ingenuo: si chiama probing lineare. Prendi migliaia di frame, passali nel modello, e chiedi a una regressione — lo strumento più semplice che esista, scelto apposta perché onesto: se l'informazione è lì in forma accessibile, una retta la trova — di indovinare dai 192 numeri la posizione vera del blocco, il suo angolo, la velocità. Come controllo, la stessa regressione partita dai pixel grezzi: se il latente non batte i pixel, il modello non sta distillando nulla.
Le posizioni ci sono, e in forma quasi perfetta: sulla posizione del blocco la retta legge il latente con un R² di 0,95-0,99 (un punteggio dove 1 significa indovinato perfetto) in entrambi i mondi, meglio che dai pixel (su Cube la distanza in profondità, per esempio: 0,99 contro 0,66). L'articolo riportava lo stesso ordine di grandezza: confermato.
La sorpresa vera arriva sulle velocità: dal singolo fotogramma non si leggono, punto. Neppure con una regressione più flessibile. Non è un limite dello strumento: è un fatto sul modello. Perché la velocità è una differenza di posizioni nel tempo, e il modello la tiene nella storia, non nel fotogramma: se alla retta dai gli ultimi tre stati latenti invece dell'ultimo, le velocità diventano leggibili (R² fino a 0,81). Detto in un modo solo un po' forzato: il modello sa dove vanno le cose, ma te lo dice soltanto se lo guardi muovere.
Terza domanda: si sorprende?
È il test che si fa ai neonati: copri una pallina con un panno e quando lo sollevi la pallina non c'è più — se a quel punto il bambino guarda la scena più a lungo del normale, vuol dire che dal mondo si aspettava qualcosa (che gli oggetti non spariscono). Il nostro equivalente: facciamo girare partite normali e a metà, puff, il blocco si teletrasporta in un punto impossibile. Se il modello ha un'aspettativa, la sua previsione deve fallire esattamente lì.
Fallisce esattamente lì. L'errore di predizione, piatto e basso per tutta la partita, ha un picco secco al passo dopo il teletrasporto e poi rientra subito — il modello assorbe la nuova realtà. Su PushT la separazione tra partite normali e truccate è perfetta (AUC 1,000 — un punteggio dove 1 significa separazione perfetta e 0,5 tirare a caso: con una soglia sull'errore si costruisce un rilevatore infallibile di eventi impossibili). Su Cube il segnale c'è ma più rumoroso (AUC 0,900) — e questo torna con il resto del quadro: Cube è l'ambiente dove il modello è più debole.
Però attenzione: un errore di predizione che sale potrebbe reagire a qualunque cambiamento visivo, non solo all'impossibile. Serve la prova del nove, con un gruppo di partite perturbate solo in apparenza: a metà, invece di teletrasportare il blocco, gli cambiamo solo il colore — fisica invariata, apparenza stravolta. Risultato: il modello si accorge anche di quello (AUC 1,000), ma la magnitudo si gradua con precisione: errore medio 0,08 sulle partite normali, 0,92 per il cambio colore, 2,02 per il teletrasporto. La sorpresa non è né solo fisica né solo visiva: è una miscela, e pende dalla parte giusta.
Quarta domanda: per quanto tempo sogna?
L'obiezione del caos, dalla prima parte: più avanti il modello immagina, più la simulazione dovrebbe staccarsi dalla realtà. Lo misuriamo: partiamo da tre stati reali e lasciamo il modello sognare in avanti per dieci blocchi — il modello ragiona a blocchi di 5 passi, quindi cinquanta passi di ambiente — in totale autonomia: ogni previsione diventa l'input della successiva, senza mai vedere la realtà. Poi confrontiamo il sogno con quello che è successo davvero.
La deriva c'è: la distanza nel suo spazio latente cresce in modo costante, come l'articolo ammette. Ma quando decodifichiamo i latenti in posizione del blocco (con la solita retta del probing), l'errore fisico resta piatto per tutto l'orizzonte, mentre la previsione banale «il mondo non si muove» degrada di continuo: il divario tra sognare e non sognare si allarga a ogni passo. L'immaginazione deriva, ma resta fisicamente coerente sull'orizzonte che serve per pianificare. Onestà: PushT è un mondo molto smorzato, il caos è poco per definizione — la misura giusta è il divario dalla baseline, non l'errore assoluto.
Cosa ci portiamo a casa
Il quadro che esce è coerente e stavolta l'abbiamo misurato direttamente noi. Il world model pianifica (90%/70%, numeri dell'articolo riprodotti), rappresenta la geometria della scena in forma accessibile (probing, confermato e rafforzato), si sorprende dell'impossibile in modo graduato (misura nostra, più pulita di quella dell'articolo), e la sua immaginazione regge sull'orizzonte utile (misura nostra, assente dall'articolo). Le crepe ci sono e vanno dette: su Cube tutto è più fragile, le velocità non abitano nel singolo fotogramma, e persino il dataset pubblico arriva troncato — un dettaglio che scopri solo se provi davvero a rieseguire tutto.
Resta l'obiezione profonda, quella che nessun esperimento di questa portata chiude: anticipare bene non è capire. Ma adesso sappiamo qual è il punto esatto dove l'obiezione morde — la dinamica, la causalità, la generalizzazione fuori distribuzione — e sappiamo che gli strumenti per continuare a scavare stanno in una GPU affittata per pochi dollari. Che è forse la notizia migliore della serie: questa frontiera, oggi, si può verificare da casa.
Note e riferimenti
Questa è la seconda parte di due; la prima copre la teoria. Gli articoli verificati: LeJEPA (Balestriero & LeCun, 2025) e LeWorldModel (Maes et al., 2026; codice: le-wm, libreria: stable-worldmodel).
Note di metodo, per chi volesse replicare: checkpoint pubblici quentinll/lewm-pusht e quentinll/lewm-cube su Hugging Face; valutazione di planning con la stessa procedura dell'eval ufficiale (CEM 300×30, orizzonte 5 blocchi da 5 step, goal a +25 step, budget 50); sonde Ridge con split per episodio; surprise test con teletrasporto via stato privilegiato dell'ambiente. Il dataset cube su Hugging Face è troncato (ultimo ~12% delle righe illeggibile): i nostri risultati su Cube usano la porzione intatta. I nove esperimenti hanno girato su GPU a noleggio (RTX 4000 Ada / A4500 / A40) per un costo complessivo di calcolo di pochi dollari.