Quando pensiamo alle reti neurali, l’immagine mentale che abbiamo è quella di ampie sale con imponenti elaboratori. In effetti, è ciò che occorre quando si ha a che fare con applicazioni che masticano in tempo reale quantità di dati gigantesche. Tuttavia, sembra che questo paradigma sia stato ormai superato da un nuovo, incredibile sviluppo hardware targato MIT.

L’Istituto di Tecnologia del Massachussets ha infatti creato un chip specializzato che non solo riduce del 93-96% i requisiti energetici delle reti neurali, ma ne accelera i calcoli da 3 a 7 volte. A queste condizioni, molte applicazioni di Intelligenza Artificiale potrebbero realisticamente girare su smart devices di uso comune: parliamo di riconoscimento facciale e vocale, analisi delle immagini in real time, applicazioni di mobilità e tanto, tantissimo altro. Questa rivoluzione si deve ad Avishek Biswas, laureato in ingegneria elettrica e scienze informatiche presso il MIT.

Spiega Biswas: “il layout tradizionale prevede che ci sia della memoria in una parte del chip, ed un processore in un’altra. Tra le due parti c’è un interscambio continuo di dati durante le computazioni. Dato che il machine learning richiede moltissime di queste computazioni, è li che si verifica il grosso del consumo energetico. Abbiamo visto che gran parte di queste operazioni può ricondursi ad una singola computazione, che chiamiamo ‘dot product’. Quindi, ci siamo chiesti se fosse possibile avere questa funzione direttamente in memoria senza doverla spostare in giro per il chip”.

Concettualmente, le reti neurali sono articolate in livelli gerarchici composti da nodi. Ogni nodo riceve informazioni dai nodi dei livelli inferiori tramite canali a cui viene attribuito un valore di peso. I dati che passano dai canali più “pesanti” vengono moltiplicati per tale valore, sommati tra loro e infine, memorizzati. Questa è la definizione di ‘dot product’, nonché il principio base del machine learning.

Adesso, una rete neurale comprende milioni di nodi, e quindi moli di dati enormi. Come fa il nuovo chip del MIT a sveltirne il trattamento? I valori che entrano in ogni nodo sono voltaggi elettrici grezzi, non trattati. Questi ultimi vengono moltiplicati per il peso del canale di provenienza, e solo alla fine convertiti in valori digitali. Il prototipo può effettuare questa operazione per 16 nodi in un colpo solo, abbattendo il numero di scambi tra processore e memoria.

Altra intuizione geniale di Biswas riguarda il peso dei canali, che nel suo chip può assumere solo due valori (-1 e 1) e quindi semplificare il trattamento dei dati. Questo comporta una perdita di precisione dell’ 1-2% rispetto alle reti neurali tradizionali, il che è tollerabile per gran parte delle possibili applicazioni.

[via MIT]