Et team ledet af UC San Diego har udviklet hardware og algoritmer, der kan reducere energiforbrug og tid, når man træner et neuralt netværk. Kredit:David Baillot/UC San Diego Jacobs School of Engineering
Et team ledet af University of California San Diego har udviklet en neuroinspireret hardware-software co-design tilgang, der kunne gøre neurale netværkstræning mere energieffektiv og hurtigere. Deres arbejde kunne en dag gøre det muligt at træne neurale netværk på enheder med lavt strømforbrug som smartphones, bærbare computere og indlejrede enheder.
Fremskridtet er beskrevet i et papir udgivet for nylig i Naturkommunikation .
Træning af neurale netværk til at udføre opgaver som at genkende objekter, at navigere i selvkørende biler eller spille spil spiser meget computerkraft og tid. Store computere med hundreder til tusinder af processorer er typisk nødvendige for at lære disse opgaver, og træningstider kan tage alt fra uger til måneder.
Det er fordi at udføre disse beregninger involverer overførsel af data frem og tilbage mellem to separate enheder – hukommelsen og processoren – og dette bruger det meste af energien og tiden under træning af neurale netværk, sagde seniorforfatter Duygu Kuzum, en professor i elektro- og computerteknik ved Jacobs School of Engineering ved UC San Diego.
For at løse dette problem, Kuzum og hendes laboratorium gik sammen med Adesto Technologies for at udvikle hardware og algoritmer, der gør det muligt at udføre disse beregninger direkte i hukommelsesenheden, eliminerer behovet for gentagne gange at blande data.
"Vi tackler dette problem fra to ender - enheden og algoritmerne - for at maksimere energieffektiviteten under træning af neurale netværk, " sagde første forfatter Yuhan Shi, en elektroingeniør Ph.D. studerende i Kuzums forskningsgruppe ved UC San Diego.
Hardwarekomponenten er en super energieffektiv type ikke-flygtig hukommelsesteknologi - et 512 kilobit subquantum Conductive Bridging RAM (CBRAM) array. Det bruger 10 til 100 gange mindre energi end nutidens førende hukommelsesteknologier. Enheden er baseret på Adestos CBRAM-hukommelsesteknologi - den er primært blevet brugt som en digital lagerenhed, der kun har '0' og '1' tilstande, men Kuzum og hendes laboratorium viste, at det kan programmeres til at have flere analoge tilstande til at efterligne biologiske synapser i den menneskelige hjerne. Denne såkaldte synaptiske enhed kan bruges til at lave in-memory computing til neurale netværkstræning.
"On-chip hukommelse i konventionelle processorer er meget begrænset, så de har ikke nok kapacitet til at udføre både databehandling og lagring på den samme chip. Men i denne tilgang, vi har et hukommelsesarray med høj kapacitet, der kan udføre beregninger relateret til neurale netværkstræning i hukommelsen uden dataoverførsel til en ekstern processor. Dette vil muliggøre en masse præstationsgevinster og reducere energiforbruget under træning, " sagde Kuzum.
Kuzum, der er tilknyttet Center for Machine-Integrated Computing and Security ved UC San Diego, ledte bestræbelser på at udvikle algoritmer, der nemt kunne kortlægges på denne synaptiske enhedsarray. Algoritmerne gav endnu flere energi- og tidsbesparelser under træning i neurale netværk.
Tilgangen bruger en type energieffektivt neuralt netværk, kaldet et spiking neuralt netværk, til implementering af uovervåget læring i hardwaren. Oven i købet, Kuzums team anvender en anden energibesparende algoritme, de udviklede kaldet "blød beskæring, "hvilket gør træning i neurale netværk meget mere energieffektiv uden at ofre meget med hensyn til nøjagtighed.
Yuhan Shi opsætter det synaptiske enhedsarray til test. Kredit:University of California - San Diego
Energibesparende algoritmer
Neurale netværk er en række forbundne lag af kunstige neuroner, hvor output fra et lag giver input til det næste. Styrken af forbindelserne mellem disse lag er repræsenteret af det, der kaldes "vægte". Træning af et neuralt netværk handler om at opdatere disse vægte.
Konventionelle neurale netværk bruger meget energi på løbende at opdatere hver enkelt af disse vægte. Men i spiking neurale netværk, kun vægte, der er bundet til piggede neuroner, bliver opdateret. Det betyder færre opdateringer, hvilket betyder mindre regnekraft og tid.
Netværket laver også det, der kaldes uovervåget læring, hvilket betyder, at den i det væsentlige kan træne sig selv. For eksempel, hvis netværket vises en række håndskrevne numeriske cifre, det vil finde ud af, hvordan man skelner mellem nuller, dem, toere, osv. En fordel er, at netværket ikke behøver at blive trænet i mærkede eksempler – hvilket betyder, at det ikke behøver at blive fortalt, at det ser et nul, en eller to – hvilket er nyttigt til autonome applikationer som navigation.
For at gøre træningen endnu hurtigere og mere energieffektiv, Kuzums laboratorium udviklede en ny algoritme, som de kaldte "blød beskæring" for at implementere med det uovervågede, spiking neurale netværk. Blød beskæring er en metode, der finder vægte, der allerede er modnet under træning og derefter sætter dem til en konstant værdi, der ikke er nul. Dette forhindrer dem i at blive opdateret i resten af træningen, hvilket minimerer computerkraften.
Blød beskæring adskiller sig fra konventionelle beskæringsmetoder, fordi den implementeres under træning, frem for efter. Det kan også føre til højere nøjagtighed, når et neuralt netværk sætter sin træning på prøve. Normalt ved beskæring, overflødige eller uvigtige vægte fjernes fuldstændigt. Ulempen er jo flere vægte du beskærer, jo mindre nøjagtigt udfører netværket under test. Men blød beskæring holder bare disse vægte i et lavt energimiljø, så de er stadig til stede for at hjælpe netværket med at præstere med højere nøjagtighed.
Hardware-software co-design på prøve
Holdet implementerede det neuroinspirerede uovervågede spiking neurale netværk og den bløde beskæringsalgoritme på subquantum CBRAM synaptic device array. De trænede derefter netværket til at klassificere håndskrevne cifre fra MNIST-databasen.
I test, netværket klassificerede cifre med 93 procents nøjagtighed, selv når op til 75 procent af vægtene var blødt beskåret. Sammenlignet med, netværket udførte med mindre end 90 procents nøjagtighed, når kun 40 procent af vægtene blev beskåret ved hjælp af konventionelle beskæringsmetoder.
Med hensyn til energibesparelser, holdet vurderer, at deres neuroinspirerede hardware-software co-design tilgang i sidste ende kan reducere energiforbruget under neurale netværkstræning med to til tre størrelsesordener sammenlignet med det nyeste.
"Hvis vi benchmarker den nye hardware til andre lignende hukommelsesteknologier, vi vurderer, at vores enhed kan reducere energiforbruget 10 til 100 gange, så reducerer vores algoritme co-design det med yderligere 10. Samlet set, vi kan forvente en gevinst på hundrede til tusind gange i form af energiforbrug efter vores tilgang, " sagde Kuzum.
Bevæger sig fremad, Kuzum og hendes team planlægger at arbejde med hukommelsesteknologivirksomheder for at fremme dette arbejde til de næste stadier. Deres ultimative mål er at udvikle et komplet system, hvor neurale netværk kan trænes i hukommelsen til at udføre mere komplekse opgaver med meget lave strøm- og tidsbudgetter.