Wetenschap
Onderzoekers testten hun raamwerk door een computervisiemodel te trainen om mensen in afbeeldingen te detecteren. Na slechts 10 minuten training leerde het de taak met succes te voltooien. Krediet:Ji Lin et al
Microcontrollers, miniatuurcomputers die eenvoudige opdrachten kunnen uitvoeren, vormen de basis voor miljarden verbonden apparaten, van internet-of-things (IoT)-apparaten tot sensoren in auto's. Maar goedkope microcontrollers met een laag vermogen hebben een extreem beperkt geheugen en geen besturingssysteem, waardoor het een uitdaging is om kunstmatige-intelligentiemodellen te trainen op 'edge-apparaten' die onafhankelijk van centrale computerbronnen werken.
Door een machine learning-model op een intelligent edge-apparaat te trainen, kan het zich aanpassen aan nieuwe gegevens en betere voorspellingen doen. Door bijvoorbeeld een model op een slim toetsenbord te trainen, kan het toetsenbord voortdurend leren van het schrijven van de gebruiker. Het trainingsproces vereist echter zoveel geheugen dat het meestal wordt gedaan met behulp van krachtige computers in een datacenter, voordat het model op een apparaat wordt geïmplementeerd. Dit is duurder en brengt privacyproblemen met zich mee, aangezien gebruikersgegevens naar een centrale server moeten worden verzonden.
Om dit probleem aan te pakken, hebben onderzoekers van MIT en het MIT-IBM Watson AI Lab een nieuwe techniek ontwikkeld die training op het apparaat mogelijk maakt met minder dan een kwart megabyte geheugen. Andere trainingsoplossingen die zijn ontworpen voor aangesloten apparaten, kunnen meer dan 500 megabyte geheugen gebruiken, wat de capaciteit van 256 kilobyte van de meeste microcontrollers ruimschoots overschrijdt (er zit 1.024 kilobyte in één megabyte).
De intelligente algoritmen en het raamwerk dat de onderzoekers ontwikkelden, verminderen de hoeveelheid rekenwerk die nodig is om een model te trainen, waardoor het proces sneller en geheugenefficiënter wordt. Hun techniek kan worden gebruikt om binnen enkele minuten een machine learning-model op een microcontroller te trainen.
Deze techniek beschermt ook de privacy door gegevens op het apparaat te bewaren, wat vooral handig kan zijn wanneer gegevens gevoelig zijn, zoals in medische toepassingen. Het kan ook het aanpassen van een model mogelijk maken op basis van de behoeften van gebruikers. Bovendien behoudt of verbetert het raamwerk de nauwkeurigheid van het model in vergelijking met andere trainingsbenaderingen.
"Onze studie stelt IoT-apparaten in staat om niet alleen gevolgtrekkingen uit te voeren, maar ook om de AI-modellen continu bij te werken naar nieuw verzamelde gegevens, wat de weg vrijmaakt voor levenslang leren op het apparaat. Het lage gebruik van hulpbronnen maakt deep learning toegankelijker en kan een groter bereik hebben, vooral voor low-power edge-apparaten", zegt Song Han, universitair hoofddocent bij de afdeling Electrical Engineering and Computer Science (EECS), een lid van het MIT-IBM Watson AI Lab, en senior auteur van het artikel waarin deze innovatie wordt beschreven.
Naast Han op het papier zijn co-lead auteurs en EECS Ph.D. studenten Ji Lin en Ligeng Zhu, evenals MIT-postdocs Wei-Ming Chen en Wei-Chen Wang, en Chuang Gan, een hoofdonderzoeksmedewerker bij het MIT-IBM Watson AI Lab. Het onderzoek zal worden gepresenteerd op de conferentie over neurale informatieverwerkingssystemen.
Han en zijn team hadden eerder als onderdeel van hun TinyML-initiatief de geheugen- en rekenknelpunten aangepakt die bestaan bij het uitvoeren van machine learning-modellen op kleine edge-apparaten.
Lichtgewicht training
Een veelvoorkomend type machine learning-model staat bekend als een neuraal netwerk. Deze modellen zijn losjes gebaseerd op het menselijk brein en bevatten lagen onderling verbonden knooppunten, of neuronen, die gegevens verwerken om een taak te voltooien, zoals het herkennen van mensen op foto's. Het model moet eerst worden getraind, wat inhoudt dat het miljoenen voorbeelden moet worden getoond, zodat het de taak kan leren. Naarmate het leert, verhoogt of verlaagt het model de sterkte van de verbindingen tussen neuronen, die bekend staan als gewichten.
Het model kan honderden updates ondergaan terwijl het leert, en de tussentijdse activeringen moeten tijdens elke ronde worden opgeslagen. In een neuraal netwerk is activering het tussenresultaat van de middelste laag. Omdat er miljoenen gewichten en activeringen kunnen zijn, vereist het trainen van een model veel meer geheugen dan het uitvoeren van een vooraf getraind model, legt Han uit.
Han en zijn medewerkers gebruikten twee algoritmische oplossingen om het trainingsproces efficiënter en minder geheugenintensief te maken. De eerste, ook wel sparse update genoemd, gebruikt een algoritme dat de belangrijkste gewichten identificeert die bij elke trainingsronde moeten worden bijgewerkt. Het algoritme begint de gewichten één voor één te bevriezen totdat de nauwkeurigheid daalt tot een ingestelde drempel, waarna het stopt. De resterende gewichten worden bijgewerkt, terwijl de activeringen die overeenkomen met de bevroren gewichten niet in het geheugen hoeven te worden opgeslagen.
"Het updaten van het hele model is erg duur omdat er veel activeringen zijn, dus mensen hebben de neiging om alleen de laatste laag bij te werken, maar zoals je je kunt voorstellen, doet dit afbreuk aan de nauwkeurigheid. Voor onze methode werken we selectief die belangrijke gewichten bij en zorgen ervoor dat de nauwkeurigheid blijft volledig behouden", zegt Han.
Hun tweede oplossing omvat gekwantiseerde training en vereenvoudiging van de gewichten, die doorgaans 32 bits zijn. Een algoritme rondt de gewichten af zodat ze slechts acht bits zijn, via een proces dat bekend staat als kwantisering, waardoor de hoeveelheid geheugen voor zowel training als gevolgtrekking wordt verminderd. Inferentie is het proces van het toepassen van een model op een dataset en het genereren van een voorspelling. Vervolgens past het algoritme een techniek toe die quantization-aware scaling (QAS) wordt genoemd en die fungeert als een vermenigvuldiger om de verhouding tussen gewicht en hellingshoek aan te passen, om te voorkomen dat de nauwkeurigheid afneemt als gevolg van gekwantiseerde training.
De onderzoekers ontwikkelden een systeem, een kleine trainingsengine genaamd, die deze algoritmische innovaties kan uitvoeren op een eenvoudige microcontroller zonder besturingssysteem. Dit systeem verandert de volgorde van de stappen in het trainingsproces, zodat er meer werk wordt verricht in de compilatiefase, voordat het model wordt geïmplementeerd op het edge-apparaat.
"We pushen veel van de berekeningen, zoals automatische differentiatie en grafische optimalisatie, om de tijd te compileren. We snoeien ook agressief de redundante operators om schaarse updates te ondersteunen. Eenmaal tijdens runtime hebben we veel minder werklast op het apparaat." Han legt uit.
Een succesvolle versnelling
Hun optimalisatie vereiste slechts 157 kilobytes geheugen om een machine learning-model op een microcontroller te trainen, terwijl andere technieken die zijn ontworpen voor lichtgewicht training nog steeds tussen de 300 en 600 megabytes nodig zouden hebben.
Ze testten hun raamwerk door een computervisiemodel te trainen om mensen in afbeeldingen te detecteren. Na slechts 10 minuten training leerde het de taak met succes te voltooien. Hun methode was in staat om een model meer dan 20 keer sneller te trainen dan andere benaderingen.
Nu ze het succes van deze technieken voor computervisiemodellen hebben aangetoond, willen de onderzoekers ze toepassen op taalmodellen en verschillende soorten gegevens, zoals tijdreeksgegevens. Tegelijkertijd willen ze wat ze hebben geleerd gebruiken om de grootte van grotere modellen te verkleinen zonder in te boeten aan nauwkeurigheid, wat zou kunnen helpen de ecologische voetafdruk van het trainen van grootschalige machine learning-modellen te verkleinen. + Verder verkennen
Dit verhaal is opnieuw gepubliceerd met dank aan MIT News (web.mit.edu/newsoffice/), een populaire site met nieuws over MIT-onderzoek, innovatie en onderwijs.
Wetenschap © https://nl.scienceaq.com