Blu7, azienda in corso di riconoscimento MIM per corsi in aula e online. Iscriviti a 7 Pillole Blu.
Dentro il prezzo di qualunque servizio di intelligenza artificiale, abbonamento mensile o macchina installata in azienda che sia, c’è un vincolo fisico che decide quasi tutto. Non è la potenza di calcolo, che è il numero che finisce nelle brochure. È la velocità con cui i dati riescono a muoversi da un punto all’altro dentro la macchina.
Capire quel vincolo serve a una cosa molto concreta. Quando qualcuno vi propone di mettere l’AI in azienda promettendo che andrà tutto più veloce, vi dà il metro per distinguere una proposta seria da un elenco di parole. In fondo a questo articolo ci sono le due domande che separano le une dalle altre. Nessuna delle due richiede di essere tecnici per farla.
Ci si arriva da tre cose che avete già visto succedere: la risposta che compare a scatti, le ore in cui lo strumento sembra impastato, il modello installato in ufficio che va più piano di quello usato online. Tre facce dello stesso vincolo.
Le due metà di una risposta
Davanti a una vostra richiesta la macchina fa due lavori molto diversi in fila.
Il primo è leggere. Prende tutto quello che avete scritto e lo elabora in blocco. NVIDIA, nella sua guida all’ottimizzazione dell’inferenza, la descrive come un’operazione altamente parallelizzabile che satura di fatto la scheda grafica: il testo è tutto lì, si può macinare insieme.
(«Inferenza» è il termine tecnico per l’esecuzione di un modello già addestrato, il momento in cui risponde a voi invece di imparare. Ne trovate la voce nel glossario di blu7.it.)
Il secondo lavoro è scrivere. La generazione procede un token per volta, dove un token è un pezzetto di parola. Per produrre il pezzetto numero sette la macchina deve avere già prodotto il numero sei. Non c’è modo di saltare avanti. Sempre NVIDIA descrive questa fase come un’operazione che sfrutta molto meno la capacità di calcolo disponibile rispetto alla lettura del prompt.
Ecco perché la risposta arriva a scatti mentre leggere la domanda non era costato quasi nulla. Sono due regimi diversi, non due velocità dello stesso motore. La documentazione del motore di inferenza vLLM lo dice netto:
la lettura del prompt è limitata dal calcolo, la generazione è limitata dalla memoria.
Cosa ci fate. Un numero di velocità in una presentazione riguarda una delle due fasi, non l’esperienza complessiva. Un sistema che divora in un lampo un documento di trenta pagine può poi scrivervi la sintesi con la stessa lentezza di qualunque altro.
Il collo di bottiglia è il trasporto, non il calcolo
Un modello linguistico è un enorme insieme di numeri, i cosiddetti pesi o parametri. Stanno nella memoria della scheda grafica, ma per fare i conti vanno portati dentro il processore, che ha uno spazio di lavoro minuscolo. NVIDIA è esplicita: a dominare i tempi è la velocità con cui i dati vengono trasferiti dalla memoria, non quella con cui il calcolo avviene.
Immaginate un ufficio con l’archivio al piano di sotto e la scrivania sopra. Per scrivere una riga tocca scendere, caricare il carrello con tutti i fascicoli, risalire. Il tempo lo fa la rampa di scale, non la penna. La macchina rifa quel viaggio per ogni singolo pezzetto di parola che vi scrive.
Quanto pesa quel carrello? Un modello da 70 miliardi di parametri, come Llama 3.1 70B, alla precisione usata negli esempi ufficiali di Meta occupa due byte per parametro: circa 140 gigabyte a ogni giro. Uno da 8 miliardi sta sui 16 gigabyte.
I numeri dell’hardware stanno sulle schede tecniche dei produttori. Una NVIDIA H100 da data center dichiara 80 GB di memoria e 3,35 terabyte al secondo di banda, cioè di dati trasportabili ogni secondo. Un MacBook Pro, secondo Apple, va da 153 GB/s col chip M5 a 614 GB/s nella configurazione M5 Max più alta.
Il conto più semplice possibile, che è un limite teorico e non una promessa. Sedici gigabyte a 3,35 TB/s fanno circa 5 millesimi di secondo per token, cioè un tetto attorno ai 200 token al secondo. Gli stessi 16 gigabyte a 614 GB/s diventano 26 millesimi, cioè un tetto attorno ai 38. Cinque volte e mezzo di distanza a parità di modello, senza che nessuno abbia scritto una riga di software migliore dell’altro. La realtà sta sotto questi tetti, ma il rapporto fra le due macchine resta.
Cosa ci fate. In un preventivo la velocità di scrittura la decidono due numeri: la banda di memoria dichiarata dal produttore della scheda e il peso del modello. La potenza di calcolo, quasi sempre il dato messo in evidenza, qui non è il vincolo. Attenzione però a cosa si sta confrontando: per la singola persona che scrive una richiesta alla volta, due proposte con la stessa scheda e lo stesso modello danno risultati simili anche con software diverso. Sul numero di richieste che quella macchina regge insieme il software pesa eccome, come si vede fra poco.
Perché servire mille persone costa meno che servirne una
Se il tempo se lo mangia il viaggio dei dati, la scheda grafica mentre aspetta il carrello sta girando a vuoto. Farle fare più lavoro nello stesso viaggio non costa quasi niente in più. È quello che fanno i grandi fornitori: raggruppano le richieste di molti utenti e le servono insieme, così i pesi vengono trasferiti una volta sola per tutti. NVIDIA lo scrive senza giri di parole: dato che più richieste usano lo stesso modello, il costo di memoria dei pesi si distribuisce.
Il lavoro accademico che ha dato origine a vLLM, pubblicato da Kwon e colleghi il 12 settembre 2023, riporta un throughput da due a quattro volte superiore a parità di latenza grazie a una gestione della memoria che consente lotti più grandi.
Tradotto per chi deve decidere: un abbonamento AI non è caro perché il fornitore ci guadagna sopra tanto, è economico perché il costo della macchina viene diviso fra migliaia di persone che la usano nello stesso istante. Quel vantaggio non è replicabile in un ufficio dove il modello lavora per una persona alla volta. I listini li abbiamo passati in rassegna in quanto costa davvero l’intelligenza artificiale a token: qui c’è il motivo per cui sono possibili.
Cosa ci fate. Molte ottimizzazioni che promettono accelerazioni notevoli funzionano perché riempiono spazio vuoto quando ci sono tante richieste insieme. Con un utente solo quello spazio vuoto non c’è, quindi il guadagno si assottiglia fino a sparire. Un numero di prestazione senza il contesto in cui è stato misurato non dice niente. È anche il più facile da spacciare per buono.
Perché a certe ore va più piano
La stessa meccanica spiega i rallentamenti nelle ore di punta, che non sono un guasto.
Quando le richieste in coda aumentano, il sistema forma gruppi più grandi: il lavoro totale sale, il tempo che ciascuno aspetta si allunga. Il blog tecnico di NVIDIA sul tuning con TensorRT-LLM mostra la curva: il throughput per scheda migliora al crescere degli utenti simultanei, la velocità percepita dal singolo migliora quando il sistema è meno carico. Nello stesso documento un Llama-3.1 da 8 miliardi di parametri in precisione ridotta regge 512 utenti insieme a circa 66 token al secondo per utente.
Sono due obiettivi in conflitto fra loro. La documentazione di vLLM tratta la scelta come una manopola da girare fra i due. Quando lo strumento vi sembra impastato di martedì alle 15, spesso state vedendo quella manopola spostata verso il throughput perché la coda è lunga.
Cosa ci fate. Se un processo dipende dai tempi di risposta (un assistente che parla coi clienti, non una sintesi che leggete dopo pranzo), la velocità va scritta nel contratto come impegno, non dedotta da una demo fatta in un pomeriggio tranquillo. La demo è sempre il caso migliore.
«Me lo installo in ufficio e non pago l’abbonamento»
È un ragionamento che sentiamo spesso, anche da aziende serie di Firenze. Sulla parte tecnica il meccanismo visto finora dice due cose.
Il modello deve entrarci. Una GeForce RTX 4090, scheda di fascia alta per un PC, dichiara 24 GB di memoria video. I 140 gigabyte del modello grande visto prima non ci stanno, nemmeno vicino. Si scende quindi a modelli più piccoli o a versioni compresse, che è una scelta legittima ma non è lo stesso prodotto che usavate online.
Il costo non si divide con nessuno. La macchina in ufficio lavora per una richiesta alla volta e sta ferma la notte, il fine settimana e in tutti i minuti in cui nessuno la interroga. Il fornitore quella stessa macchina la tiene piena.
Fin qui il come funziona. Se la domanda è se convenga davvero tenere l’intelligenza artificiale in casa, la risposta non sta in questi numeri ma nel motivo per cui la si vuole tenere. Ne parliamo in modo esteso in un altro articolo, dedicato ai casi in cui vale la pena valutarlo e a quelli in cui è quasi sempre la scelta sbagliata.
Le due domande che smontano un preventivo
Tutto quello che avete letto si riduce a due domande da fare a chi vi propone una soluzione. Si rispondono con numeri pubblici, stampati sulle schede tecniche dei produttori. Chi non li ha sottomano non ha fatto il conto. Stanno bene accanto ai criteri raccolti in come testare una intelligenza artificiale.
- Quale modello, con quanti parametri, con che compressione, su una scheda che dichiara quanta banda? Sono i quattro dati da cui si ricava il peso del carrello e la velocità della rampa di scale. «Un’AI nostra» non è una risposta. La conversione la fate a mente: alla precisione piena ogni parametro occupa 2 byte, compresso a 8 bit ne occupa 1, compresso a 4 bit mezzo. Un modello da 70 miliardi di parametri pesa quindi 140 gigabyte alla precisione piena e circa 35 a 4 bit.
- La velocità dichiarata è misurata con quanti utenti insieme? Un dato ottenuto con decine di richieste simultanee non descrive l’esperienza dei vostri tre impiegati che la usano uno alla volta.
Se le risposte arrivano con dei numeri, il conto lo hanno fatto, quindi potete discutere il merito. Se arrivano con degli aggettivi, il conto non esiste.
Domande frequenti
La risposta a scatti vuol dire che il servizio è scadente?
No, è il modo normale in cui funziona la generazione di testo. Mostrarvi i pezzi mano a mano è una scelta di interfaccia: l’alternativa sarebbe aspettare in silenzio lo stesso tempo.
I modelli piccoli sono più veloci?
Sì, per una ragione meccanica: meno parametri vuol dire meno dati da trasportare a ogni token. È anche il motivo per cui su molti compiti aziendali ordinari un modello piccolo e ben istruito è la scelta sensata, non un ripiego.
Da dove si parte
Queste due domande servono a non farsi vendere aria. Il resto viene dopo. Parte dalla mappa di cosa serve davvero più che dallo strumento: è il metodo del nostro lavoro sull’intelligenza artificiale per le aziende di Firenze.
Blu7, azienda in corso di riconoscimento MIM per corsi in aula e online. Iscriviti a 7 Pillole Blu.