Un acceleratore AI è un qualsiasi componente hardware, inclusa un'unità di elaborazione grafica (GPU),utilizzato per velocizzare i modelli di machine learning (ML) e deep learning (DL), elaborazione del linguaggio naturale e altre operazioni di intelligenza artificiale (AI).
Tuttavia, il termine acceleratore AI viene sempre più utilizzato per descrivere chip AI più specializzati, come unità di elaborazione neurale (NPU) o unità di elaborazione tensoriale (TPU). Mentre le GPU per uso generico, originariamente progettate per il rendering di immagini e grafica, sono molto efficaci se utilizzate come acceleratori AI, altri tipi di hardware di AI appositamente progettati potrebbero offrire una potenza di calcolo simile o migliore con una migliore efficienza energetica, un throughput maggiore e altre preziose ottimizzazioni per i workload dell'AI.
Le central processing unit (CPU) standard operano in un framework, rispondono a una richiesta alla volta e spesso hanno difficoltà con le richieste di trattamento dei dati ad alte prestazioni. Le GPU sono progettate in modo diverso e soddisfano al meglio tali richieste.
Caratterizzate da più core logici, le GPU suddividono i problemi complessi in parti più piccole, risolvibili contemporaneamente, attraverso una metodologia nota come elaborazione parallela. Originariamente sviluppata da Nvidia nel 2006, l'API CUDA ha liberato l'impressionante potenza di elaborazione parallela della GPU. Questo consente ai programmatori di utilizzare le GPU Nvidia per l'elaborazione generica in migliaia di casi d'uso, come l'ottimizzazione dei data center, la robotica, la produzione di smartphone, il mining di criptovalute e molto altro.
Le funzionalità di elaborazione parallela della GPU si sono dimostrate estremamente utili anche per compiti di AI come l'addestramento di modelli linguistici di grandi dimensioni (LLM) o reti neurali. Tuttavia, con l'aumento della domanda aumenta anche il consumo di energia. Inoltre, le GPU ad alte prestazioni sono notoriamente costose e richiedono molta energia.
Nonostante siano adatte per applicazioni di AI come l'elaborazione di set di dati di grandi dimensioni, le GPU non sono progettate specificamente per l'uso nei modelli AI. In quanto processore grafico, la GPU media alloca una certa quantità di core logici ai compiti legati alla grafica. Queste attività includono la codifica e la decodifica video, il calcolo dei valori dei colori e vari processi di rendering che sono critici per attività come l'editing video, la modellazione 3D e i giochi. I chip degli acceleratori AI, tuttavia, sono ottimizzati per gestire solo le attività necessarie per l'AI.
In generale, una GPU deve essere in grado di elaborare una quantità di dati molto grande (ma non enorme) molto rapidamente per eseguire il rendering di grafici complessi e rapidi in tempo reale. Pertanto, le GPU danno priorità alle operazioni a bassalatenza per garantire una qualità dell'immagine costante e costantemente elevata.
Sebbene la velocità sia importante anche nei modelli AI, i set di dati AI sono molto più grandi della domanda media di GPU. A differenza delle GPU, gli acceleratori AI sono progettati per ottimizzare la larghezza di banda e, di conseguenza, offrono in genere anche una migliore efficienza energetica.
Sebbene le GPU siano spesso utilizzate come acceleratori AI, una GPU potrebbe non essere l'opzione migliore rispetto a un acceleratore AI più specializzato. Le principali differenze tra GPU generiche e chip AI specializzati sono la specializzazione, l'efficienza, l'accessibilità e la funzionalità.
Per le applicazioni di AI, una GPU può essere una buona soluzione per l'uso generico, nello stesso modo in cui un furgoncino potrebbe essere una via di mezzo tra un'auto sportiva e un veicolo a 18 ruote. Un veicolo a 18 ruote è più lento di un'auto sportiva ma può trasportare molto più carico. Un furgoncino può trasportare alcune merci ed è più veloce di un veicolo a 18 ruote, ma è più lento di un'auto sportiva.
La GPU è simile a un furgoncino, ma a seconda delle priorità dell'applicazione AI, potrebbe essere preferibile un chip AI più specializzato, proprio come un veicolo più specializzato.
Le unità di elaborazione grafica sono state inventate negli anni '90 per alleggerire la domanda di elaborazione delle CPU via via che l'informatica diventava meno basata sul testo e sui sistemi operativi grafici e i videogiochi iniziavano a crescere in popolarità.
Dall'invenzione del computer moderno all'inizio degli anni '50, la CPU è stata storicamente responsabile delle attività di computing più critiche, compresi tutti i controlli di elaborazione, logica e input/output (I/O) necessari ai programmi.
Negli anni '90, i videogiochi e la progettazione assistita da computer (CAD) richiedevano un modo più efficiente per convertire i dati in immagini. Questa problematica ha spinto gli ingegneri a progettare le prime GPU con un'architettura di chip unica, in grado di eseguire l'elaborazione parallela.
Dal 2007, quando Nvidia ha introdotto la piattaforma di programmazione GPU CUDA, il design delle GPU è proliferato, con nuove applicazioni in tutti i settori e ben oltre l'elaborazione grafica (sebbene il rendering della grafica sia ancora l'applicazione più comune per la maggior parte delle GPU).
Sebbene esistano centinaia di varietà di GPU che variano in termini di prestazioni ed efficienza, la maggioranza rientra in una delle tre categorie principali:
Mentre per acceleratore AI si intende qualsiasi componente hardware utilizzato per accelerare le applicazioni di intelligenza artificiale, un acceleratore AI si riferisce più comunemente a chip di AI specializzati, ottimizzati per attività specifiche associate ai modelli AI.
Sebbene siano considerati hardware altamente specializzati, gli acceleratori AI sono realizzati e utilizzati da società informatiche legacy, tra cui IBM, Amazon Web Services (AWS) e Microsoft, nonché da startup come Cerebras. Via via che l'AI matura e cresce in popolarità, gli acceleratori AI e i toolkit che li accompagnano stanno diventando sempre più comuni.
Prima dell'invenzione dei primi acceleratori AI dedicati, le GPU generiche erano (e continuano ad essere) utilizzate frequentemente nelle applicazioni AI, in particolare per la loro potenza di elaborazione parallela avanzata. Tuttavia, con l'avanzare della ricerca sull'AI nel corso degli anni, gli ingegneri hanno cercato soluzioni di accelerazione AI che offrissero una migliore efficienza energetica e ottimizzazioni AI di nicchia.
Gli acceleratori AI variano in base alle prestazioni e alla specializzazione, mentre alcune tecnologie proprietarie sono relegate esclusivamente a produttori specifici. Alcuni dei tipi più importanti di acceleratori AI includono:
Sebbene una GPU standard offra alcuni vantaggi (ad esempio, disponibilità e accessibilità), gli acceleratori AI più specializzati in genere superano la tecnologia precedente in tre aree chiave: velocità, efficienza e progettazione.
Gli acceleratori AI moderni, persino le GPU, sono molto più veloci delle CPU quando si tratta di elaborazione dei dati a bassa latenza e su larga scala. Per applicazioni critiche come i sistemi di veicoli autonomi, la velocità diventa di fondamentale importanza. Le GPU sono migliori delle CPU, ma gli ASIC progettati per applicazioni specifiche come la computer vision, usata nelle auto a guida autonoma, sono ancora più veloci.
Gli acceleratori AI progettati per attività specifiche potrebbero essere da 100 a 1.000 volte più efficienti dal punto di vista energetico rispetto alle GPU che consumano molta energia. Una maggiore efficienza può portare a una drastica riduzione delle spese operative e, soprattutto, a un impatto ambientale molto inferiore.
Gli acceleratori AI impiegano un tipo di architettura di chip nota come progettazione eterogenea, che consente a più processori di supportare compiti separati e aumenta le prestazioni di computing attraverso un'elaborazione parallela altamente avanzata.
Poiché le GPU sono considerate esse stesse acceleratori AI, i loro casi d'uso si sovrappongono frequentemente con l'hardware AI più specializzato. Col tempo potremmo vedere le GPU passare in secondo piano nelle applicazioni di AI.
Le GPU versatili sono ancora ampiamente utilizzate sia nell'AI che in altri tipi di applicazioni, e questa tendenza è destinata senza dubbio a proseguire. Le GPU sono utilizzate in una vasta gamma di applicazioni che richiedono un parallelismo avanzato, tra cui:
Con la maturazione della tecnologia AI, l'hardware specializzato sta diventando sempre più diffuso. Incorporando la potenza di elaborazione parallela delle GPU e ignorando le caratteristiche non necessarie, gli acceleratori ASIC AI vengono utilizzati in una gamma crescente di applicazioni, tra cui: