Il riconoscimento facciale e vocale offerto dai moderni smartphone richiedono l’uso delle reti neurali e quindi calcoli piuttosto complessi che devono essere eseguiti sul cloud. Al termine dell’elaborazione, il risultato viene inviato al dispositivo. I ricercatori del MIT hanno progettato un chip che effettua la stessa operazione ad un velocità nettamente superiore, consumando una minima quantità di energia. L’elaborazione potrebbe quindi avvenire direttamente sullo smartphone.
Le reti neurali permettono di ottenere il risultato finale (ad esempio il riconoscimento di un volto o di un’immagine) dopo aver analizzato un enorme set di dati, per cui possono raggiungere grandi dimensioni e consumare molta energia. Ecco perché i calcoli vengono effettuati su server dedicati (con alcune eccezioni). Il chip del MIT offre prestazioni fino a sette volte superiori a quelle dei suoi predecessori, riducendo i consumi fino al 95%, grazie alla semplificazione dei calcoli mediante un’operazione denominata “dot product”.
Le reti neurali sono formate da vari livelli. Un singolo nodo di un layer riceve dati dai nodi del livello inferiore e li passa ai nodi del livello superiore. Ogni connessione tra nodi ha un “peso” che indica l’importanza dell’output del nodo sul calcolo effettuato dal successivo. L’addestramento della rete serve proprio per assegnare i pesi. Ogni nodo moltiplica l’input ricevuto per il peso della corrispondente connessione e somma i risultati. L’operazione prende il nome di dot product.
I calcoli richiedono numerosi accessi alla memoria per la scrittura e lettura dei pesi. Dato che una rete neurale può avere migliaia o milioni di nodi, la mole di dati da spostare è enorme. Il chip del MIT, invece, replica più fedelmente il funzionamento del cervello umano, al quale sono ispirate le reti neurali. L’input di ogni nodo viene convertito in tensione elettrica e moltiplicato per il peso corrispondente. Il valore viene quindi convertito in forma digitale e conservato nella memoria. Ciò consente di calcolare 16 dot product in un singolo passo. I pesi usati dal sistema (-1 e 1) possono essere implementati con semplici switch con una perdita minima di precisione (1-2%).