Il chip con reti neurali del MIT abbatte i consumi del 95%

Reti neurali complesse anche su smartphone? Al MIT hanno studiato un sistema per aumentare enormemente la velocità e ridurre i consumi di ben il 95%.

Avatar di Manolo De Agostini

a cura di Manolo De Agostini

Al MIT di Boston hanno creato un chip capace di aumentare la velocità di calcolo di una rete neurale da tre a sette volte rispetto ai chip precedenti, riducendo il consumo fino al 95%.

In un mondo in cui le reti neurali stanno diventando il nuovo mantra dell'industria tecnologica, il traguardo raggiunto dal MIT apre alla possibilità di far funzionare reti neurali complesse su smartphone o altri oggetti con potenza limitata che abbiamo in casa, senza che questi debbano collegarsi a un server per svolgere le operazioni necessarie. Huawei, Apple, Samsung e altri hanno iniziato a implementare reti neurali nei propri chip, ma siamo agli inizi.

Avishek Biswas, che ha guidano lo sviluppo del chip, spiega che "il modello generale di un processore prevede che ci sia una memoria in una qualche parte del chip, un processore in un'altra ed è necessario far passare i dati tra i due avanti e indietro quando bisogna svolgere calcoli".

"Poiché gli algoritmi di apprendimento automatico hanno bisogno di tantissimi calcoli, questo trasferimento di dati continuo rappresenta la parte dominante del consumo energetico. Ma il calcolo di questi algoritmi può essere semplificato a una specifica operazione, chiamata dot product. Ci siamo chiesti: possiamo implementare questa funzionalità dot product all'interno della memoria in modo che non sia necessario trasferire questi dati avanti e indietro?". La risposta è sì visti i risultati, ma prima di arrivarci, un po' di contesto.

Le reti neurali di solito sono a strati (layer). Un singolo nodo di calcolo in uno strato della rete riceve in genere dati dai diversi nodi nello strato sottostante e passa i dati a diversi nodi nello strato superiore. Ogni connessione tra i nodi ha il proprio "peso", che indica quanto grande sarà il ruolo dell'output di un nodo nel calcolo svolto successivamente. Allenare la rete è una questione di impostare quei "pesi".

MIT Neural Network Chip

Un nodo che riceve dati da più nodi nello strato sottostante moltiplicherà ogni in input per il peso della connessione corrispondente e sommerà i risultati. Quell'operazione - la sommatoria di moltiplicazioni - è la definizione di dot product. Se il dot product supera un certo valore di soglia, il nodo lo trasmetterà ai nodi nel layer successivo, su connessioni con il loro pesi.

Una rete neurale è un'astrazione: i nodi sono solo pesi archiviati nella memoria del computer. Calcolare un dot product di solito richiede di recuperare un peso dalla memoria, andare a prendere il "data item" associato, moltiplicarlo per due e archiviare il risultato da qualche parte e poi ripetere l'operazione per ogni input verso un nodo. Dato che le reti neurali hanno migliaia o persino milioni di nodi, si tratta di un'enorme quantità di dati in movimento.

La sequenza delle operazioni rappresenta un'approssimazione digitale di quello che succede nel cervello, dove i segnali viaggiano tra diversi neuroni in una sinapsi, o in uno spazio vuoto tra i fasci di neuroni. Il tasso di attivazione dei neuroni e i segnali elettrochimici che attraversano la sinapsi corrispondono ai valori dei dati e ai pesi. Il nuovo chip dei ricercatori del MIT migliora l'efficienza replicando il cervello in modo più fedele.

Nel chip, i valori di input di un nodo vengono convertiti in tensioni elettriche e quindi moltiplicati per i pesi appropriati. Sommare i prodotti è una semplice questione di combinare le tensioni. Solo le tensioni combinate vengono riconvertite in una rappresentazione digitale e memorizzate per un'ulteriore elaborazione.

Il chip può così calcolare i dot product per più nodi - 16 alla volta nel prototipo - in un singolo passaggio, anziché passare tra un processore e la memoria per ogni calcolo. Una delle chiavi del sistema è che tutti i pesi sono 1 o -1. Ciò significa che possono essere inseriti all'interno della memoria stessa come semplici interruttori che chiudono o lo lasciano aperto un circuito. Recenti studi teorici suggeriscono che reti neurali addestrate con solo due pesi dovrebbero perdere poca accuratezza, tra l'1 e il 2%.

Secondo i ricercatori del MIT è una previsione piuttosto corretta. Nei loro esperimenti, hanno fatto funzionare l'implementazione completa di una rete neurale su un computer tradizionale e l'equivalente in peso binario sul proprio chip. I risultati del loro chip erano compresi tra il 2 e il 3% della rete convenzionale.

"Questa è una promettente dimostrazione reale di calcolo analogico in-memory basato su SRAM per applicazioni di deep learning", ha dichiarato Dario Gil, vicepresidente per l'intelligenza artificiale di IBM. "I risultati indicano specifiche impressionanti per un'implementazione energetica efficiente di operazioni di convoluzione con matrici di memoria. Aprirà certamente la possibilità di usare reti neurali convoluzionali più complesse per classificazione di immagini e video nell'Internet of Things in futuro".


Tom's Consiglia

Uno smartphone con intelligenza fuori dal comune? Tra i primi esempi c'è Huawei Mate 10 Pro.