Che cos'è l'inferenza
Un modello linguistico vive due vite. Nella prima impara, leggendo enormi quantità di testo: è l'addestramento. Nella seconda lavora, rispondendo alle domande delle persone: è l'inferenza. Questo corso parla della seconda vita, quella che incontri ogni volta che scrivi a un assistente virtuale.
Obiettivi della lezione
- Distinguere addestramento e inferenza.
- Capire perché l'inferenza è diventata la voce di costo principale dell'Intelligenza Artificiale (IA).
- Conoscere le tre grandezze che ogni sistema di inferenza cerca di migliorare: latenza, throughput e costo.
Un LLM in una frase
Un LLM (Large Language Model, cioè «modello linguistico di grandi dimensioni») è un programma che, dato un testo, calcola quale pezzo di testo è più probabile che venga dopo. Tutto qui. Ripetendo questa previsione molte volte, una parola dopo l'altra, il modello scrive risposte, riassunti, codice e traduzioni.
Il «programma» in realtà è quasi tutto fatto di numeri: miliardi di numeri chiamati pesi o parametri, che determinano come il testo in ingresso si trasforma nella previsione in uscita. Quando si dice che un modello è «da 70 miliardi di parametri» (si scrive 70B, dove B sta per billion, miliardo in inglese) si parla proprio di quanti numeri contiene.
Addestramento contro inferenza
L'addestramento (in inglese training) è il processo con cui si trovano i valori giusti per quei miliardi di pesi. Si mostra al modello una quantità enorme di testo, gli si chiede di prevedere la parola successiva e, ogni volta che sbaglia, si correggono un pochino i pesi. Dopo trilioni di parole lette, i pesi «contengono» grammatica, fatti e capacità di ragionamento.
L'inferenza è l'uso del modello già addestrato: i pesi sono fissi, non cambiano più. Si fornisce un testo di ingresso, chiamato prompt, e si fa calcolare al modello la risposta.
Perché l'inferenza costa così tanto
Addestrare un grande modello costa decine o centinaia di milioni di dollari. Sembra impossibile che l'inferenza, che costa frazioni di centesimo per richiesta, possa superare questa cifra. Eppure succede, per tre motivi:
- Il volume. Un servizio popolare riceve centinaia di milioni di richieste al giorno. Frazioni di centesimo moltiplicate per numeri enormi diventano cifre enormi.
- La durata. L'addestramento finisce; l'inferenza continua per tutta la vita del modello, ogni giorno, finché il servizio resta acceso.
- L'inefficienza naturale. Come vedremo nel Modulo 3, il modello scrive una parola alla volta e per ognuna deve rileggere tutti i suoi miliardi di pesi dalla memoria. Senza tecniche specifiche, l'hardware resta in gran parte inutilizzato.
Per questo esiste un mestiere dedicato, chiamato spesso inference engineering (ingegneria dell'inferenza): far sì che lo stesso modello, con la stessa qualità delle risposte, giri più velocemente e costi meno.
Le tre grandezze da ottimizzare
Ogni tecnica che studierai nel corso migliora almeno una di queste tre grandezze, spesso a scapito di un'altra:
Latenza
Quanto tempo aspetta un utente. Si misura sia come tempo per vedere la prima parola sia come velocità con cui arrivano le successive.
Throughput
Quante parole (token) il sistema produce al secondo in totale, sommando tutti gli utenti serviti insieme.
Costo
Quanto si spende per produrre un certo numero di parole, di solito espresso in dollari per milione di token.
Il conflitto più comune è tra latenza e throughput: servire molti utenti insieme aumenta il throughput e abbassa il costo, ma può rallentare ciascun utente. Gran parte del corso è dedicata a capire come ottenere entrambe le cose.
- IA
- Intelligenza Artificiale (in inglese AI, Artificial Intelligence).
- LLM
- Large Language Model, modello linguistico di grandi dimensioni.
- B
- Billion, miliardo. «70B» = 70 miliardi di parametri.
- GPU
- Graphics Processing Unit, il processore usato per far girare i modelli (Modulo 2).
Verifica
Durante l'inferenza, i pesi del modello…
I pesi cambiano solo durante l'addestramento. Nell'inferenza vengono letti, e come vedremo leggerli è proprio il collo di bottiglia principale.
Perché il costo complessivo dell'inferenza può superare quello dell'addestramento?
Il costo per richiesta è piccolo, ma il volume e la durata lo moltiplicano.
Da ricordare
- Addestramento = imparare i pesi; inferenza = usarli, senza cambiarli, per rispondere.
- L'inferenza si ripete miliardi di volte: anche piccoli risparmi per richiesta valgono moltissimo.
- Le tre grandezze da ottimizzare sono latenza, throughput e costo, e spesso sono in conflitto tra loro.