A parte Federico Rampini, per il quale NVIDIA è «un’azienda semi-sconosciuta», tutti sanno bene di che cosa stiamo parlando. Ma perché il leader mondiale nella produzione di schede video è diventato uno dei protagonisti della nuova stagione dell’intelligenza artificiale generativa?
Abbiamo riso quando Federico Rampini ebbe a definire NVIDIA «semi-sconosciuta» (Intelligenza artificiale, Nvidia verso i mille miliardi, l’azienda che fa i microchip dell’AI, Corriere.it, 26 maggio 2023) e a impressionarsi per la capitalizzazione di borsa della società californiana, quadruplicata nel giro di sei mesi. Chi segue il mondo dell’AI sa bene che il leader mondiale nella produzione di schede video è diventato uno degli attori fondamentali della nuova stagione dell’intelligenza artificiale generativa. Per cui non deve stupire il fatto che i mercati scommettono sul suo successo.
Rampini a parte, in questo articolo cerchiamo di approfondire due questioni:
- Perché i processori grafici hanno un ruolo centrale nello sviluppo dell’intelligenza artificiale?
- Quali sono i prodotti di NVIDIA più importanti per i LLMs e l’intelligenza artificiale generativa?
Per comodità di lettura, riportiamo le fonti di questo approfondimento in fondo all’articolo.
Questione di hardware
Per rispondere alla prima domanda, occorre ricordare che l’hardware è fondamentale nell’addestramento dei modelli linguistici. Dall’hardware, infatti, dipende non solo l’accuratezza dell’apprendimento, ma anche la velocità con cui l’apprendimento stesso viene portato a termine. Il che ha poi un impatto evidente sui consumi di energia e in definitiva sui costi dell’intelligenza artificiale generativa. Maggiori sono le dimensioni del modello, più alto è il fabbisogno di risorse per il suo addestramento. Quando è stato rilasciato, GPT-3 risultava uno dei modelli più grandi mai creati, con 175 miliardi di parametri. Poi è arrivato GPT-4, che dispone di 1,7 trilioni di parametri (alcune fonti parlano addirittura di 100 trilioni di parametri, ma si tratta di un’ipotesi poco attendibile). LLaMA di Meta dovrebbe avere fino a 65 miliardi di parametri, PaLM 2 di Google circa 340 miliardi.
Nella fase di addestramento del modello è richiesta una potenza di calcolo molto superiore a quella necessaria nella fase di utilizzo. Ma neppure l’esercizio è a costo zero. Un’applicazione come ChatGPT, progettata per interrogare il modello sottostante GPT-3 o GPT-4, richiede a propria volta una notevole capacità di calcolo, soprattutto perché le query devono essere eseguite in tempo reale.
Solamente il calcolo parallelo, ovvero la sua distribuzione in cluster e farm di unità computazionali può affrontare una sfida di tale entità. In questo senso è bene ricordare che i sistemi di AI impiegano due tipi di hardware dedicato al calcolo: i processori (CPU) e le schede grafiche (GPU). I primi eseguono le istruzioni della parte software e coordinano gli altri componenti hardware (RAM, DDS e altre unità di storage, cavi, circuiti). Le seconde sono specializzate nell’esecuzione di calcoli paralleli su grandi array di dati. Per questo, da oltre un decennio le GPU sono diventate la forza trainante di molti progressi nella ricerca nell’ambito del machine learning.
L’approccio di OpenAI con NVIDIA A100 HPC
Per quanto è dato di sapere, una delle GPU utilizzate da OpenAI per l’addestramento del modello GPT e l’esecuzione dell’algoritmo di ChatGPT è l’acceleratore NVIDIA A100 HPC. Si tratta di una GPU tensor core con una memoria HBM2 ad alte prestazioni (80 GB), in grado di fornire una banda passante di memoria fino a 2 TBps, sufficiente per eseguire modelli e dataset molto grandi. Ciascuna di queste unità ha un costo di 12.500 dollari. OpenAI dovrebbe averne già acquistate oltre 10.000, ma l’aspettativa è che NVIDIA riceva nuovi ordini entro la fine del 2023.
Le unità A100 HPC operano su server multi-GPU che eseguono ChatGPT in parallelo su 4 o 8 GPU, sfruttando il DistributedDataParallel (DDP) di PyTorch. Quest’ultimo, lo ricordiamo, è il framework open source forse più popolare del momento, nell’ambito del machine learning. Sviluppato in Python da Meta AI e rilasciato nel 2017, ha una filosofia simile a TensorFlow, nel senso che anch’esso si basa su tensori e grafici per la costruzione dei modelli. Il framework di PyTorch sembra sposarsi perfettamente con le GPU di NVIDIA. In particolare, PyTorch supporta pyCuda, che consente di accedere alle API NVIDIA CUDA®.
Tuttavia, nonostante la sua predisposizione per il calcolo parallelo, la capacità dei gestire la frammentazione della memoria di PyTorch non è illimitata. Pertanto, lo scaling parallelo multi-GPUs porta a guadagni di prestazioni limitati. Ci sono ancora molti colli di bottiglia che vanno superati. Sicuramente in futuro saranno messe a punto strategie più efficaci di quelle attuali.
La risposta di Inflection AI: NVIDIA H100
Intanto vale la pena di tenere d’occhio la startup Inflection AI e il suo chatbot Pi. La società, basata a Palo Alto CA e valutata al momento quattro miliardi di dollari, è sostenuta da Microsoft, dalla stessa NVIDIA (eh, sì: ancora lei!) e da investitori di peso come Reid Hoffman, Bill Gates ed Eric Schmidt. A guidarla è l’ex leader di Google DeepMind Mustafa Suleyman.
L’interesse per Inflection AI risiede nel test di una nuova configurazione architetturale, la quale prevede l’impiego di H100, ovvero la GPU di più recente produzione di NVIDIA. Proprio con il supporto di NVIDIA e del cloud provider CoreWeave, Inflection AI sta installando un cluster di GPU che eseguirà, in parallelo 22.000 unità di tipo H100. Si tratta probabilmente del più grande cluster di GPU per applicazioni di AI al mondo, prima del cluster di 16.000 GPU di Meta annunciato a maggio.
C’è un precedente, perché un cluster di 3.584 GPU di tipo H100 è già stato realizzato recentemente da CoreWeave. Tale cluster ha completato un benchmark massivo basato su GPT-3 in soli 11 minuti.
Tutto in un floppy, tutto in quattro minuti
Ma la strategia vincente potrebbe anche essere un’altra. Se i nuovi modelli linguistici sono troppo complessi per non determinare gli attuali colli di bottiglia computazionali, anziché accrescere la potenza di calcolo con cluster di GPU di dimensioni sempre più cospicue, perché non provare a ridurre la complessità dei modelli stessi? È l’approccio seguito da Perfusion, un nuovo metodo di generazione di immagini personalizzate mediante prompt testuali messo a punto da un team di ricercatori dell’Università di Tel Aviv e da NVIDIA. Il modello di Perfusion ha una dimensione di appena 100KB per concetto, escluso il metodo pre-addestrato, che è di qualche GB. Lo spazio di un vecchio floppy disk, insomma. Inoltre può operare dopo un training di appena 4 minuti. Perfusion consente di modificare in modo significativo l’aspetto delle immagini di partenza, pur mantenendo la loro identità, ed esibisce performance paragonabili a quelle di modelli molto più complessi, come Stable Diffusion di Stability AI o MidJourney.
Il «segreto» di Perfusion è un meccanismo innovativo denominato Key-Locking. In pratica, i concetti che l’utente vuole aggiungere vengono collegati a una categoria più generale durante la generazione delle immagini. Ad esempio, il concetto di gatto verrebbe collegato all’idea più ampia di felino. In questo modo si evita l’overfitting, ovvero il peso eccessivo degli esempi di addestramento. L’overfitting rende difficile per l’intelligenza artificiale generare nuove versioni creative di un concetto. Perfusion può anche combinare concetti appresi singolarmente in un’unica immagine generata. Infine, permette di controllare il trade-off tra allineamento visivo e testuale al momento dell’inferenza.
Fonti
Desire Athow, Meet the Nvidia GPU that makes ChatGPT come alive. This Nvidia GPU is the power behind ChatGPT, in TechRadar Pro, 17 febbraio 2023.
Irem Boybat, Melika Payvand, Oliver Rhodes, Alexander Serb, Hardware for artificial intelligence, in Frontiers in Neuroscience, 9 agosto 2022.
Andreas Klöckner, PyCUDA: Even Simpler GPU Programming with Python, presentato il 22 settembre 2010 alla NVIDIA GTC.
Jose Antonio Lanz, Nvidia AI Image Personalization Method Fits on a Floppy Disk and Takes 4 Minutes to Train, in Decrypt, 1 agosto 2023.
Ryan Morrison, Compute power is becoming a bottleneck for developing AI. Here’s how you clear it, in TechMonitor, 13 dicembre 2022.
Dave Salvator, NVIDIA H100 GPUs Set Standard for Generative AI in Debut MLPerf Benchmark, in NVIDIA.com, 27 giugno 2023.
Yoad Tewel, Rinon Gal, Gal Chechik, Yuval Atzmon, Key-Locked Rank One Editing for Text-to-Image Personalization, presentato il 2 maggio 2023 a SIGGRAPH 2023.