Da dove viene davvero il costo energetico di un modello linguistico
Un conto che sembra piccolo
Quando poniamo una domanda ad un assistente come ChatGPT , Gemini, Claude, quanta energia consumiamo? Le stime più recenti e meglio documentate dicono: intorno a un quarto di wattora per un prompt testuale tipico. A tal proposito, Google ha pubblicato 0,24 Wh per il prompt mediano di Gemini; stime indipendenti su ChatGPT danno ~0,3 Wh. È poco: l'equivalente di tenere accesa una TV per meno di dieci secondi. E allora perché se ne parla tanto? Per due motivi. Il primo è la scala: quei pochi wattora, moltiplicati per miliardi di richieste al giorno, diventano un consumo che, secondo l'Agenzia Internazionale dell'Energia, porterà i data center a raddoppiare la loro fame di elettricità entro il 2030. Il secondo motivo, forse più interessante, è il tema di queste riflessioni: cercare di capire dove è contenuta (o meglio, dove si incanala), fisicamente, quell'energia. La risposta a quest’ultima domanda forse smentisce l'intuizione più naturale. L'intuizione sbagliata è questa: "il modello pensa, cioè fa una valanga di calcoli, e calcolare costa energia". Vero, ma in parte. Per capire dove finisce davvero ogni Joule conviene fare un percorso, seguendo l'energia dal contatore della corrente fino alla singola parolina che il modello produce.
Il pavimento della fisica (e perché è lontanissimo)
Partiamo dal fondo, chiedendoci: esiste un costo minimo, imposto dalle leggi della fisica, per elaborare informazione? La risposta è sì e ha una formulazione nel principio di Landauer, enunciato nel 1961 e confermato in laboratorio nel 2012. Dice una cosa elegante e contro-intuitiva: cancellare un bit di informazione (dimenticarlo, azzerarlo) produce inevitabilmente una briciola di calore. Non per imperfezione tecnologica, ma per una legge profonda: la termodinamica non ti lascia "buttare via" informazione gratis. Quella briciola minima vale circa tre miliardesimi di miliardesimo di miliardesimo di Joule per bit. Un numero così piccolo che, se anche un modello linguistico lo pagasse a ogni bit, l'energia totale sarebbe trascurabile. Ed è esattamente il punto: siamo lontanissimi da questo limite. I chip di oggi spendono, per ogni operazione, qualcosa come un miliardo di volte (e oltre) più di quel minimo fisico. In altre parole: l'energia che un'AI consuma non è "entropia inevitabile" imposta dall'universo. È quasi tutta spreco ingegneristico: margini, tensioni, e soprattutto, come vedremo, il costo di spostare i dati. La fisica fondamentale, qui, non è il collo di bottiglia. C'è enorme spazio di miglioramento prima che la termodinamica diventi un problema.
C'è anche una simmetria mancante che vale la pena raccontare. Landauer parla di cancellare informazione. Ma creare informazione è un'altra storia: copiare un dato è in linea di principio gratis, e perfino generarne di nuovo (in senso fisico, casuale) può addirittura liberare energia anziché consumarla. Distruggere costa, creare no: un'asimmetria che ha una conseguenza sorprendente per le AI.
Il costo reale di un modello linguistico non è il prezzo di "creare" l'informazione che ti risponde, ma la somma di una miriade di piccole cancellazioni irreversibili (sovrascrivere registri, risultati intermedi, accumulatori a ogni passaggio) più il continuo spostamento dei dati avanti e indietro.
L'informazione che leggi in una risposta, misurata col metro di Landauer, varrebbe energeticamente niente. Il conto vero lo fa tutto ciò che succede dietro le quinte per produrla.
Spostare costa più che calcolare
Dentro un chip, fare un conto (una moltiplicazione, una somma) costa pochissima energia. Andare a prendere il numero su cui fare quel conto, se sta nella memoria principale, costa da cento a settecento volte di più. Perché conta così tanto per un LLM? Per come genera il testo: una parola alla volta. Per produrre ciascun pezzettino di parola (un "token"), il modello deve rileggere tutti i suoi miliardi di parametri dalla memoria. Fa pochissimi conti su una valanga di dati appena trasportati. Trasportare costa. Il costo non dipende dal "significato" del dato, solo dall'atto fisico di muovere carica su un conduttore. È come riempire d'acqua un tubo per segnalare "1" e svuotarlo per "0": paghi il pompaggio, non il messaggio. Gli addetti ai lavori lo chiamano essere "limitati dalla banda di memoria": il freno non è la potenza di calcolo, è la velocità con cui si riescono a spostare i pesi del modello. Questo non è un "costo di Landauer" e non ha un pavimento fisico. In linea di principio si potrebbero caricare i fili lentamente e recuperare la carica (charging adiabatico/reversibile): l'energia tenderebbe a zero. Dire che "siamo lontani da Landauer" e un modo diverso per dire "il costo è il trasporto": è affermare che c'è overhead dovuto a come costruiamo i chip oggi, non è entropia "obbligata". Questa singola idea riorganizza tutto. Spiega perché molte delle ottimizzazioni che funzionano non servono a "far fare meno conti", ma a spostare meno dati o a spostarli una volta per tanti utenti.
Le leve degli ingegneri (e le sfide aperte)
Da qui nascono le grandi battaglie di efficienza in corso oggi:
- Quantizzazione: usare numeri più "grossolani". Se rappresenti ogni parametro con 8 bit invece di 16, dimezzi i dati da trasportare. Misure reali mostrano cali di consumo intorno al 40% con perdite di qualità contenute. È la leva col miglior rapporto sforzo/risultato. La sfida: spingersi a 4 bit o meno senza che il modello diventi meno preciso.
-
Servire tanti utenti insieme (batching). Se il costo dominante è andare a prendere i pesi dalla memoria, allora prenderli una volta sola per rispondere contemporaneamente a cento utenti spalma quel costo su cento. È il motivo per cui un'AI in un grande data center costa, per risposta, molto meno della stessa AI che gira per te solo sul tuo computer.
-
Modelli più piccoli ma meglio addestrati. Una scoperta importante (le "leggi di Chinchilla") dice che spesso un modello più compatto, ma allenato su più dati, è altrettanto bravo di uno gigante. E un modello più piccolo costa meno a ogni singola risposta, per sempre, cioè un risparmio che si moltiplica per miliardi di utilizzi.
-
Accendere solo una parte del cervello (Mixture-of-Experts). Invece di usare tutto il modello per ogni parola, se ne attiva solo la porzione utile. Si risparmiano conti, ma, attenzione, a volte si aumenta il traffico di memoria. È un esempio perfetto di come "meno calcoli" non significhi automaticamente "meno energia".
-
La frontiera lontana: il calcolo reversibile. Se il costo fondamentale viene dal cancellare informazione, esistono in teoria modi di calcolare che non cancellano nulla e che potrebbero un giorno scendere sotto il limite di Landauer. Oggi è ricerca di base, lontana dalla pratica, ma è la direzione che dice "quanto in basso, in linea di principio, si potrebbe arrivare".
Data center e contabilità
Sopra il chip c'è l'edificio. Raffreddare i server, distribuire la corrente: tutto questo aggiunge circa un 50% in più all'energia dei calcoli veri e propri (è il famoso indicatore "PUE", fermo a~1,5 da anni). C'è poi il consumo d'acqua per il raffreddamento, e l'impronta di carbonio della costruzione stessa dell'hardware. Ma il punto importante per non farsi ingannare, è un altro: i numeri sul "consumo di un'AI" spesso non sono confrontabili. Variano di oltre dieci volte non perché un modello sia dieci volte più vorace, ma perché ciascuno misura cose diverse: solo il chip acceleratore? anche il computer che lo ospita? anche le macchine accese ma in attesa? anche il raffreddamento? si conta l'addestramento iniziale o solo le risposte? Senza dichiarare cosa si mette nel conto, qualunque cifra è inutilizzabile ai fini di un confronto. È anche il motivo per cui esistono sforzi di standardizzazione (come il benchmark MLPerf Power, che misura la corrente "alla presa" dell'intero sistema). E c'è una domanda di fondo che ancora non ha una risposta semplice: per un modello molto usato, pesa di più addestrarlo una volta (un costo enorme ma unico) o rispondere alle sue domande (un costo minuscolo, moltiplicato per miliardi)? La risposta cambia a seconda di cosa vuoi sapere ed è una delle questioni aperte.
Efficiente per chi, e per cosa?
Due aspetti da approfondire.
Efficienza non vuol dire meno consumo. Nel 1865 l'economista William Stanley Jevons notò che le macchine a vapore più efficienti, invece di far calare il consumo di carbone, lo fecero aumentare: costando meno far funzionare le cose, se ne fecero molte di più. È il paradosso di Jevons, ed è esattamente ciò che vediamo oggi con l'AI: l'energia per singola risposta è crollata (circa dieci volte in pochi anni), eppure il consumo totale dei data center è destinato a raddoppiare. Più diventa economica, più la si usa ovunque e il totale sale lo stesso. L'efficienza è necessaria, ma da sola non basta a ridurre l'impronta complessiva.
Stiamo contando la cosa sbagliata. Un modello non è più efficiente perché sforna più testo a parità di energia: lo è se raggiunge più obiettivi corretti a parità di energia. La differenza è enorme con i nuovi modelli che "ragionano": producono moltissime più parole sembrano spreconi, ma azzeccano risposte che gli altri sbagliano. Contati a parola, sono i peggiori; contati a problema risolto, possono essere i migliori. La metrica che risulta più adeguata non è l'energia per token: è l'energia per risultato giusto. Misurarla è difficile (cos'è una risposta "giusta", per una poesia?), ed è proprio questa una delle sfide aperte più interessanti.
Provando a fare una sintesi
L'efficienza di un modello linguistico si gioca su piani e su aspetti non per forza intuitivamente evidenti. Non è una battaglia contro le leggi della fisica (siamo lontanissimi da quel muro), e non è nemmeno principalmente una questione di "fare meno conti". Si gioca al centro: ridurre il movimento dei dati e ammortizzare il costo dominante su più lavoro utile. E quando misuriamo, ricordiamoci di contare gli obiettivi raggiunti, non le parole e di guardare il totale, non solo la singola risposta. La termodinamica, qui, non ci vincola; la contabilità, se non impostiamo bene il problema, potrebbe ingannarci.