Connect with us

Intelligenza artificiale

Ricercatori creano un’alternativa alla GPU

mm

Gli scienziati informatici della Rice University, insieme ai collaboratori di Intel, hanno sviluppato un’alternativa più efficiente in termini di costo alla GPU. Il nuovo algoritmo si chiama “motore di apprendimento profondo sub-lineare” (SLIDE) e utilizza unità centrali di elaborazione generiche (CPU) senza hardware di accelerazione specializzato.

I risultati sono stati presentati al centro congressi di Austin, che ospita la conferenza sui sistemi di apprendimento automatico MLSys.

Una delle sfide più grandi all’interno dell’intelligenza artificiale (AI) riguarda l’hardware di accelerazione specializzato come le unità di elaborazione grafica (GPU). Prima dei nuovi sviluppi, si credeva che per velocizzare la tecnologia di apprendimento profondo fosse necessario utilizzare questo hardware di accelerazione specializzato.

Molte aziende hanno dato grande importanza agli investimenti in GPU e hardware specializzato per l’apprendimento profondo, che è responsabile di tecnologie come gli assistenti digitali, il riconoscimento facciale e i sistemi di raccomandazione di prodotti. Una di queste aziende è Nvidia, che crea le GPU Tesla V100 Tensor Core. Nvidia ha recentemente segnalato un aumento del 41% dei ricavi del quarto trimestre rispetto all’anno precedente.

Lo sviluppo di SLIDE apre nuove possibilità.

Anshumali Shrivastava è un professore assistente alla Brown School of Engineering di Rice e ha aiutato a inventare SLIDE con gli studenti di dottorato Beidi Chen e Tharun Medini.

“I nostri test mostrano che SLIDE è la prima implementazione algoritmica intelligente dell’apprendimento profondo su CPU che può superare l’hardware di accelerazione GPU su set di dati di raccomandazione su larga scala con architetture completamente connesse”, ha detto Shrivastava.

SLIDE supera la sfida delle GPU grazie al suo approccio completamente diverso all’apprendimento profondo. Attualmente, la tecnica di formazione standard per le reti neurali profonde è la “propagazione all’indietro” e richiede la moltiplicazione di matrici. Questo carico di lavoro richiede l’utilizzo di GPU, quindi i ricercatori hanno modificato la formazione della rete neurale in modo che potesse essere risolta con tabelle hash.

Questo nuovo approccio riduce notevolmente il sovraccarico computazionale per SLIDE. La piattaforma GPU attualmente migliore che aziende come Amazon e Google utilizzano per l’apprendimento profondo basato su cloud ha otto Tesla V100 e il prezzo è intorno ai 100.000 dollari.

“Ne abbiamo uno in laboratorio e nel nostro caso di test abbiamo preso un carico di lavoro che è perfetto per V100, uno con oltre 100 milioni di parametri in reti completamente connesse di grandi dimensioni che si adattano alla memoria GPU”, ha detto Shrivastava. “L’abbiamo addestrato con il miglior pacchetto software disponibile, Google’s TensorFlow, e ha richiesto 3 ore e mezza per l’addestramento.”

“Abbiamo poi mostrato che il nostro nuovo algoritmo può eseguire l’addestramento in un’ora, non su GPU ma su una CPU Xeon di classe a 44 core”, ha continuato.

L’hashing è un tipo di metodo di indicizzazione dei dati inventato negli anni ’90 per la ricerca su internet. I metodi numerici vengono utilizzati per codificare grandi quantità di informazioni come una stringa di cifre, che viene chiamata hash. Gli hash vengono elencati per creare tabelle che possono essere cercate rapidamente.

“Non avrebbe avuto senso implementare il nostro algoritmo su TensorFlow o PyTorch perché la prima cosa che vogliono fare è convertire qualsiasi cosa stiate facendo in un problema di moltiplicazione di matrici”, ha detto Chen. “È esattamente ciò che volevamo evitare. Quindi abbiamo scritto il nostro codice C++ da zero”.

Secondo Shrivastava, il maggior vantaggio di SLIDE è che è parallelo ai dati.

“Con parallelo ai dati intendo che se ho due istanze di dati che voglio addestrare, ad esempio una è un’immagine di un gatto e l’altra di un autobus, attiveranno probabilmente neuroni diversi e SLIDE può aggiornare, o addestrare su questi due in modo indipendente”, ha detto. “Questo è un utilizzo molto migliore del parallelismo per le CPU”.

“Il rovescio della medaglia, rispetto alla GPU, è che richiediamo una grande quantità di memoria”, ha detto. “C’è una gerarchia di cache nella memoria principale e se non si è attenti si può incorrere in un problema chiamato cache thrashing, dove si verificano molti errori di cache”.

SLIDE ha aperto la porta a nuovi modi per implementare l’apprendimento profondo e Shrivastava ritiene che sia solo l’inizio.

“Abbiamo appena sfiorato la superficie”, ha detto. “C’è molto che possiamo ancora fare per ottimizzare. Non abbiamo utilizzato la vettorizzazione, ad esempio, o gli acceleratori integrati nella CPU, come Intel Deep Learning Boost. Ci sono molti altri trucchi che potremmo ancora utilizzare per renderlo ancora più veloce”.

Alex McFarland è un giornalista e scrittore di intelligenza artificiale che esplora gli ultimi sviluppi nel campo dell'intelligenza artificiale. Ha collaborato con numerose startup di intelligenza artificiale e pubblicazioni in tutto il mondo.