MIT, un chip per l'intelligenza artificiale a basso consumo

I ricercatori del MIT hanno progettato un nuovo chip per implementare reti neurali. È 10 volte più efficiente di una GPU mobile e può consentire a dispositivi portatili di eseguire potenti algoritmi di intelligenza artificiale localmente anziché fare l'upload dei dati su Internet in modo che vengano processati.

Avatar di Manolo De Agostini

a cura di Manolo De Agostini

Un gruppo di ricercatori del MIT di Boston ha presentato all'International Solid State Circuits Conference di San Francisco un nuovo chip, chiamato Eyeriss, progettato specificatamente per implementare reti neurali. Negli ultimi anni i passi avanti più importanti nello sviluppo delle intelligenze artificiali sono legati alle reti neurali convoluzionali, grandi reti virtuali fatte di semplici unità che elaborano informazioni sul modello anatomico del cervello umano.

Le reti neurali sfruttano spesso e volentieri le GPU (desktop e mobile), che essendo altamente parallelizzate (sono formate da centinaia se non migliaia di piccole unità di calcolo) ben si prestano al compito. Al MIT pensano però di aver messo a punto una soluzione migliore, 10 volte più efficiente di una GPU mobile.

MIT Neural Chip

"Potrebbe permettere ai dispositivi mobile di far girare potenti algoritmi di intelligenza artificiale localmente, piuttosto che fare l'upload dei dati su Internet per il loro processo", si legge sul sito dell'ateneo. Secondo Vivienne Sze, ricercatrice del MIT, riuscire a gestire reti neurali localmente permetterebbe non solo di salvaguardare la privacy delle informazioni, ma anche di eliminare la latenza. Con Eyeriss si potrebbero creare prodotti intelligenti senza che questi debbano collegarsi a Internet, come ad esempio robot autonomi alimentati da batterie.

Una rete neurale, di solito, è organizzata a strati. Ogni strato ha un grande numero di nodi di calcolo. I dati arrivano e sono divisi tra i nodi del primo layer. Ogni nodo manipola il dato che riceve e passa i risultati ai nodi del layer successivo. Il tutto si ripete fino ad arrivare al layer finale, che restituisce la soluzione di un qualche problema di calcolo.

In una rete neurale convoluzionale i nodi in ogni layer processano lo stesso dato in modi diversi. Le reti possono così raggiungere proporzioni enormi e, sebbene abbiano prestazioni superiori a quelle degli algoritmi tradizionali in molte operazioni di processo delle immagini, richiedono molte più risorse di calcolo.

intelligenza artificiale

Le manipolazioni svolte da ogni nodo in una rete neurale sono il risultato di un processo di apprendimento nel quale una rete prova a trovare correlazioni tra i dati grezzi e le etichette applicate da annotatori umani. Grazie un chip come quello creato dai ricercatori del MIT, una rete "allenata" potrebbe essere esportata semplicemente in un dispositivo mobile.

Come si suol dire non è però "tutto oro quel che luccica", infatti ha imposto vincoli di progettazione ai ricercatori. Da una parte riduce i consumi del chip e aumenta l'efficienza per rendere ogni unità di calcolo il più semplice possibile; dall'altra il chip deve essere sufficientemente flessibile per implementare differenti tipi di reti su misura per compiti diversi.

Il chip creato da Sze e dai suoi colleghi - tra cui troviamo Joel Emer di Nvidia Research – ha 168 core. La chiave per l'efficienza di Eyeriss è la riduzione drastica della frequenza di cui hanno bisogno i core per scambiare i dati con banchi di memoria distanti, un'operazione che consuma tempo ed energia. Laddove gran parte dei core in una GPU condivide un singolo e ampio banco di memoria, ogni core all'interno di Eyeriss ha la propria memoria. Inoltre il chip ha un circuito che comprime i dati prima di inviarli ai singoli core.

intelligenza artificiale 01

Ogni core è inoltre capace di comunicare direttamente con i suoi vicini più prossimi, quindi se devono condividere dati tra loro non devono passare dalla memoria principale. Infine, c'è un circuito con uno scopo preciso che ripartisce operazioni tra i core. Nella sua memoria locale un core deve archiviare non solo il dato manipolato dai nodi che sta simulando ma anche i dati che descrivono i nodi stessi. Il circuito di allocazione può essere riconfigurato per differenti tipi di reti, distribuendo automaticamente i due tipi di dati sui core in un modo da massimizzare la quantità di lavoro che ognuno di questi può fare prima di pescare altri dati dalla memoria principale.

Alla conferenza di San Francisco i ricercatori del MIT hanno usato Eyeriss per implementare una rete neurale capace di riconoscere immagini, ricevendo apprezzamenti da parte di Mike Polley, vicepresidente senior del Mobile Processor Innovations Lab di Samsung.

Intel Core i3-6100 Intel Core i3-6100
ePRICE

Intel Pentium G4400 Intel Pentium G4400
ePRICE

Intel Core i5-6500 Intel Core i5-6500
ePRICE