Wetenschap
Een door UC San Diego geleid team heeft hardware en algoritmen ontwikkeld die het energieverbruik en de tijd kunnen verminderen bij het trainen van een neuraal netwerk. Krediet:David Baillot / UC San Diego Jacobs School of Engineering
Een team onder leiding van de University of California San Diego heeft een neuro-geïnspireerde hardware-software co-design-aanpak ontwikkeld die neurale netwerktraining energie-efficiënter en sneller zou kunnen maken. Hun werk zou het ooit mogelijk kunnen maken om neurale netwerken te trainen op apparaten met een laag vermogen, zoals smartphones, laptops en embedded apparaten.
Het voorschot wordt beschreven in een paper dat onlangs is gepubliceerd in Natuurcommunicatie .
Neurale netwerken trainen om taken uit te voeren zoals objecten herkennen, navigeren in zelfrijdende auto's of gamen kost veel rekenkracht en tijd. Grote computers met honderden tot duizenden processors zijn doorgaans nodig om deze taken te leren, en de trainingstijden kunnen weken tot maanden duren.
Dat komt omdat het uitvoeren van deze berekeningen inhoudt dat gegevens heen en weer worden overgedragen tussen twee afzonderlijke eenheden - het geheugen en de processor - en dit verbruikt het grootste deel van de energie en tijd tijdens neurale netwerktraining. zei senior auteur Duygu Kuzum, een professor in elektrische en computertechniek aan de Jacobs School of Engineering aan de UC San Diego.
Om dit probleem aan te pakken, Kuzum en haar lab werkten samen met Adesto Technologies om hardware en algoritmen te ontwikkelen waarmee deze berekeningen direct in de geheugeneenheid kunnen worden uitgevoerd. waardoor het niet meer nodig is om gegevens herhaaldelijk te shufflen.
"We pakken dit probleem van twee kanten aan - het apparaat en de algoritmen - om de energie-efficiëntie te maximaliseren tijdens neurale netwerktraining, " zei eerste auteur Yuhan Shi, een elektrotechniek Ph.D. student in Kuzum's onderzoeksgroep aan UC San Diego.
De hardwarecomponent is een superenergie-efficiënt type niet-vluchtige geheugentechnologie:een 512 kilobit subquantum Conductive Bridging RAM (CBRAM)-array. Het verbruikt 10 tot 100 keer minder energie dan de huidige toonaangevende geheugentechnologieën. Het apparaat is gebaseerd op Adesto's CBRAM-geheugentechnologie - het is voornamelijk gebruikt als een digitaal opslagapparaat dat alleen de status '0' en '1' heeft, maar Kuzum en haar lab toonden aan dat het kan worden geprogrammeerd om meerdere analoge toestanden te hebben om biologische synapsen in het menselijk brein na te bootsen. Dit zogenaamde synaptische apparaat kan worden gebruikt om in-memory computing te doen voor neurale netwerktraining.
"On-chip geheugen in conventionele processors is zeer beperkt, dus ze hebben niet genoeg capaciteit om zowel computergebruik als opslag op dezelfde chip uit te voeren. Maar in deze benadering we hebben een geheugenarray met hoge capaciteit die berekeningen kan uitvoeren met betrekking tot neurale netwerktraining in het geheugen zonder gegevensoverdracht naar een externe processor. Dit zal veel prestatiewinst opleveren en het energieverbruik tijdens de training verminderen, ' zei Kuzum.
Kuzum, die is aangesloten bij het Center for Machine-Integrated Computing and Security aan de UC San Diego, leidde inspanningen om algoritmen te ontwikkelen die gemakkelijk op deze synaptische apparaatarray kunnen worden toegewezen. De algoritmen zorgden voor nog meer energie- en tijdwinst tijdens de training van neurale netwerken.
De aanpak maakt gebruik van een soort energie-efficiënt neuraal netwerk, een spiking neuraal netwerk genoemd, voor het implementeren van unsupervised learning in de hardware. Daarbovenop, Het team van Kuzum past een ander energiebesparend algoritme toe dat ze hebben ontwikkeld, genaamd "soft-pruning, " wat neurale netwerktraining veel energiezuiniger maakt zonder veel in te leveren op het gebied van nauwkeurigheid.
Yuhan Shi stelt de synaptische apparaatarray op om te testen. Krediet:Universiteit van Californië - San Diego
Energiebesparende algoritmen
Neurale netwerken zijn een reeks verbonden lagen van kunstmatige neuronen, waarbij de uitvoer van de ene laag de invoer voor de volgende levert. De sterkte van de verbindingen tussen deze lagen wordt weergegeven door zogenaamde "gewichten". Het trainen van een neuraal netwerk houdt zich bezig met het bijwerken van deze gewichten.
Conventionele neurale netwerken besteden veel energie om elk van deze gewichten continu bij te werken. Maar bij het versterken van neurale netwerken, alleen gewichten die zijn gekoppeld aan stekelige neuronen worden bijgewerkt. Dit betekent minder updates, wat minder rekenkracht en tijd betekent.
Het netwerk doet ook wat men unsupervised learning noemt, wat betekent dat het zichzelf in wezen kan trainen. Bijvoorbeeld, als het netwerk een reeks handgeschreven numerieke cijfers te zien krijgt, het zal uitzoeken hoe onderscheid te maken tussen nullen, degenen, tweeën, enz. Een voordeel is dat het netwerk niet hoeft te worden getraind op gelabelde voorbeelden - wat betekent dat het niet hoeft te worden verteld dat het een nul ziet, één of twee, wat handig is voor autonome toepassingen zoals navigatie.
Om de training nog sneller en energiezuiniger te maken, Het laboratorium van Kuzum ontwikkelde een nieuw algoritme dat ze "soft-pruning" noemden om te implementeren met het onbewaakte neurale netwerk met spikes. Soft-pruning is een methode die gewichten vindt die tijdens de training al zijn gerijpt en deze vervolgens op een constante waarde niet-nul stelt. Dit voorkomt dat ze worden bijgewerkt voor de rest van de training, wat de rekenkracht minimaliseert.
Zacht snoeien verschilt van conventionele snoeimethoden omdat het tijdens de training wordt toegepast, in plaats van erna. Het kan ook leiden tot een hogere nauwkeurigheid wanneer een neuraal netwerk zijn training op de proef stelt. Normaal gesproken bij het snoeien, overbodige of onbelangrijke gewichten worden volledig verwijderd. Het nadeel is dat hoe meer gewichten je snoeit, hoe minder nauwkeurig het netwerk presteert tijdens het testen. Maar zacht snoeien houdt deze gewichten gewoon in een lage energiestand, dus ze zijn er nog steeds om het netwerk te helpen met hogere nauwkeurigheid te presteren.
Hardware-software co-design op de proef
Het team implementeerde het neuro-geïnspireerde, onbewaakte neurale netwerk en het soft-pruning-algoritme op de subkwantum CBRAM synaptische apparaatarray. Vervolgens hebben ze het netwerk getraind om handgeschreven cijfers uit de MNIST-database te classificeren.
Bij testen, het netwerk classificeerde cijfers met een nauwkeurigheid van 93 procent, zelfs wanneer tot 75 procent van de gewichten zacht waren gesnoeid. In vergelijking, het netwerk presteerde met een nauwkeurigheid van minder dan 90 procent toen slechts 40 procent van de gewichten werd gesnoeid met behulp van conventionele snoeimethoden.
Op het gebied van energiebesparing, het team schat dat hun neuro-geïnspireerde hardware-software co-design-aanpak uiteindelijk het energieverbruik tijdens neurale netwerktraining met twee tot drie ordes van grootte kan verminderen in vergelijking met de stand van de techniek.
"Als we de nieuwe hardware vergelijken met andere vergelijkbare geheugentechnologieën, we schatten dat ons apparaat het energieverbruik 10 tot 100 keer kan verminderen, dan snijdt ons co-ontwerp van het algoritme dat met nog eens 10. Al met al, we kunnen volgens onze aanpak een honderd- tot duizendvoudige winst verwachten in termen van energieverbruik, ' zei Kuzum.
Vooruit gaan, Kuzum en haar team zijn van plan om samen te werken met geheugentechnologiebedrijven om dit werk naar de volgende fasen te brengen. Hun uiteindelijke doel is om een compleet systeem te ontwikkelen waarin neurale netwerken in het geheugen kunnen worden getraind om complexere taken uit te voeren met een zeer laag energie- en tijdbudget.
Wetenschap © https://nl.scienceaq.com