Conclusioni#
Siamo partiti, nell’introduzione, da una frase di Joseph Weizenbaum: «si dice che spiegare sia dissolvere l’incanto» [Wei66]. Voleva dire che quando capisci come è fatto un trucco, il trucco smette di essere magia. Adesso possiamo dire com’è andata. Sono passati trentasette capitoli, dall’algebra lineare alle reti che generano immagini, dagli alberi di decisione agli agenti che usano strumenti, dal codice che fa correre una scheda grafica alle domande su chi risponde quando un modello sbaglia. Dei meccanismi non è rimasto quasi niente di prodigioso: guardati da vicino, sono conti. Ed è proprio per questo che l’intelligenza artificiale continua a non lasciarsi definire: ogni cosa che si riesce a spiegare smette di sembrare intelligenza e diventa «solo» un algoritmo.
Ma adesso abbiamo qualcosa che all’inizio non avevamo: gli strumenti per capire come queste macchine funzionano davvero, e per distinguere ciò che sanno fare da ciò che sembrano fare. Voltiamoci a guardare la strada percorsa, perché da qui si vede un disegno che i singoli capitoli, da vicino, non lasciavano intravedere.
Il percorso, guardato dall’alto#
Il primo tratto sono i mattoni: vettori, matrici, derivate, probabilità. Non erano un rito d’iniziazione, ma il vocabolario di tutto il resto. Un neurone è un prodotto scalare: moltiplica ogni ingresso per il suo peso e somma i risultati, come alla cassa si moltiplica ogni quantità per il suo prezzo e si fa il totale. L’apprendimento è una discesa lungo un gradiente, cioè lungo la pendenza dell’errore, verso il punto in cui l’errore è più basso. Una previsione è una distribuzione di probabilità: non una risposta secca, ma un elenco di risposte possibili, ciascuna con la fiducia che il modello le assegna.
Da lì il machine learning classico ci ha insegnato la disciplina fondamentale: tenere separati i dati su cui si impara da quelli su cui si misura, temere l’overfitting (imparare a memoria gli esempi visti, e restare poi senza risposta davanti a uno nuovo), misurare con onestà. Una disciplina che vale identica per un modello con dieci parametri (le manopole che l’addestramento regola) e per uno con mille miliardi.
Il secondo tratto sono le reti neurali, che hanno cambiato la scala e ci hanno costretti a guardare anche sotto il cofano. Con PyTorch abbiamo impilato strati e scritto a mano il ciclo di addestramento (il training loop); col capitolo sulla GPU abbiamo visto perché una moltiplicazione di matrici è veloce solo se i numeri arrivano dalla memoria abbastanza in fretta da tenere occupato il processore. Le reti convoluzionali hanno insegnato alle macchine a vedere, e lo spartiacque è AlexNet, che nel 2012 vince la gara di riconoscimento di immagini ImageNet con un errore top-5 (la risposta giusta non è fra le cinque proposte) del 15,3%, ottenuto facendo votare insieme sette reti [KSH12], contro il 26,2% del secondo classificato. Quel 26,2% era del miglior metodo costruito a mano, cioè con i dettagli da guardare scelti da un esperto invece che imparati: è il salto che nessuno si aspettava.
I modelli di sequenza, e i Transformer dopo di loro, hanno insegnato alle macchine a leggere e a scrivere [VSP+17]; e poi a tenere insieme visione e linguaggio nello stesso modello, imparando quasi tutto con l’auto-supervisione, cioè da etichette che nessuno scrive perché stanno già dentro i dati. Sono venuti poi il suono, la voce, i grafi (i dati fatti di puntini collegati da linee), i sistemi che ti raccomandano cosa guardare, le serie temporali, le equazioni della fisica: i capitoli in cui la stessa matematica cambia mestiere a seconda della forma dei dati. E accanto alle architetture è cresciuto il mestiere di farle stare nei conti, l’efficienza: far entrare in una scheda sola, e in una bolletta sola, un modello che non ci starebbe.
Il terzo tratto è quello in cui cambia la domanda: non più solo riconoscere quello che c’è (questa foto è un gatto), ma generare quello che non c’è (una foto di un gatto che non esiste) e agire per ottenere qualcosa. Sono i modelli generativi, che il libro percorre in cinque famiglie: i modelli latenti, che comprimono il mondo in poche coordinate e da lì lo ricostruiscono; le GAN, dove due reti si sfidano e quella che inventa impara a non farsi smascherare dall’altra; la diffusione, che parte dal rumore e lo ripulisce un poco alla volta; la verosimiglianza esatta, che sa dire quanto è probabile ogni singolo esempio e paga quella contabilità con vincoli severi sull’architettura; e i modelli a energia, la famiglia più antica e il linguaggio in cui la diffusione si può riscrivere, come una parente che ha cambiato nome.
Poi la ricerca, dove la macchina immagina i futuri dentro regole che conosce, e il reinforcement learning, dove l’agente le regole non le ha e le risposte giuste nemmeno, e le scopre agendo: è così che AlphaGo, nel 2016, è diventato più forte dei giocatori umani dalle cui partite aveva imparato le prime mosse.
E infine le architetture nate da un conto che non si regge: per capire un testo un Transformer confronta ogni parola con tutte le altre, e su un testo lungo quel confronto diventa proibitivo. Da lì l’attenzione lineare e i modelli a spazio di stati. E gli agenti che usano strumenti, il modo in cui li si programma a parole, quello che succede quando diventano molti e i modelli del mondo che provano a immaginare le conseguenze di un’azione prima di compierla.
Attenzione a un equivoco: il terzo tratto non è il più recente. Alcune di queste idee sono molto più vecchie di quanto la loro posizione nel libro lasci pensare, e più vecchie delle reti che hanno reso famoso il deep learning. I modelli a energia nascono dalla fisica dei primi anni Ottanta; l’impalcatura matematica del reinforcement learning è degli anni Cinquanta, cioè di quando i calcolatori occupavano una stanza. Quello che è successo dopo il 2012 è che finalmente c’erano i dati e le macchine per far funzionare quelle idee, non che qualcuno le avesse inventate.
Altre invece sono giovanissime: le due reti che si sfidano sono del 2014, e gli agenti e i modelli del mondo hanno preso velocità dal 2020 in poi. Nel terzo tratto stanno fianco a fianco, come vicini di casa, mentre nella storia sono nonni e nipoti: l’ordine in cui li si legge segue le domande del libro, non il calendario.
La cronologia va disaccoppiata dall’ordine dell’esposizione, perché il gruppo è tutt’altro che coetaneo. Alcuni pezzi sono vecchissimi: la rete di Hopfield è del 1982 [Hop82] e l’algoritmo di apprendimento della macchina di Boltzmann del 1985 [AHS85], mentre l’impalcatura del reinforcement learning è degli anni Cinquanta: Bellman comincia a pubblicarla nel 1952 e la raccoglie nel libro del 1957 [Bel57]. Altri nascono a metà degli anni Dieci (le GAN nel 2014, la diffusione fra il 2015 e il 2020, AlphaGo nel 2016) e altri ancora prendono velocità dal 2020 in poi (attenzione lineare e modelli a spazio di stati, gli agenti, i modelli del mondo).
Nemmeno l’ordine dell’indice è cronologico, e l’indice è la mappa che il lettore ha sotto gli occhi: il reinforcement learning è una parte a sé, collocata prima del linguaggio e dei Transformer. L’indice segue le domande, non le date. Gli ordini in gioco, quindi, sono tre: quello dell’indice, quello di questo ripasso (che raggruppa per domanda e non per parte) e quello della storia.
E poi gli ultimi capitoli, che non parlano di architetture ma di mestiere: portare un modello in produzione e tenerlo in vita (MLOps), aprirlo per capire perché ha deciso così (interpretabilità), rispondere delle sue conseguenze (AI responsabile). Sono la parte del lavoro che decide se quello che hai costruito serve a qualcuno o fa danni, non appendici morali messe in fondo per buona educazione.
Argomenti diversissimi, e in mezzo settant’anni di storia: dal percettrone di Rosenblatt del 1958 ai modelli di oggi. Eppure, sotto, tornano sempre le stesse tre idee.
Tre fili, un solo tessuto#
Se dovessimo comprimere l’intero libro in tre parole, sarebbero dati, rappresentazioni e ottimizzazione. Sono i fili che attraversano ogni capitolo, dal più elementare al più avanzato (Fig. 38.1).
Fig. 38.1 I modelli cambiano da sinistra a destra, via via capaci di rappresentare cose più complicate, ma sotto di loro scorrono sempre gli stessi tre fili. I capitoli sul mestiere (produzione, interpretabilità, responsabilità) non stanno su questo asse: stanno attorno a tutto.#
I dati vengono prima di tutto: nessun modello sa più di ciò che ha visto. L’introduzione li ha paragonati all’ossigeno, e adesso che il percorso è finito quel paragone si può stringere. L’ossigeno è l’avanzo di una vita che non era la nostra, e noi siamo diventati quello che siamo imparando a respirarlo; i dati sono l’avanzo del nostro passaggio nel mondo digitale, e ogni macchina di questo libro è un modo diverso di respirare quello. Le reti convoluzionali respirano immagini, i Transformer testo, le reti su grafo relazioni fra cose. Cambia il polmone, l’aria è sempre quella.
Ed è il filo che spiega perché il libro insista tanto su cose che sembrano noiose accanto alle architetture: come si dividono i dati, che cosa succede quando cambiano sotto i piedi, chi li ha lasciati e se era d’accordo. Un modello non è più intelligente dell’aria che gli hai dato da respirare.
Le rappresentazioni apprese sono il cuore, cioè la parte che il deep learning ha cambiato più di ogni altra.
Per decenni, per far riconoscere un gatto a un computer, un esperto doveva spiegargli a mano cosa guardare: i baffi, le orecchie a punta, la forma degli occhi. Il salto del deep learning è stato smettere di dettare quella lista. Diamo alla rete milioni di foto e la lasciamo scoprire da sola quali dettagli contano. Impara a vedere prima i bordi, poi le forme, poi interi oggetti: una gerarchia che nessuno le ha imposto. Questa capacità di costruirsi le proprie «lenti» per guardare i dati è ciò che chiamiamo rappresentazione appresa.
Le lenti mettono anche in ordine. Attraverso di esse, due foto di gatti finiscono vicine anche se una è in giardino e l’altra sul divano, e un camion finisce lontano da tutte e due. Le stesse lenti servono poi per un lavoro che non era il loro, distinguere le razze dei cani, senza ricominciare da capo.
L’esperto però non è uscito di scena, ha cambiato mestiere: non scrive più la lista dei dettagli, costruisce l’apparecchio in cui le lenti andranno montate. Che un gatto resti un gatto in qualunque angolo della foto compaia lo decide lui, e quella decisione sta nella forma dell’apparecchio: vale già prima che la rete abbia visto una sola immagine, e vale qualunque lente le venga poi.
Una rete profonda è una funzione composta di \(L\) strati, \(f_\theta = f^{(L)} \circ \dots \circ f^{(1)}\), che trasforma l’input grezzo \(\mathbf{x}\) in una sequenza di rappresentazioni intermedie sempre più astratte. Gli strati nascosti non sono altro che feature apprese: coordinate in uno spazio latente dove esempi semanticamente simili finiscono vicini. È il principio degli embedding, e la ragione per cui una sola rete pre-addestrata si riadatta a molti compiti.
Il feature engineering manuale del machine learning classico non è sparito, ma va detto dove è finito, perché le destinazioni sono due e il libro le insegna in capitoli diversi. Una parte è stata assorbita dentro \(\theta\) e delegata all’ottimizzazione, ed è la parte che si racconta di solito. L’altra si è spostata nell’architettura, come bias induttivo: la convoluzione dichiara che un motivo va riconosciuto ovunque compaia, una rete su grafo che l’ordine con cui si elencano i nodi non cambia la risposta. Sono proprietà della forma della funzione, vere per ogni valore di \(\theta\) e anche a rete non addestrata: non sono state imparate, le ha scritte a mano il progettista prima che l’ottimizzazione cominciasse.
E l’ottimizzazione è il motore che rende tutto questo possibile: apprendere significa, quasi sempre, cercare i parametri che minimizzano un errore.
Su un vecchio mixer audio regoli le manopole per far suonare bene una canzone. Giri un po’ una manopola, ascolti se è migliorato, correggi. Addestrare un modello è la stessa cosa, con milioni di manopole: a ogni passo il modello guarda quanto ha sbagliato e sposta ciascuna manopola nella direzione che riduce l’errore, un pochino. Ripetuto abbastanza volte, funziona.
Con un mixer vero la direzione giusta la scopri provando, e con milioni di manopole non finiresti mai. Il modello non prova: la calcola. Per ogni manopola si chiede «se la giro di un pelo in su, l’errore sale o scende, e di quanto?», e ottiene tutte le risposte insieme con un conto solo, invece che con milioni di tentativi. Quel conto è il gradiente, e il modo di ottenerlo in una passata sola è la retropropagazione, che sta nel capitolo sulle reti neurali. Senza, niente di tutto questo sarebbe possibile.
Ci si ferma dove ogni piccolo giro peggiora le cose, e quello non è il suono più bello che quel mixer sappia fare. Con le manopole messe in tutt’altro modo potrebbe uscire qualcosa di meglio, e nessuno andrà a cercarlo.
E non tutti imparano al mixer. Ci sono modelli che lavorano in coppia, uno che inventa e uno che smaschera, e quello che cercano è un equilibrio fra i due invece di un errore sempre più basso. Ce ne sono che gli esempi devono andarseli a prendere agendo, e allora il materiale su cui si esercitano cambia mentre imparano. Quasi tutti cercano il meglio secondo una misura: cambia la misura, non la ricerca. Qualcuno nemmeno quella ce l’ha, e raggruppa i dati seguendo una procedura, per vedere che cosa ne esce.
La forma che copre il grosso del libro è la minimizzazione del rischio empirico su un campione etichettato:
dove \(\theta\) sono i parametri, \(\mathcal{L}\) la funzione di costo totale, \(\ell\) la perdita sul singolo esempio, \(f_\theta\) il modello, e \(\mathbf{x}^{(i)}\), \(y^{(i)}\) l’input e il target dell’\(i\)-esimo degli \(m\) esempi di addestramento. Due avvertenze sulla scrittura, prima di usarla. La convenzione è quella fissata nella sezione sull’apprendimento supervisionato: \(\mathcal{L}\) sta per il costo totale, e il singolo esempio ha la sua lettera, \(\ell\). E «etichettato» va inteso in senso largo: nel pre-addestramento auto-supervisionato l’etichetta esiste, solo che non la scrive nessuno, è il token successivo.
Cambia \(f_\theta\) e, per i modelli differenziabili (dalla regressione lineare al Transformer), la macchina che ci si avvicina è la discesa del gradiente stocastica, che su una rete profonda si ferma dove il gradiente si annulla, senza garanzia che sia il minimo globale.
Il perimetro di quella scrittura, però, va dichiarato, perché è più stretto del libro, e le eccezioni sono istruttive. Le GAN non ci stanno: l’ottimizzazione simultanea di un gioco minimax non equivale a minimizzare una singola funzione, ed è la radice della loro instabilità. Il reinforcement learning non ci sta: la distribuzione dei dati dipende dalla politica che si sta cercando e l’obiettivo è massimizzare un ritorno atteso; perfino nella variante offline, dove un campione fisso di traiettorie esiste, l’obiettivo resta un ritorno e non una media su coppie. I modelli a energia non ci stanno: la verosimiglianza che vorrebbero massimizzare contiene una funzione di partizione che non si sa calcolare, e si ripiega su surrogati come lo score matching. E nemmeno sul versante classico la copertura è totale: \(k\)-means almeno un obiettivo ce l’ha, l’inerzia, che l’algoritmo di Lloyd però minimizza solo localmente; DBSCAN è una procedura sulla densità e il clustering gerarchico una fusione greedy, e nessuno dei due è il minimo di un obiettivo globale; anche un albero di decisione cresce con split localmente ottimi, non minimizzando una funzione sull’albero finito.
Resta vero che sono quasi tutti problemi di ottimizzazione, ed è questo che tiene insieme il libro. Da una famiglia all’altra cambia la natura dell’obiettivo: una somma su un campione, un equilibrio fra due giocatori, un ritorno atteso lungo traiettorie che il modello stesso genera, una verosimiglianza inaccessibile. Per DBSCAN, il clustering gerarchico e gli alberi cambia anche se un obiettivo ci sia. Tre idee, infinite architetture.
Dove sta andando#
Per capire dove va un campo, la domanda utile non è quale modello sia il più bravo adesso: quella risposta scade in pochi mesi. La domanda utile è che cosa succede quando si dà a un modello più risorse.
Tre grafici rispondono proprio a quella: quanto migliora un modello se gli diamo più potenza di calcolo, più dati o più parametri? Ogni retta mostra l’errore che il modello commette (la loss: più è bassa, meglio è) al crescere di una delle tre, con le altre due messe in modo da non frenare la discesa. E in nessuno dei tre la retta si piega verso l’orizzontale: non c’è, cioè, un punto oltre il quale aggiungere risorse smette di servire. Quella piega ha un nome, il «ginocchio», e in questi grafici non compare.
Fig. 38.2 Tre risorse, tre rette. Gli assi sono in scala logaritmica: un passo lungo l’asse non aggiunge una quantità, la moltiplica per dieci. Una retta che scende vuol dire quindi che per guadagnare ancora un poco bisogna moltiplicare la risorsa, non aggiungerne un pezzetto. Accanto a ogni retta c’è la sua legge di potenza, e quanto rende quella moltiplicazione è dieci elevato al suo esponente: prendendo dieci volte tanto, la loss resta a 0,89 di quanto era, poco meno di nove decimi, per il calcolo; a 0,80, quattro quinti, per i dati; a 0,84, poco più di cinque sesti, per i parametri. Le tre rette sono disegnate con inclinazioni proporzionali ai tre esponenti, e la più ripida è quella dei dati, cioè la risorsa che rende di più. Schema ridisegnato sugli esponenti misurati da Kaplan e colleghi nel 2020. Nel primo pannello il calcolo è quello «allocato al meglio», come dice l’asse: per ogni budget, con la taglia di modello e la durata di addestramento che rendono di più.#
L’assenza di un ginocchio in Fig. 38.2 è ciò che ha orientato gli anni che sono seguiti, ed è anche il suo limite: quelle rette raccontano soltanto il tratto che qualcuno ha davvero misurato. Che prima o poi la discesa debba fermarsi lo sappiamo per principio, e lo scrivono gli autori stessi di quelle misure [KMH+20]: in un testo scritto da esseri umani c’è un tanto di imprevedibilità che nessun modello potrà mai togliere, e quello è il pavimento. Quello che nessuno sa è a che altezza sia. È bene tenerlo a mente in quel che segue.
Un capitolo di conclusioni, in questa materia, di solito chiude proprio con le «direzioni future», e anche questo un tempo lo faceva, indicandone tre: i modelli di fondazione (in inglese foundation model: uno solo, enorme, riadattato a mille compiti), la multimodalità (un modello solo che tratta insieme più di un tipo di dato, il testo con le immagini o col suono) e gli agenti. Erano le previsioni più prudenti che si potessero scrivere, e il tempo le ha superate comunque: tutte e tre sono entrate nel libro, nessuna nella forma prevista. La multimodalità ha un capitolo suo, per la coppia che conta di più, visione e linguaggio; il suono e la voce, invece, hanno preso un capitolo per uno, per conto proprio. E gli agenti ne hanno tre: il loro, quello sui prompt e quello sui sistemi multi-agente.
I modelli di fondazione, in compenso, hanno fatto una fine più curiosa: non sono diventati né un capitolo né una sezione. Si sono sciolti dentro quello sui Transformer, dove addestrare un modello su tutto il testo del web e adattarlo poi a quello che deve fare sono due sezioni separate. La cosa c’è ancora, e conta più che mai; è il nome che ha smesso di servire, perché quando tutti i modelli si costruiscono così non c’è più niente da distinguere.
È il motivo per cui non troverai profezie ma i fronti su cui si lavora davvero: dire su che cosa si sta lavorando è un’affermazione molto più piccola che dire come andrà a finire, e si può controllare.
Con un avvertimento, perché questa è la sezione più deperibile del libro: è scritta al presente, e il presente a cui si riferisce è quello della versione che stai leggendo. Trattala come una fotografia con una data sopra, non come una previsione.
Non si addestra più un modello nuovo per ogni problema. Se ne addestra uno solo, enorme, su una montagna di testo o immagini, e poi lo si adatta a mille compiti diversi con poco sforzo, o riaddestrandolo un altro po’ su qualche migliaio di esempi del compito nuovo, o semplicemente spiegandogli a parole che cosa vogliamo. Una base unica su cui si costruisce tutto, un po’ come una persona con una solida cultura generale che, con una breve formazione, impara mestieri molto diversi.
Le domande aperte, oggi, sono più concrete di quelle di una volta, quando ci si chiedeva ancora se una macchina potesse riconoscere un gatto in una foto: a quella si è risposto, a queste no. Sono quattro, e hanno una cosa in comune: in nessuna delle quattro basta fare più grande.
Quanto costa. Per capire un testo, un Transformer confronta fra loro tutte le sue parole, e quel confronto costa quanto il quadrato della lunghezza: raddoppia il testo e quel pezzo di conto si moltiplica per quattro. Su un testo corto è una spesa fra le tante, e lo resta più a lungo di quanto quel quadrato lasci temere: passa in testa a tutte le altre solo da qualche decina di migliaia di parole in su, e prima ancora a riempirsi è la memoria, che è un guaio diverso. C’è una gara in corso per pagare meno, ed è il mestiere del capitolo sull’efficienza e dei due sulle architetture nate apposta.
Se capisce o indovina. Un modello che risponde bene non è per forza un modello che ha capito, e per saperlo bisogna aprirlo e guardarci dentro. Non è facile: quello che ha imparato non sta scritto in chiaro da nessuna parte, è spalmato su miliardi di numeri, e un singolo pezzo di rete si accende per cose che fra loro non c’entrano niente.
Se ci si può fidare. Un agente lavora da solo per venti passi di fila, e ogni passo gli riesce 95 volte su 100. Quante volte gli riescono tutti e venti? Il conto sta in una calcolatrice: si moltiplica, perché ogni passo aggiunge una condizione da soddisfare, e 0,95 per venti volte fa 0,3585, appena 36 su 100. Quel conto però suppone due cose che per un agente vero non valgono: che un solo inciampo rovini tutto, e che i venti passi non si influenzino fra loro. Se l’agente si accorge dello sbaglio e torna indietro va meglio; se i passi non sbagliano mai insieme, e a rovinare una prova è ogni volta un altro passo, va peggio, fino al caso in cui non ne finisce nessuna; se invece sbagliano tutti insieme, per la stessa ragione, o va tutto bene o va tutto storto in blocco, e le volte buone risalgono a 95 su 100. Il 36 su 100 è quindi il caso di riferimento, non il peggiore, e quello che non cambia mai è che ogni passo in più è una condizione in più: per questo i compiti lunghi restano difficili.
Quanto consuma. Addestrare e far girare questi modelli costa corrente, acqua per raffreddare i calcolatori e chip che sanno fabbricare pochissime aziende al mondo. Non è un conto che si chiude in laboratorio: tocca le reti elettriche, le riserve d’acqua e quelle poche fabbriche. E sotto sotto la questione è politica prima che tecnica: chi ha i mezzi per pagare tutto questo?
E una scommessa, una sola: i modelli del mondo. Un modello normale impara che cosa viene di solito dopo che cosa; un modello del mondo prova a imparare le regole con cui una cosa ne fa succedere un’altra, e allora può immaginare come andrebbe a finire una mossa che non ha mai visto fare. Se funzionasse su larga scala, un libro come questo cambierebbe ordine: i modelli del mondo diventerebbero il capitolo da cui si parte, non l’ultimo arrivato.
I foundation model funzionano così: pre-addestramento auto-supervisionato su corpora enormi, poi adattamento via fine-tuning o prompting [BHA+21]. Le scaling laws hanno mostrato che la cross-entropy loss cala in modo prevedibile con parametri, dati e calcolo [KMH+20], e Hoffmann e colleghi ne hanno poi corretto la conclusione operativa sull’allocazione fra parametri e dati [HBM+22]. Che a una loss più bassa corrispondano capacità nuove è un’affermazione diversa, e più fragile: è la faccenda delle abilità emergenti, che il capitolo sui Transformer discute con il dubbio, motivato, che siano in buona parte un artefatto della metrica scelta. In ogni caso le leggi di scala non promettono che scalare basti a risolvere tutto, e i quattro fronti aperti sono, non per caso, quelli in cui scalare non basta.
L’efficienza dell’attenzione. Sui contesti lunghi il costo quadratico dell’attenzione diventa il vincolo economico dominante. «Sui contesti lunghi» è un’ipotesi con una soglia, e conviene calcolarla, perché la scrittura asintotica la fa sembrare più vicina di quanto sia. Detta \(n\) la lunghezza del contesto in token e \(d\) la dimensione del modello, per strato l’attenzione costa \(2n^2d\) moltiplicazioni: \(n^2 d\) per i punteggi \(\mathbf{Q}\mathbf{K}^\top\) e altrettante per combinare i valori. Tutto il resto ne costa \(12nd^2\): \(4nd^2\) per le quattro proiezioni (query, chiavi, valori, uscita), tutte \(d \times d\), e \(8nd^2\) per il feedforward, la cui dimensione interna è per convenzione \(4d\). I due termini si pareggiano dove \(2n^2d = 12nd^2\), cioè a \(n = 6d\); e in un decoder che elabora il contesto tutto insieme, dove la maschera causale rende inutile metà dei punteggi, la soglia raddoppia a \(n = 12d\), che è la regola scritta anche in [KMH+20]. Con un \(d\) di qualche migliaio siamo comunque a decine di migliaia di token, e sotto quella soglia il collo di bottiglia aritmetico sta altrove. Quello di memoria no: la cache di chiavi e valori, che in inferenza cresce con la lunghezza, stringe molto prima, ed è un vincolo diverso che conviene non confondere con questo. Da qui l’attenzione lineare e i modelli a spazio di stati, che sostituiscono l’attenzione softmax con calcoli in forma ricorrente, il cui stato occupa una memoria costante nella lunghezza. Le architetture ibride alternano i due tipi di strato: il costo resta quadratico, perché qualche strato ad attenzione piena resta, ma la costante davanti è più piccola.
La comprensione del modello. L’interpretabilità meccanicistica prova a leggere i circuiti dentro i pesi, ed è lo strumento più diretto per distinguere una risposta corretta da una risposta corretta per il motivo giusto, perché guarda dentro il modello invece di fermarsi al comportamento.
L’affidabilità degli agenti. Componendo più passi gli errori si accumulano: detta \(p\) la probabilità di sbagliare un singolo passo e \(T\) la lunghezza della traiettoria, se i passi sono indipendenti e ogni errore è fatale la probabilità di arrivare in fondo senza inciampi è \((1-p)^T\), che precipita. Le due ipotesi vanno dichiarate, perché nessuna delle due vale per un agente vero: i passi sono correlati, e riflessione e re-planning recuperano una parte degli errori. E attenzione a come si chiama quel numero, perché un caso peggiore non è. Con le probabilità di ogni singolo passo fissate, la correlazione può portare l’esito ovunque fra \(\max(0,\,1-Tp)\), se i fallimenti si escludono a vicenda, e \(1-p\), se cadono tutti insieme: con \(p = 0{,}05\) e \(T = 20\) è l’intervallo \([0;\ 0{,}95]\), e il valore indipendente \(0{,}3585\) sta comodamente in mezzo. L’indipendenza è il caso di riferimento, non il peggiore. Resta però la morale, e non basta essere bravi a un passo. Difficile è anche misurarlo: valutare un agente vuol dire giudicare una traiettoria e non una risposta, distinguendo il successo raggiunto per la strada giusta da quello arrivato per caso.
Il conto fisico. Energia, acqua, silicio e la concentrazione di tutto questo in pochi attori: un problema di politica industriale travestito da problema tecnico.
E una direzione che è più una scommessa che una tendenza, una sola e dichiarata come tale: i modelli del mondo, cioè imparare la dinamica dell’ambiente invece delle sole correlazioni nei dati. Se funzionasse su larga scala, cambierebbe l’ordine dei capitoli di un libro come questo.
Il campo di casa#
Prima o poi la domanda arriva, di solito a cena: è più intelligente di noi?
Messa così non ha risposta, e non per prudenza: manca il dove. È come chiedere se un pesce si muove meglio di un uomo. In acqua vince lui senza sforzo; su un prato perde senza appello. Stessi due, risposta rovesciata.
Il posto dove queste macchine nuotano ha un nome preciso, ed è il mondo digitale. Lì tutto è già nella forma che serve a loro. Ogni cosa è già un numero, e non c’è da andare a misurarla. Ogni azione costa quasi niente e si può ripetere un miliardo di volte. E il giudizio non bisogna chiederlo a nessuno, perché sta già dentro il materiale: una partita finita dice chi ha vinto, un programma bocciato dai suoi test lo dice al primo lancio, e in una frase basta nascondere la parola che viene dopo e chiedere di indovinarla, che è il trucco visto nell’introduzione. Infine, sbagliare mentre si impara non rompe niente: si ricomincia. Gli scacchi, il go, il codice dei programmi, il testo, le immagini sono tutti mondi fatti di quella sostanza, ed è lì che sono arrivati per primi i risultati che hanno fatto notizia. Torna il discorso dell’aria: il mondo digitale è il posto dove quell’aria è più densa, e lì un polmone respira a pieno.
Non è una gara alla pari, è una partita in casa. E la cosa da portarsi via è che buona parte del vantaggio non viene dall’intelligenza, viene dal terreno.
Questa però è una lettura, non un risultato, e c’è chi la ribalta. Le rette della sezione «Dove sta andando» non si piegano, e chi parte da lì risponde che il terreno dice soltanto dove è stato più facile misurare per primi, e che una bravura cresciuta al chiuso poi esce e serve anche all’aperto. Non si stabilisce chi ha ragione discutendone: si guarda che cosa succede quando la partita si sposta all’aperto.
Fuori, il conto si rovescia, ed è un’osservazione vecchia di decenni. Un computer ha battuto il campione del mondo di scacchi nel 1997; costruire il braccio che sposta i pezzi sulla scacchiera è rimasta la parte difficile. Nel 1988 Hans Moravec lo mise così: dare a un computer le prestazioni di un adulto in un test di intelligenza, o a dama, è relativamente facile; dargli le capacità di un bambino di un anno nel percepire e nel muoversi è difficile o impossibile [Mor88].
Moravec attribuiva la differenza ai tempi dell’evoluzione: nel vedere e nel muoverci abbiamo dietro un miliardo di anni di mestiere, mentre il pensiero astratto è un trucco recente, forse di meno di centomila anni. È un racconto che convince, ed è per questo che gira; ma la spiegazione è una cosa e l’osservazione un’altra, e nemmeno l’osservazione è mai stata messa alla prova. Nessuno ha mai preso un campione di compiti, misurato quanto sono difficili per noi e per una macchina, e guardato se le due difficoltà vadano davvero insieme. Arvind Narayanan, nel 2026, ha obiettato che quell’osservazione dice più su quali problemi la ricerca trovi interessanti che su quali siano difficili davvero: i casi facili per tutti, e quelli difficili per tutti, non li racconta nessuno [Nar26].
Questo libro quella differenza la spiega in un altro modo, ed è il terreno. Dove il giudizio è già lì si impara in fretta; dove bisogna andarselo a prendere nel mondo, no. Per dire perché un braccio robotico faccia più fatica di un programma che gioca a scacchi non serve tirare in ballo l’evoluzione: basta notare che al programma la partita dice subito com’è andata, e al braccio no.
Da qui viene la tentazione di rilassarsi, perché a noi resterebbe il mondo vero. È giusto a metà, e la metà che manca conta.
La prima cosa che manca è che il campo si allarga. Ogni sensore, ogni telecamera, ogni pagamento tracciato prende un pezzo di mondo vero e lo trasforma in numeri, cioè lo porta dentro casa loro. È l’altra faccia di quello che l’introduzione chiamava scarto: ciò che lasciamo dietro è l’aria che respirano e anche il terreno su cui giocano. La robotica è il tentativo di portare la partita all’aperto, e lì il conto si vede a occhio nudo: una prova dura il tempo vero che ci vuole, il braccio si consuma, e una caduta non si annulla premendo un tasto. Non è una profezia sul fatto che la robotica resterà indietro, perché le profezie scadono: è il motivo per cui lì ogni tentativo costa più che al chiuso, e se un giorno costerà meno sarà perché uno di quei tre pezzi, il tempo, l’usura o la caduta, è cambiato.
La seconda è che quello che resta nostro è un mestiere e non un territorio: un territorio si perde, e ce ne si accorge quando qualcun altro ci sta già giocando.
Quel mestiere è fatto di due cose. La prima è rispondere di una scelta, e in italiano quella parola ne vuol dire due: dare una risposta, e assumersi le conseguenze. Una macchina fa la prima cosa benissimo e la seconda no. Non perché le manchi qualcosa di misterioso: quando una decisione fa un danno, davanti a chi l’ha subìto deve andarci qualcuno che possa scusarsi, risarcire e cambiare le regole, e quel qualcuno è sempre una persona o un’organizzazione fatta di persone. Vale anche per un’azienda, che di suo non ha faccia né braccia: la responsabilità non si trova, si assegna, e la si assegna a chi può portarla.
La seconda è decidere quale partita giocare. A un sistema si dà un punteggio da far salire, e lui lo fa salire con una costanza che noi non abbiamo: se il punteggio è «quanti minuti resti a guardare», diventerà bravo a tenerti lì, e ci riuscirà. Se quello sia il numero giusto da far salire è una domanda che sta fuori dal campo. Non è che la macchina la sbagli: è che lì dentro non esiste.
Sapere dove si sta giocando è anche il modo migliore per leggere la prossima notizia che ti capiterà sotto gli occhi. Prima di chiederti quanto sia brava, chiediti se giocava in casa.
Una nota onesta#
Sarebbe disonesto chiudere con il solo entusiasmo. Questi sistemi hanno limiti che non sono incidenti passeggeri in attesa della prossima versione: dipendono da come sono fatti, e restano. Un modello dà per veri fatti che non esistono, e si porta dietro i pregiudizi dei testi da cui ha imparato; nessuna delle due cose è una sorpresa, e la ragione di tutt’e due sta in come viene addestrato.
Prima però una domanda che si fa di rado: chi è nella posizione di accorgersene? Dipende da come il modello viene messo a disposizione, e i modi sono due. Di alcuni modelli si possono scaricare i pesi, cioè i numeri che l’addestramento ha regolato, le manopole di prima: sono un file che chiunque può tenersi, e quindi misurarne i difetti, sondarlo, smentirlo. Altri si raggiungono solo attraverso un’interfaccia, cioè mandando domande al server di chi li possiede e ricevendo risposte: quelli si verificano solo con il permesso di quel qualcuno, e quel permesso può essere tolto. È una questione di chi può sapere cosa, non di mercato.
Attenzione però: quella distinzione non è una classifica di bravura (Fig. 38.3).
Fig. 38.3 Ogni punto è un modello. Due assi indipendenti: aperto non vuol dire debole e chiuso non vuol dire potente, e in tutti e quattro i quadranti c’è qualcuno. I punti non hanno un nome di proposito: i nomi cambiano ogni pochi mesi, la forma della nuvola no.#
Un modello linguistico non «sa» le cose: prevede la parola più probabile dopo le precedenti. Funziona perché nei testi da cui ha imparato, il più delle volte, le parole che seguono sono anche quelle giuste. Ma non sempre, e per questo a volte inventa con perfetta sicurezza fatti falsi: le chiamiamo allucinazioni. E siccome impara da testi scritti da noi, assorbe anche i nostri pregiudizi: se i dati riflettono discriminazioni, il modello le ripete, e a volte le rafforza, perché puntare sempre sulla risposta più frequente fa sparire le eccezioni.
I pregiudizi non si riparano tutti allo stesso modo. Se di qualcuno nei dati ci sono quattro fotografie invece di quattromila, altre fotografie rimettono le cose a posto. Se invece i dati ritraggono con precisione un mondo che quel qualcuno lo tiene fuori dalla porta, raccoglierne altri conferma soltanto quello che c’è: lì la cosa da cambiare è che cosa stiamo chiedendo al modello di indovinare. Uno strumento potente non è uno strumento neutrale, e quello che ti dice lo verifichi tu.
Un modello linguistico è pre-addestrato a massimizzare la verosimiglianza del testo, non la verità: la fluidità di una frase non ne garantisce la correttezza. A peggiorare le cose, la sicurezza con cui una risposta è formulata non è un indicatore affidabile della sua correttezza; da qui le allucinazioni sicure di sé.
I bias non sono un bug ma una conseguenza attesa: un modello addestrato su corpora enormi e non curati ne assorbe la visione dominante e la amplifica [BGMMS21]. Conviene però non ridurli a una sola causa. In parte i dati sotto-rappresentano qualcuno, e allora raccoglierne altri aiuta. In parte, e peggio, i dati rappresentano fedelmente un mondo già iniquo: lì la regolarità che il modello apprende è la disuguaglianza, e nessuna quantità di dati aggiuntivi la corregge, perché il difetto sta nella definizione stessa dell’obiettivo. La sezione sull’equità e i bias distingue quattro sorgenti proprio perché richiedono rimedi diversi [MMS+21], e due di quelle quattro non si aggiustano con i dati.
A valle restano questioni aperte: impatto ambientale dell’addestramento, concentrazione di potere in pochi attori, effetti sul lavoro e sull’informazione. L’AI Act europeo, entrato in vigore nel 2024, è un primo tentativo di regolarle. Il fact-check umano, per noi, non è opzionale.
Come continuare a imparare#
Questo libro è una mappa, non il territorio. Per proseguire: leggi i paper originali, cioè gli articoli scientifici in cui ciascuna di queste idee è stata proposta per la prima volta. Quelli degli ultimi quindici anni stanno quasi tutti su arXiv, l’archivio pubblico e gratuito dove i ricercatori depositano i propri lavori. I più vecchi no: Weizenbaum, Rosenblatt, Hopfield sono su riviste, e in biblioteca. E quello che sta su arXiv non è tutto uguale: alcuni sono la versione definitiva di un articolo già passato da una revisione fra pari, altri sono preprint che nessuno ha ancora letto oltre a chi li ha scritti, e da fuori i due si distinguono male. Vanno letti come va letto un modello: senza prendere per buono niente solo perché è scritto bene.
E soprattutto riproduci il codice, perché un modello lo capisci quando lo fai girare e lo rompi. Il metodo per farlo sta nella sezione su come si replica un paper del capitolo su PyTorch: quattro mosse, e i controlli che contano si fanno senza nemmeno addestrare.
Se è la prima volta e un paper ti sembra un altro pianeta, comincia da qui: apri il notebook di un capitolo con il pulsante «Esegui il codice», cambia un numero e guarda che cosa si rompe. È lo stesso mestiere, a un decimo della fatica, e insegna più di una lettura.
Tieni i classici a portata: Géron [Geron22] per la pratica, Chollet e Watson [CW25] per l’intuizione (la terza edizione si legge integralmente online), Goodfellow, Bengio e Courville [GBC16] per la teoria, la documentazione di scikit-learn e PyTorch come compagne quotidiane. Un’avvertenza sulle librerie: Géron, arrivato alle reti neurali, lavora in Keras su TensorFlow, mentre la sua prima metà sta su scikit-learn, che è la stessa libreria di qui; Chollet e Watson scrivono in Keras 3, che non è legato a un motore solo, e la terza edizione gli esempi li dà anche in PyTorch. Quello che insegnano non dipende dalla libreria, ma è meglio saperlo prima di aprirli.
E, capitolo per capitolo, questo libro ha già in bibliografia i manuali di riferimento, che sui rispettivi argomenti dicono molto più di un generalista: Sutton e Barto [SB18] per il reinforcement learning, Jurafsky e Martin [JM26] per il linguaggio e la voce, Szeliski [Sze22] per la visione, Hamilton [Ham20] per i grafi, Hyndman e Athanasopoulos [HA21] per le serie temporali, Huyen [Huy22] per la messa in produzione, Molnar [Mol22] per l’interpretabilità, Barocas, Hardt e Narayanan [BHN23] per l’equità. Diversi si leggono integralmente e gratuitamente online. Sono tutti in inglese, come quasi tutta la letteratura di questo campo: è una delle ragioni per cui questo libro esiste in italiano.
Poi mettiti alla prova. Kaggle è il sito dove chiunque può misurarsi su un problema di dati vero, con una classifica e il codice degli altri partecipanti sotto gli occhi. Partecipa a una competizione: è il modo più rapido per vedere la differenza fra un modello che gira sul tuo computer e un modello che regge dati che non hai scelto tu. Contribuisci a un progetto open source, cioè a un programma il cui codice è pubblico e chiunque può migliorarlo. E tieni un quaderno degli esperimenti falliti, che insegnano più dei successi.
E torna qui: questa versione del libro si aggiorna, e i capitoli nascono anche dalle segnalazioni di chi legge. Se un passaggio non ti torna, selezionalo e mandacelo: i pulsanti che compaiono servono esattamente a questo.
Da ricordare
Tutto il libro poggia su tre idee ricorrenti: i dati (nessun modello sa più di ciò che ha visto), le rappresentazioni apprese (le «lenti» che la rete si costruisce da sola, dentro un apparecchio che l’esperto disegna ancora a mano) e l’ottimizzazione (le manopole del mixer, regolate un pochino alla volta).
Addestrare vuol dire quasi sempre la stessa cosa: misurare quanto il modello ha sbagliato e spostare ogni manopola nella direzione che riduce l’errore, finché non c’è più molto da guadagnare. Qualche famiglia ci arriva per un’altra strada (due reti che si sfidano, oppure imparare agendo invece che da esempi già pronti), ma anche lì si tratta di migliorare qualcosa, un passo alla volta.
Le «direzioni future» invecchiano in fretta. Modello di fondazione, multimodalità e agenti erano le tre previsioni più prudenti che si potessero scrivere, e sono già tutte dentro il libro: la multimodalità con un capitolo, gli agenti con tre, mentre il modello di fondazione è diventato così normale da non avere più bisogno di un nome. Restano varianti di dati, rappresentazioni e ottimizzazione, non magia.
I fronti davvero aperti sono quelli in cui fare più grande non basta: il costo dei testi lunghissimi, il capire perché un modello ha risposto così, la fiducia in un agente che lavora da solo per una ventina di passi, e il conto di corrente, acqua e chip che tutto questo presenta a qualcuno.
Potenza e responsabilità crescono insieme: i fatti inventati con sicurezza e i pregiudizi ereditati dai dati sono limiti strutturali, e verificare a mano quello che il modello dice non è opzionale.
Gli ultimi capitoli non parlano di architetture ma di mestiere: portare un modello in produzione, aprirlo per capire, rispondere delle sue conseguenze. È la parte che decide se quello che hai costruito serve o fa danni.
Da ricordare
Tutto il libro poggia su tre idee ricorrenti: dati, rappresentazioni apprese e ottimizzazione.
L’apprendimento è, per il grosso del libro, la minimizzazione di un rischio empirico, \(\theta^\star = \arg\min_\theta \mathcal{L}(\theta)\). Le eccezioni sono istruttive e vanno tenute a mente: GAN (gioco minimax), reinforcement learning (dati che dipendono dalla politica) e modelli a energia (verosimiglianza intrattabile) restano problemi di ottimizzazione, con obiettivi di natura diversa.
Le «direzioni future» invecchiano in fretta: foundation model, multimodalità e agenti sono già testo del libro (due capitoli, più altri due cresciuti attorno agli agenti; i foundation model non hanno nemmeno una sezione propria, si sono sciolti dentro quello sui Transformer). Restano varianti di dati, rappresentazioni e ottimizzazione, non magia.
I fronti davvero aperti sono quelli in cui scalare non basta: il costo dell’attenzione sui contesti lunghi, l’interpretabilità, l’affidabilità degli agenti, il conto energetico e industriale.
Potenza e responsabilità crescono insieme: allucinazioni e bias sono limiti strutturali, e il fact-check umano non è opzionale.
Gli ultimi capitoli non parlano di architetture ma di mestiere: produzione, interpretabilità, responsabilità. È la parte che decide se quello che hai costruito serve o fa danni.
Un ultimo messaggio#
Abbiamo scelto di raccontare l’intelligenza artificiale in italiano, su due livelli, senza mai barare sulla difficoltà. Non perché l’inglese non basti, ma perché crediamo che capire davvero una cosa significhi poterla spiegare nella propria lingua: a un collega, a uno studente, a te stesso alle due di notte davanti a un errore che non torna.
Se c’è un’eredità che vorremmo lasciarti, non è una libreria né un’architettura: quelle invecchiano in fretta. È un modo di stare davanti a questi strumenti: curiosità senza reverenza, entusiasmo senza fede, e quell’onestà intellettuale che fa dire «non lo so, verifichiamo» invece di «l’ha detto il modello».
E resterà vero quello che Weizenbaum aveva notato nello stesso paragrafo del 1966 da cui siamo partiti: quando il funzionamento di un programma viene spiegato in modo abbastanza chiaro «l’incanto si sgretola», e chi guarda lo sposta «dallo scaffale marcato intelligente a quello riservato alle curiosità». È successo con ELIZA, e succede ancora: ecco perché l’intelligenza artificiale non si lascia definire, visto che ogni pezzo capito smette di sembrare intelligenza. Smettere di sembrare intelligenza, però, non è smettere di funzionare, e nemmeno di contare. Per te queste macchine non sono più una scatola nera: sai di che cosa sono fatte, dati, rappresentazioni, ottimizzazione. Quello che resta chiuso non è più la macchina ma quello che ha imparato, e adesso sai anche perché leggerlo sia un problema aperto. Il resto è pratica.
Buon lavoro, e in bocca al lupo.