ACCELERATORE AI DI IBM: È MEGLIO CHE NON SIA SOLO UN PROGETTO SCIENTIFICO
 
Big Blue è stato uno dei progettisti di sistema che ha rilevato presto il bug dell’acceleratore e ha dichiarato in modo piuttosto enfatico che, a lungo termine, tutti i tipi di elaborazione ad alte prestazioni avrebbero avuto una sorta di accelerazione. Cioè, una sorta di ASIC specializzato su cui una CPU potrebbe scaricare i suoi compiti di matematica.

Forse IBM sta reimparando alcune lezioni da quella prima era dell’HPC un decennio e mezzo fa, quando ha creato l’acceleratore di matematica vettoriale PowerXCell e lo ha utilizzato nel supercomputer “Roadrunner” al Los Alamos National Laboratory, e sta applicando quelle lezioni all’era moderna dell’IA.

Si può sperare di sì, almeno, solo per mantenere le cose interessanti nell’arena dell’IA, che l’azienda si stia prendendo sul serio almeno in una sorta di HPC (che è certamente l’addestramento all’IA) come sembra stia facendo il suo braccio IBM Research con un nuova unità di accelerazione AI che ha presentato.


Molti dei dettagli dietro l’AIU di IBM Research non sono stati divulgati, e finora l’unica cosa che qualcuno ha è un po’ di storia delle unità matematiche vettoriali e matriciali di IBM (che non sono assolutamente slouches computazionali) e il loro uso di precisione mista e un post sul blog parlando dell’AIU specificamente per passare.

Il dispositivo AIU che IBM Research ha rivelato sarà basato su un processo a 5 nanometri, ed è presumibilmente fabbricato da Samsung, che è partner di IBM per i suoi processori Power10 “Cirrus” a 7 nanometri per server aziendali e i suoi processori “Telum” System z16 per i suoi mainframe. I chip Power10 hanno unità matematiche vettoriali e matriciali molto potenti che sono un’evoluzione dei progetti utilizzati da IBM per molti decenni, ma il chip Telum utilizza una terza generazione di unità matematiche a matrice di precisione mista AI Core di IBM Research come un inferenza AI su chip e acceleratore di addestramento AI a bassa precisione.

Il chip AI Core iniziale è stato annunciato nel 2018 ed è stato in grado di eseguire calcoli a mezza precisione FP16 e accumulazione di precisione singola FP32 ed è stato determinante nel lavoro di IBM per portare dati ed elaborazione di precisione ancora inferiore alle reti neurali . Dopo aver creato l’acceleratore AI per il processore Telum z16, che abbiamo descritto qui in dettaglio nell’agosto 2021 , IBM Research ha preso questo acceleratore AI come un elemento fondamentale e lo ha ampliato su un singolo dispositivo.

 
Esaminiamo l’acceleratore AI sul chip Telum prima di entrare nel nuovo AIU.

 

Sul chip z16, l’acceleratore AI è composto da 128 riquadri del processore, probabilmente disposti in una configurazione toro 2D di dimensioni 4 x 4 x 8: potrebbe essere una coppia di array 4 x 4 x 4 fisicamente e 4 x 4 x 8 logicamente e sembra così dal dado, ma IBM non è stata chiara al riguardo. Quell’array sistolico supporta la matematica della matrice FP16 (e le sue varianti di precisione mista) su unità a virgola mobile ad accumulazione multipla FP32. Questo è stato progettato esplicitamente per supportare la matematica delle matrici e le convoluzioni dell’apprendimento automatico, includendo non solo l’inferenza ma l’addestramento a bassa precisione, che IBM prevede possa accadere su piattaforme aziendali. Riteniamo che probabilmente supporti anche il formato di precisione del quarto FP8 per l’addestramento e l’inferenza dell’IA, nonché INT2 e INT4 per l’inferenza dell’IA che vediamo inquesto chip sperimentale AI Core a quattro core rivelato da IBM Research nel gennaio 2021 per dispositivi mobili e embedded. L’acceleratore AI nella CPU Telum ha anche 32 riquadri a funzione complessa (CF), che supportano le istruzioni SIMD FP16 e FP32 e sono ottimizzati per funzioni di attivazione e operazioni complesse. L’elenco delle funzioni speciali supportate include:

Attivazione LSTM
Attivazione GRU
Moltiplicazione matrice fusa, Bias op
Moltiplicazione matrice fusa (con trasmissione)
Normalizzazione in batch
Convoluzione fusa, Bias Add, Relu
Piscina massima 2D
Piscina media 2D
Softmax
riprendere
Tanh
Sigmoide
Aggiungere
Sottrarre
Moltiplicare
Dividere
min
Massimo
Tronco d’albero
Un’unità di prefetcher e write-back si aggancia al core z16 e all’anello della cache L2, e si collega anche a uno scratchpad che a sua volta si collega ai core AI tramite un data mover e un’unità di formattazione, che, come suggerisce il nome, formatta i dati in modo che possano essere eseguito attraverso l’unità matematica della matrice per fare la sua inferenza e produrre il risultato. Il pre-fetcher può leggere i dati dallo scratchpad a più di 120 GB/sec e può archiviare i dati nello scratchpad a più di 80 GB/sec; il data mover può estrarre i dati e inviarli dai core PT e CF nell’unità AI a 600 GB/sec.

Su System z16 iron , il framework Snap ML di IBM e il framework ONNX di Microsoft Azure sono supportati in produzione e il framework TensorFlow di Google è appena entrato in open beta due mesi fa.

Ora, immagina di copiare quell’acceleratore AI dal chip Telum e incollarlo in un disegno 34 volte, in questo modo:

 

Quei 34 core e le loro regioni uncore per la memoria scratchpad e per collegare i core tra loro e il sistema esterno hanno un totale di 23 miliardi di transistor. (IBM dice che ci sono 32 core sull’AIU, ma puoi vederne chiaramente 34, quindi pensiamo che due di loro siano lì per aumentare la resa dei chip su dispositivi con 32 core utilizzabili.)

I processori Telum z16 pesano a 5 GHz, ma è improbabile che l’AIU funzioni a qualcosa di simile a quella velocità.

Se guardi il die AIU, ha sedici controller I/O di qualche tipo, che sono probabilmente SerDe generici che possono essere utilizzati per memoria o I/O (come ha fatto IBM con le sue interfacce OpenCAPI per I/O e memoria in il chip Power10). Ci sono anche quelli che sembrano essere otto banchi di memoria LPDDR5 di Samsung sul pacchetto, che sarebbero 48 GB di memoria in totale e offrono circa 43 GB/sec di larghezza di banda aggregata. Se questi sono tutti controller di memoria, la memoria potrebbe essere raddoppiata fino a 96 GB/sec e 86 GB/sec di larghezza di banda aggregata.

Il complesso di controller nella parte superiore del die AIU è probabilmente un controller PCI-Express 4.0, ma si spera che sia un controller PCI-Express 5.0 con supporto per il protocollo CXL integrato.

IBM non ha detto che tipo di prestazioni aspettarsi con l’AIU, ma possiamo fare delle ipotesi. Nel gennaio 2021, un chip AI Core a quattro core ha debuttato alla conferenza sui chip ISSCC , inciso da Samsung in 7 nanometri, che ha fornito 25,6 teraflop di allenamento FP8 e 102,4 teraop in inferenza INT4 a 1,6 GHz. Questo chip di prova funzionava a 48,6 watt e aveva 8 MB di cache su chip.


Questa AIU ha 34 core di cui 32 attivi, quindi dovrebbe avere 8 volte le prestazioni supponendo che la velocità di clock rimanga la stessa (qualunque cosa fosse) e 8 volte la cache su chip. Ciò si tradurrebbe a 204,8 teraflop per l’allenamento dell’IA in FP8 e 819,2 teraop per l’inferenza dell’IA con 64 MB di cache su chip, a qualcosa a sud di un involucro di potenza di 400 watt quando implementato in 7 nanometri. Ma IBM lo sta implementando con Samsung in 5 nanometri, e questo probabilmente mette il dispositivo AIU a circa 275 watt.

In confronto, una versione PCI-Express 5.0 da 350 watt della GPU “Hopper” GH100 di Nvidia offre 2 TB/sec di larghezza di banda su 80 GB di memoria HBM3 e 3,03 petaflop di prestazioni di allenamento AI FP8 con supporto scarsità attivo.

IBM Research avrà bisogno di core AI. Molti core di intelligenza artificiale .

Ecco l’altro problema: i soldi. Se Nvidia farà pagare da qualche parte a nord di $ 20.000 ea sud di $ 30.000 per un H100 – e ci sono indicazioni che sarà più a nord che a sud – e IBM può mettere in campo l’AIU per $ 1.000, può essere uno spoiler. Potrebbero essere necessari dieci AIU per eguagliare le prestazioni di picco di un H100, o cinque se non vengono utilizzati dati sparsi, ma da 1/20 a 1/30 il costo, i watt, lo spazio e l’elettricità diventano cose secondarie per molte organizzazioni. Ecco perché in primo luogo c’erano gli acceleratori GPU Nvidia P4, T4 e L40 per l’inferenza dell’IA.

Di ihal