venerdì, Ottobre 18, 2024

Le critiche di Jim Keller e le sue idee su x86 e CUDA per l’IA

JIM KELLER CRITICA LE ARCHITETTURE X86 E CUDA DEFINENDOLE PALUDI

Di Michele Nasi

Della “visione” del leggendario progettista di chip Jim Keller abbiamo parlato più volte in passato: impegnato in prima persona su Tenstorrent, società specializzata nella progettazione e nello sviluppo di soluzioni di elaborazione accelerata per le applicazioni di Intelligenza Artificiale, Keller ha chiarito le sue idee su IA, RISC-V ed Edge computing definendo ormai “vecchia” l’architettura x86 perché gravata di tanti fardelli che sono oggi mantenuti principalmente per questioni di retrocompatibilità. In un altro articolo avevamo approfondito il tema paragonando le ISA x86 e ARM.

Perché Jim Keller definisce le architetture x86 e CUDA come delle paludi

In questi giorni, Keller ha espresso dure critiche nei confronti di due pietre miliari nel panorama dei chip: le architetture x86 e CUDA sono definite delle vere e proprie paludi. Il progettista ha evidenziato un aspetto critico di entrambe le architetture: la “stratificazione” che hanno subìto durante la crescita nel tempo e l’accumulo di funzionalità.

NVidia CUDA sarebbe un ecosistema ormai troppo frammentato

Abbiamo visto cos’è NVidia CUDA e quanto sia largamente utilizzata, oggi, per il calcolo parallelo. Concentrandosi proprio sulla soluzione sviluppata dall’azienda di Jen-Hsun Huang, Keller sostiene che CUDA ha acquisito diverse “funzionalità specializzate” nel corso degli anni, portando alla creazione di un ecosistema frammentato. L’aggiunta di strumenti specifici, come Triton, Tensor RT, Neon e Mojo, rappresenterebbe una conferma di quella stratificazione che menzionavamo in precedenza e che contribuisce a ingenerare una configurazione Software complessa.

“Praticamente nessuno scrive in CUDA“, osserva Keller. “Se scrivi in CUDA, probabilmente non si è veloci. (…) Per questo esistono Triton, Tensor RT, Neon e Mojo“. Anche NVidia stessa dispone di strumenti che non si basano esclusivamente su CUDA. Ad esempio, Triton Inference Server è uno strumento open source di NVidia che semplifica il dispiegamento di modelli IA su larga scala, supportando framework come TensorFlow, PyTorch e ONNX (usato anche da Google).

TensorRT di NVidia è un ottimizzatore che ottimizza le attività di deep learning sulle GPU dell’azienda. Prende modelli addestrati da vari framework, come TensorFlow e PyTorch, e li ottimizza per l’utilizzo “in produzione”, riducendo la latenza e aumentando il throughput. In questo modo, i modelli divengono adatti ad applicazioni di intelligenza artificiale che lavorano in tempo reale per la classificazione delle Immagini, il rilevamento degli oggetti e l’elaborazione del linguaggio naturale.

Keller tira l’acqua verso il suo mulino

Per Keller molte piattaforme di sviluppo software per l’IA open source possono essere utilizzate in modo più efficiente rispetto a CUDA.

L’ambizioso piano di Sam Altman, CEO di OpenAI, che vuole “racimolare” qualcosa come 5.000-7.000 miliardi di dollari (attenzione, non milioni bensì miliardi…) ha fatto letteralmente sobbalzare Keller che è attivamente impegnato, con la sua Tenstorrent, nello sviluppo di processori per IA e calcolo ad alte prestazioni (HPC).

Mentre l’industria sta ancora discutendo dei progetti di ampio respiro firmati OpenAI e gli analisti si interrogano sulla fattibilità degli stessi, Keller lancia una dichiarazione shock sostenendo che lui e la sua azienda sono in grado di realizzare quanto Altman ha in mente di fare con un budget inferiore a 1.000 miliardi di dollari.

Il piano di Altman comporta una radicale espansione della catena di approvvigionamento dei semiconduttori, con il rischio di sovra-capacità negli stabilimenti e dell’eccessivo deprezzamento dei processori sul mercato. Keller concorda con il CEO di Nvidia, Huang, su una cosa: è fondamentale che i chip per le applicazioni di IA diventino più sofisticati puntando quindi più sulle funzionalità e in generale sulla qualità che sui “numeri”.

“Cominciate eliminando l’accumulo di margini,” ha scritto Keller, suggerendo a OpenAI di ridurre le varie sovrapposizioni in termini di profitto che aggiunge ogni partecipante nella catena di approvvigionamento (supply chain). Consiglia di non superare due-tre livelli. A questo punto, poi, è cruciale “rendere i chip molto più veloci in modo che che ci sia una corrispondenza diretta tra Hardware e software. È più difficile, ma realizzabile“.

ARTICOLI COLLEGATI:

ULTIMI ARTICOLI: