Ett UC San Diego-ledt team har utvecklat hårdvara och algoritmer som kan minska energianvändning och tid när man tränar ett neuralt nätverk. Upphovsman:David Baillot/UC San Diego Jacobs School of Engineering
Ett team som leds av University of California San Diego har utvecklat en neuroinspirerad hårdvaru-programvara för co-design som kan göra neuralt nätverksträning mer energieffektiv och snabbare. Deras arbete kan en dag göra det möjligt att träna neurala nätverk på enheter med låg effekt, till exempel smartphones, bärbara datorer och inbyggda enheter.
Framstegen beskrivs i en artikel som nyligen publicerades i Naturkommunikation .
Träna neurala nätverk för att utföra uppgifter som att känna igen objekt, navigera självkörande bilar eller spela spel äter mycket datorkraft och tid. Stora datorer med hundratals till tusentals processorer krävs vanligtvis för att lära sig dessa uppgifter, och träningstider kan ta allt från veckor till månader.
Det beror på att dessa beräkningar innebär överföring av data fram och tillbaka mellan två separata enheter - minnet och processorn - och detta förbrukar det mesta av energi och tid under neuralt nätverksträning, sa seniorförfattaren Duygu Kuzum, professor i el- och datateknik vid Jacobs School of Engineering vid UC San Diego.
För att lösa detta problem, Kuzum och hennes labb samarbetade med Adesto Technologies för att utveckla hårdvara och algoritmer som gör att dessa beräkningar kan utföras direkt i minnesenheten, vilket eliminerar behovet av att blanda data upprepade gånger.
"Vi tar itu med detta problem från två ändar - enheten och algoritmerna - för att maximera energieffektiviteten under neuralt nätverksträning, "sa författaren Yuhan Shi, en elteknik Ph.D. student i Kuzums forskargrupp vid UC San Diego.
Hårdvarukomponenten är en super energieffektiv typ av icke-flyktig minneteknik-en 512 kilobit subquantum Conductive Bridging RAM (CBRAM) array. Den förbrukar 10 till 100 gånger mindre energi än dagens ledande minnesteknik. Enheten är baserad på Adestos CBRAM -minnesteknik - den har främst använts som en digital lagringsenhet som bara har '0' och '1' -tillstånd, men Kuzum och hennes labb visade att det kan programmeras att ha flera analoga tillstånd för att efterlikna biologiska synapser i den mänskliga hjärnan. Denna så kallade synaptiska enhet kan användas för att göra datorminne i minnet för utbildning i neurala nätverk.
"On-chip-minne i konventionella processorer är mycket begränsat, så de har inte tillräckligt med kapacitet för att utföra både datorer och lagring på samma chip. Men i detta tillvägagångssätt, vi har en minnesmatris med hög kapacitet som kan göra beräkningar relaterade till neuralt nätverksträning i minnet utan dataöverföring till en extern processor. Detta kommer att möjliggöra många prestandavinster och minska energiförbrukningen under träning, sa Kuzum.
Kuzum, som är ansluten till Center for Machine-Integrated Computing and Security vid UC San Diego, ledde ansträngningar för att utveckla algoritmer som enkelt kunde mappas på denna synaptiska enhetsmatris. Algoritmerna gav ännu mer energi och tidsbesparingar under träning av neurala nätverk.
Metoden använder en typ av energieffektivt neuralt nätverk, kallas ett piggt neuralt nätverk, för implementering av oövervakat lärande i hårdvaran. Dessutom, Kuzums team tillämpar en annan energibesparande algoritm som de utvecklat som kallas "mjuk beskärning, "vilket gör neuralt nätverksträning mycket mer energieffektiv utan att offra mycket när det gäller noggrannhet.
Yuhan Shi sätter upp den synaptiska enhetsmatrisen för testning. Upphovsman:University of California - San Diego
Energibesparande algoritmer
Neurala nätverk är en serie anslutna lager av artificiella neuroner, där utmatningen från ett lager ger ingången till nästa. Styrkan i förbindelserna mellan dessa lager representeras av det som kallas "vikter". Att träna ett neuralt nätverk handlar om att uppdatera dessa vikter.
Konventionella neurala nätverk lägger mycket energi på att kontinuerligt uppdatera var och en av dessa vikter. Men i spikande neurala nätverk, bara vikter som är knutna till spikande neuroner uppdateras. Det betyder färre uppdateringar, vilket innebär mindre beräkningskraft och tid.
Nätverket gör också det som kallas oövervakat lärande, vilket betyder att den i huvudsak kan träna sig själv. Till exempel, om nätverket visas en serie handskrivna numeriska siffror, det kommer att ta reda på hur man skiljer mellan nollor, sådana, tvåor, etc. En fördel är att nätverket inte behöver utbildas i märkta exempel - vilket betyder att det inte behöver sägas att det ser noll, en eller två - vilket är användbart för autonoma applikationer som navigering.
För att göra träningen ännu snabbare och mer energieffektiv, Kuzums laboratorium utvecklade en ny algoritm som de kallade "mjuk beskärning" för att implementera med det oövervakade spiknaurala nätverket. Mjuk beskärning är en metod som hittar vikter som redan har mognat under träningen och sedan sätter dem till ett konstant värde utan noll. Detta hindrar dem från att bli uppdaterade under resten av utbildningen, vilket minimerar datorkraften.
Mjuk beskärning skiljer sig från konventionella beskärningsmetoder eftersom den implementeras under träning, snarare än efter. Det kan också leda till högre noggrannhet när ett neuralt nätverk sätter sin träning på prov. Normalt vid beskärning, överflödiga eller oviktiga vikter tas bort helt. Nackdelen är ju fler vikter du beskär, ju mindre exakt nätverket utför under testning. Men mjuk beskärning håller bara dessa vikter i en miljö med låg energi, så de finns fortfarande kvar för att hjälpa nätverket att prestera med högre noggrannhet.
Hårdvara-programvara samdesign till testet
Teamet implementerade det neuroinspirerade oövervakade spikande neurala nätverket och mjukbeskärningsalgoritmen på subquantum CBRAM synaptic device array. De utbildade sedan nätverket för att klassificera handskrivna siffror från MNIST -databasen.
I tester, nätverket klassificerade siffror med 93 procents noggrannhet även när upp till 75 procent av vikterna var mjuka beskurna. I jämförelse, nätverket presterade med mindre än 90 procents noggrannhet när endast 40 procent av vikterna beskärades med konventionella beskärningsmetoder.
När det gäller energibesparingar, laget uppskattar att deras neuroinspirerade hårdvaru-mjukvarusamdesignmetod så småningom kan minska energianvändningen under neurala nätverksträning med två till tre storleksordningar jämfört med teknikens ståndpunkt.
"Om vi jämför den nya hårdvaran med andra liknande minnstekniker, vi uppskattar att vår enhet kan minska energiförbrukningen 10 till 100 gånger, då min algoritm samdesignar det med ytterligare 10. Totalt sett vi kan förvänta oss en vinst på hundra till tusen gånger när det gäller energiförbrukning efter vårt tillvägagångssätt, sa Kuzum.
Går vidare, Kuzum och hennes team planerar att arbeta med minneteknikföretag för att avancera detta arbete till nästa steg. Deras slutliga mål är att utveckla ett komplett system där neurala nätverk kan tränas i minne för att utföra mer komplexa uppgifter med mycket låg effekt och tidsbudgetar.