Terminata la battaglia del gigahertz inizia quella dei TOPS?

Al COMPUTEX di Taipei tutte le società produttrici di processori e GPU hanno snocciolato le loro conquiste in termini di TOPS. Cosa c'è dietro questo nuovo parametro legato alle NPU? E perché è indicativo, ma non dice tutto, sulle prestazioni dei processori per l'IA?
di Manolo De Agostini pubblicata il 22 Giugno 2024, alle 09:13 nel canale ProcessoriQualcommAMDIntel
L'arrivo delle NPU nei processori per la gestione delle operazioni di IA in locale sui PC ha introdotto un nuovo parametro che un po' tutti i produttori hanno sbandierato all'ultimo COMPUTEX di Taipei: quello dei TOPS.
Tutti hanno puntato su questo valore, e per un attimo mi è sembrato di rivivere la corsa al gigahertz di molti anni fa, quando ci si concentrava su quel parametro, indubbiamente importante, ma che non significava necessariamente che un prodotto era migliore di un altro (tant'è l'aumento smodato del clock si è fermato).
La Neural Processing Unit è un'unità di calcolo che serve ad accelerare, a basso consumo, l'inferenza dell'intelligenza artificiale. I carichi di lavoro legati all'IA consistono principalmente nel calcolo di layer di reti neurali composti da elaborazioni di tipo scalare, vettoriale e tensoriale seguite da una funzione di attivazione non lineare.
In questo lavoro la NPU non è sola, lavora di concerto con la CPU e la GPU: i core della CPU possono occuparsi di quei carichi che necessitano di una risposta rapida, ovvero compiti sequenziali a bassa latenza. La GPU, con il suo throughput elevato e le tante unità in parallelo, è ideale per i carichi di lavoro più complessi. È nel mezzo che agisce la NPU, pensata per carichi di IA sostenuti e di medio-alta entità, il tutto con una maggiore efficienza energetica rispetto agli altri due componenti.
Cosa significa TOPS e perché è tanto in voga?
TOPS sta per "Trillions of Operations Per Second" e potete trovarlo anche indicato come TeraOPS. Si parla di migliaia di miliardi di operazioni al secondo, e si può guadare al numero come una dato prestazionale grezzo: più alto è il valore, maggiori sono le prestazioni teoriche offerte.
Il termine TOPS è sulla bocca di molti da quando Microsoft ha fissato un valore minimo di 40 TOPS per i suoi Copilot+ PC: secondo il produttore di Windows un AI PC veramente tale, capace di svolgere in locale alcune funzionalità di IA come Cocreator o Recall, deve offrire almeno 40 TOPS di potenza per garantire una buona esperienza d'uso.
Di conseguenza, al COMPUTEX i produttori di CPU non hanno avuta altra opzione che sbandierare il valore di TOPS raggiunto dalle rispettive NPU, in una sorta di gioco al "ce l'ho più lungo io" che, ribadiamo, ci ha ricordato la corsa al gigahertz degli inizi del 2000.
Chi è davanti nella corsa ai TOPS?
Dal COMPUTEX usciamo con un vincitore di questa iniziale corsa ai TOPS dichiarati: AMD. La società guidata da Lisa Su ha indicato per i Ryzen AI 300 Series un dato di 50 TOPS, mentre Intel con le future CPU Lunak Lake si ferma a 48 TOPS. Qualcomm e Apple, invece, vantano 45 e 38 TOPS, rispettivamente. La GeForce RTX 4090 di NVIDIA, con i suoi Tensor core, tocca 1321 TOPS.
Da rilevare che l'attuale standard di settore per misurare l'inferenza dell'IA in TOPS è la precisione INT8, ma il settore evolve rapidamente e si punta verso modelli più veloci, a bassa precisione e consumo.
I TOPS non sono tutto ma sono comprensibili
I TOPS danno un'idea adeguata delle capacità delle NPU e lo fanno in un modo immediatamente comprensibile ai consumatori, ma bisogna correlarli alle prestazioni reali, che sono il culmine di vari fattori come la larghezza di banda della memoria, l'ottimizzazione del software e l'integrazione di sistema.
I TOPS danno quindi un'idea importante delle capacità di una NPU, ma per l'esperienza finale conta anche tutto il resto, e la memoria gioca un ruolo centrale. Non è un caso che gli acceleratori di IA per i datacenter abbiano a bordo memoria HBM, in quantità sempre maggiori e con bandwidth sempre più estreme.
Pensate ai modelli linguistici di grandi dimensioni, le cui prestazioni sono misurate dal numero di token generati dal modello e dalla latenza. I token sono l'output dell'LLM. Un token può essere una parola in una frase o anche la punteggiatura o uno spazio bianco. In genere si parla di "token al secondo".
Per un chatbot, la latenza del primo token indica il tempo necessario per pensare alla domanda posta dall'utente prima di iniziare a rispondere. Questa fase è legata al calcolo, il che significa che più TOPS si hanno meglio è.
Una volta generato il primo token, il tempo necessario per generare il secondo token (il tempo che impiega ogni parola della risposta a comparire sullo schermo) è definito "latenza del secondo token" e lì pesa la bandwidth di memoria. La valutazione delle latenze del token 1 e del token 2 svolge un ruolo cruciale nello stabilire se l'utente ha avuto o no un'esperienza adeguata. La seconda fase è quella che gli utenti percepiscono, in quanto è quella in cui si può vedere una differenza tra un chatbot capace di generare 3 parole al secondo oppure 20.
Un altro fattore importante è la dimensione del batch, ovvero il numero di input elaborati simultaneamente in un singolo passaggio di inferenza. La capacità di gestire più input (da una singola applicazione o da più applicazioni) è un elemento differenziante chiave. Sebbene le dimensioni dei batch più grandi migliorino le prestazioni per gli input simultanei, richiedono anche più memoria, soprattutto se combinate con modelli più grandi.
Di conseguenza, progetti che non sono al vertice dei TOPS come i chip Apple M o il futuro Lunar Lake di Intel con memoria LPDDR5X on-package potrebbero dimostrarsi molto efficaci nella gestione di LLM in locale grazie alla ridotta latenza e alla bandwidth di memoria a disposizione, oltre che alla capacità stessa della RAM.
L'ottimizzazione e il rapporto con i consumi
Di recente, parlando dei risultati prestazionali dei vari chip con l'IA, abbiamo avuto dimostrazione che l'ottimizzazione dello stack software ha un peso non indifferente nel far sprigionare all'hardware l'effettiva potenza. NVIDIA, per esempio, in un anno è riuscita a estrarre il 27% di prestazioni in più da 512 GPU H100.
Intel, nella sua diatriba con AMD sulle prestazioni degli Xeon Emerald Rapids rispetto agli EPYC Turin, ha mostrato come un'ottimizzazione software può fare ampiamente la differenza.
C'è poi un altro elemento di cui si dovrebbe tenere conto, i consumi. Laddove dovessero esserci due chip diversi in grado di vantare una NPU da 50 TOPS, un altro parametro di valutazione sarebbero i consumi, in quanto se uno dovesse consumare 10W e l'altro 5W, l'impatto sulla batteria di un portatile sarebbe diverso e tale da definire il prodotto migliore. Allo stesso modo, anche se una NPU dovesse offrire 50 TOPS richiedendo 10W e una 25 TOPS consumando solo 3W, la seconda NPU sarebbe migliore in termini di efficienza.
TOPS of the Pops
Capiamo perché i TOPS abbiano preso da subito il sopravvento nella propaganda dei produttori e, non nascondiamoci, anche sulle pagine dei siti web: è un valore diretto, semplice, numerico… più alto è, meglio è; ma, come per i gigahertz, non dice tutto.
Sono numerosi i fattori da considerare nell'esperienza finale che, forse, contano anche più dei TOPS, che comunque rimangono centrali. L'era degli AI PC è ai primordi, ancora sono pochi coloro che possono dire di aver saggiato la vera esperienza degli AI PC e potuto fare confronti di esperienza nel merito. Per cui sarà sicuramente un tema su cui tornare, senza timore di dire che oggi c'è molto da scoprire.
I produttori di microchip continueranno a spingere sul numero dei TOPS, non possono fare altrimenti, ma siamo certi che prima o poi cercheranno di spiegare all'utenza che altri aspetti come la memoria e i consumi giocano un ruolo di primo piano negli AI PC. Forse, però, allora sarà troppo tardi per far passare tali concetti e, come per l'era dei gigahertz, la massa si fermerà ai "semplici" TOPS.
23 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - infoChe porcone che sono
No. Non sembra strano, è solo completamente sbagliato.
Gli algoritmi su cui si basa il funzionamento dei LLM, come pure altri basati su modelli di reti neurali, per dirla in modo semplice eseguono un sacco di moltiplicazioni matriciali.
I singoli valori nelle matrici rappresentano il peso/forza di una connessione e si è verificato che con matrici molto grandi si ottengono buoni risultati anche se il singolo valore viene rappresentato con 16bit o meno (tipicamente 16bit oppure 8bit).
Quindi se invece di usare dei float a 32bit usi ad esempio degli interi ad 8bit, la matrice occupa molta meno ram e quando leggi/scrivi su ad esempio un bus a 64bit, in un colpo solo puoi trasferire 8 coefficienti ad 8bit invece di 2 a 32bit ( trasferisci il quadruplo).
Lo stesso discorso vale per le ALU SIMD, perche ad esempio se hai registri SIMD a 256bit, puoi potenzialmente eseguire simultaneamente ben 8 operazioni su valori a 32bit oppure 32 operazioni su valori ad 8 bit.
Sono i singoli valori delle matrici ad essere a 16, 8, 4, 1 bit, ma le istruzioni ed i registri sono tutto un altro paio di maniche.
Le NPU semplicemente supportano in hardware formati di dati tipo FP16, FP8 e sono ultra-ottimizzate per essi e per eseguire moltiplicazioni di matrici in tali formati.
Per questo i TOPS delle NPU sono da intendersi solo come prestazioni per gli algoritmi "per AI" (tipicamente vengono indicate le prestazioni con dati in formato INT8 oppure FP8).
concordo, bravi
Concordo anche io
+1: finalmente qualche spunto di crescita & arricchimento...
Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".