Un team guidato dall'UC San Diego ha sviluppato hardware e algoritmi che potrebbero ridurre il consumo di energia e il tempo durante l'addestramento di una rete neurale. Credito:David Baillot/UC San Diego Jacobs School of Engineering
Un team guidato dall'Università della California di San Diego ha sviluppato un approccio di co-progettazione hardware-software di ispirazione neurologica che potrebbe rendere l'addestramento della rete neurale più efficiente dal punto di vista energetico e più veloce. Il loro lavoro potrebbe un giorno rendere possibile l'addestramento di reti neurali su dispositivi a bassa potenza come smartphone, laptop e dispositivi embedded.
L'anticipo è descritto in un articolo pubblicato di recente in Comunicazioni sulla natura .
Addestrare le reti neurali per eseguire attività come riconoscere oggetti, navigare in auto a guida autonoma o giocare consuma molta potenza di calcolo e tempo. In genere sono necessari computer di grandi dimensioni con centinaia o migliaia di processori per apprendere queste attività, e i tempi di formazione possono richiedere da settimane a mesi.
Questo perché eseguire questi calcoli comporta il trasferimento di dati avanti e indietro tra due unità separate, la memoria e il processore, e questo consuma la maggior parte dell'energia e del tempo durante l'addestramento della rete neurale, ha affermato l'autore senior Duygu Kuzum, un professore di ingegneria elettrica e informatica presso la Jacobs School of Engineering dell'UC San Diego.
Per affrontare questo problema, Kuzum e il suo laboratorio hanno collaborato con Adesto Technologies per sviluppare hardware e algoritmi che consentono di eseguire questi calcoli direttamente nell'unità di memoria, eliminando la necessità di mescolare ripetutamente i dati.
"Stiamo affrontando questo problema da due punti:il dispositivo e gli algoritmi, per massimizzare l'efficienza energetica durante l'addestramento della rete neurale, " ha detto il primo autore Yuhan Shi, un dottorato di ricerca in ingegneria elettrica. studente nel gruppo di ricerca di Kuzum alla UC San Diego.
Il componente hardware è un tipo di tecnologia di memoria non volatile super efficiente dal punto di vista energetico:un array CBRAM (Conductive Bridging RAM) subquantico da 512 kilobit. Consuma da 10 a 100 volte meno energia rispetto alle principali tecnologie di memoria odierne. Il dispositivo si basa sulla tecnologia di memoria CBRAM di Adesto:è stato utilizzato principalmente come dispositivo di archiviazione digitale con solo gli stati "0" e "1", ma Kuzum e il suo laboratorio hanno dimostrato che può essere programmato per avere più stati analogici per emulare le sinapsi biologiche nel cervello umano. Questo cosiddetto dispositivo sinaptico può essere utilizzato per eseguire calcoli in memoria per l'addestramento della rete neurale.
"La memoria su chip nei processori convenzionali è molto limitata, quindi non hanno una capacità sufficiente per eseguire sia l'elaborazione che l'archiviazione sullo stesso chip. Ma in questo approccio, abbiamo un array di memoria ad alta capacità che può eseguire calcoli relativi all'addestramento della rete neurale nella memoria senza trasferimento di dati a un processore esterno. Ciò consentirà molti miglioramenti delle prestazioni e ridurrà il consumo di energia durante l'allenamento, " disse Kuzum.
Kuzum, che è affiliato con il Center for Machine-Integrated Computing and Security presso l'UC San Diego, ha guidato gli sforzi per sviluppare algoritmi che potrebbero essere facilmente mappati su questo array di dispositivi sinaptici. Gli algoritmi hanno consentito un risparmio ancora maggiore di energia e tempo durante l'addestramento della rete neurale.
L'approccio utilizza un tipo di rete neurale ad alta efficienza energetica, chiamata rete neurale a spillo, per implementare l'apprendimento non supervisionato nell'hardware. Oltre a ciò, Il team di Kuzum applica un altro algoritmo di risparmio energetico che hanno sviluppato chiamato "potatura morbida, " che rende l'allenamento della rete neurale molto più efficiente dal punto di vista energetico senza sacrificare molto in termini di precisione.
Yuhan Shi imposta l'array di dispositivi sinaptici per il test. Credito:Università della California - San Diego
Algoritmi di risparmio energetico
Le reti neurali sono una serie di strati collegati di neuroni artificiali, dove l'output di uno strato fornisce l'input al successivo. La forza delle connessioni tra questi strati è rappresentata dai cosiddetti "pesi". L'addestramento di una rete neurale riguarda l'aggiornamento di questi pesi.
Le reti neurali convenzionali spendono molta energia per aggiornare continuamente ognuno di questi pesi. Ma nell'innalzare le reti neurali, solo i pesi che sono legati ai neuroni di picco vengono aggiornati. Ciò significa meno aggiornamenti, il che significa meno potenza di calcolo e tempo.
La rete fa anche quello che viene chiamato apprendimento non supervisionato, il che significa che può essenzialmente allenarsi da solo. Per esempio, se la rete è mostrata una serie di cifre numeriche scritte a mano, scoprirà come distinguere tra zeri, quelli, due, ecc. Un vantaggio è che la rete non ha bisogno di essere addestrata su esempi etichettati, il che significa che non ha bisogno di sentirsi dire che sta vedendo uno zero, uno o due, utile per applicazioni autonome come la navigazione.
Per rendere l'allenamento ancora più veloce ed efficiente dal punto di vista energetico, Il laboratorio di Kuzum ha sviluppato un nuovo algoritmo che hanno soprannominato "soft-pruning" da implementare con la rete neurale spike senza supervisione. La potatura soffice è un metodo che individua i pesi già maturati durante l'allenamento e li imposta poi ad un valore costante diverso da zero. Questo impedisce loro di aggiornarsi per il resto della formazione, che riduce al minimo la potenza di calcolo.
La potatura soffice differisce dai metodi di potatura convenzionali perché viene attuata durante la formazione, piuttosto che dopo. Può anche portare a una maggiore precisione quando una rete neurale mette alla prova il suo addestramento. Normalmente in potatura, i pesi ridondanti o non importanti vengono completamente rimossi. Il rovescio della medaglia è che più pesi poti, meno accurata è la prestazione della rete durante il test. Ma la potatura dolce mantiene questi pesi in un ambiente a bassa energia, quindi sono ancora in giro per aiutare la rete a funzionare con maggiore precisione.
Co-progettazione hardware-software alla prova
Il team ha implementato la rete neurale di picco non supervisionata neuroispirata e l'algoritmo di potatura morbida sull'array di dispositivi sinaptici CBRAM subquantici. Hanno quindi addestrato la rete a classificare le cifre scritte a mano dal database MNIST.
Nei test, la rete classificava le cifre con un'accuratezza del 93% anche quando fino al 75% dei pesi era stato tagliato in modo morbido. In confronto, la rete ha funzionato con una precisione inferiore al 90% quando solo il 40% dei pesi è stato potato utilizzando metodi di potatura convenzionali.
In termini di risparmio energetico, il team stima che il loro approccio di co-progettazione hardware-software di ispirazione neurologica può eventualmente ridurre il consumo di energia durante l'addestramento della rete neurale di due o tre ordini di grandezza rispetto allo stato dell'arte.
"Se confrontiamo il nuovo hardware con altre tecnologie di memoria simili, stimiamo che il nostro dispositivo possa ridurre il consumo energetico da 10 a 100 volte, quindi il nostro algoritmo di co-progettazione lo riduce di altri 10. Nel complesso, possiamo aspettarci un guadagno da cento a mille volte in termini di consumo energetico seguendo il nostro approccio, " disse Kuzum.
Andando avanti, Kuzum e il suo team hanno in programma di lavorare con aziende di tecnologia della memoria per far avanzare questo lavoro alle fasi successive. Il loro obiettivo finale è sviluppare un sistema completo in cui le reti neurali possano essere addestrate in memoria per svolgere compiti più complessi con budget di energia e tempo molto bassi.