• Home
  • Kemi
  • Astronomien
  • Energi
  • Naturen
  • Biologi
  • Fysik
  • Elektronik
  • Ny teknik möjliggör träning på enheten med mindre än en kvarts megabyte minne

    Forskare testade deras ramverk genom att träna en datorseendemodell för att upptäcka människor i bilder. Efter bara 10 minuters träning lärde den sig att slutföra uppgiften framgångsrikt. Kredit:Ji Lin et al

    Mikrokontroller, miniatyrdatorer som kan köra enkla kommandon, är grunden för miljarder anslutna enheter, från internet-of-things (IoT)-enheter till sensorer i bilar. Men billiga mikrokontroller med låg effekt har extremt begränsat minne och inget operativsystem, vilket gör det utmanande att träna artificiell intelligens-modeller på "edge-enheter" som fungerar oberoende av centrala datorresurser.

    Att träna en maskininlärningsmodell på en intelligent edge-enhet gör att den kan anpassa sig till nya data och göra bättre förutsägelser. Att till exempel träna en modell på ett smart tangentbord kan göra det möjligt för tangentbordet att kontinuerligt lära sig av användarens skrivning. Träningsprocessen kräver dock så mycket minne att den vanligtvis görs med hjälp av kraftfulla datorer i ett datacenter, innan modellen distribueras på en enhet. Detta är dyrare och väcker integritetsproblem eftersom användardata måste skickas till en central server.

    För att lösa detta problem har forskare vid MIT och MIT-IBM Watson AI Lab utvecklat en ny teknik som möjliggör träning på enheten med mindre än en kvarts megabyte minne. Andra träningslösningar utformade för anslutna enheter kan använda mer än 500 megabyte minne, vilket kraftigt överstiger kapaciteten på 256 kilobyte för de flesta mikrokontroller (det finns 1 024 kilobyte i en megabyte).

    De intelligenta algoritmerna och ramverket som forskarna utvecklade minskar mängden beräkning som krävs för att träna en modell, vilket gör processen snabbare och mer minneseffektiv. Deras teknik kan användas för att träna en maskininlärningsmodell på en mikrokontroller på några minuter.

    Denna teknik bevarar också integriteten genom att behålla data på enheten, vilket kan vara särskilt fördelaktigt när data är känsliga, till exempel i medicinska tillämpningar. Det kan också möjliggöra anpassning av en modell baserad på användarnas behov. Dessutom bevarar eller förbättrar ramverket modellens noggrannhet jämfört med andra träningsmetoder.

    "Vår studie gör det möjligt för IoT-enheter att inte bara utföra slutledning utan också kontinuerligt uppdatera AI-modellerna till nyinsamlad data, vilket banar väg för livslångt lärande på enheten. Det låga resursutnyttjandet gör djupinlärning mer tillgänglig och kan ha en bredare räckvidd, särskilt för enheter med låg effekt, säger Song Han, docent vid institutionen för elektroteknik och datavetenskap (EECS), medlem av MIT-IBM Watson AI Lab och senior författare till artikeln som beskriver denna innovation.

    Tillsammans med Han på uppsatsen är co-lead författare och EECS Ph.D. studenterna Ji Lin och Ligeng Zhu, samt MIT postdocs Wei-Ming Chen och Wei-Chen Wang, och Chuang Gan, en av de främsta forskningsmedarbetarna vid MIT-IBM Watson AI Lab. Forskningen kommer att presenteras vid Conference on Neural Information Processing Systems.

    Han och hans team hade tidigare tagit itu med minnes- och beräkningsflaskhalsarna som finns när de försöker köra maskininlärningsmodeller på små kantenheter, som en del av deras TinyML-initiativ.

    Lättviktsträning

    En vanlig typ av maskininlärningsmodell kallas ett neuralt nätverk. Löst baserade på den mänskliga hjärnan innehåller dessa modeller lager av sammankopplade noder, eller neuroner, som bearbetar data för att slutföra en uppgift, som att känna igen människor på foton. Modellen måste tränas först, vilket innebär att visa den miljontals exempel så att den kan lära sig uppgiften. När den lär sig ökar eller minskar modellen styrkan hos kopplingarna mellan neuroner, som kallas vikter.

    Modellen kan genomgå hundratals uppdateringar allt eftersom den lär sig, och mellanaktiveringarna måste lagras under varje omgång. I ett neuralt nätverk är aktivering mellanskiktets mellanresultat. Eftersom det kan finnas miljontals vikter och aktiveringar kräver träning av en modell mycket mer minne än att köra en förtränad modell, förklarar Han.

    Han och hans medarbetare använde två algoritmiska lösningar för att göra träningsprocessen mer effektiv och mindre minneskrävande. Den första, känd som sparse update, använder en algoritm som identifierar de viktigaste vikterna att uppdatera vid varje träningsomgång. Algoritmen börjar frysa vikterna en i taget tills den ser att noggrannheten faller till en inställd tröskel, sedan stannar den. De återstående vikterna uppdateras, medan aktiveringarna som motsvarar de frysta vikterna inte behöver lagras i minnet.

    "Att uppdatera hela modellen är väldigt dyrt eftersom det finns många aktiveringar, så folk tenderar att bara uppdatera det sista lagret, men som du kan föreställa dig skadar detta noggrannheten. För vår metod uppdaterar vi selektivt de viktiga vikterna och ser till att noggrannheten är helt bevarad", säger Han.

    Deras andra lösning innebär kvantifierad träning och förenkling av vikterna, som vanligtvis är 32 bitar. En algoritm rundar av vikterna så att de bara är åtta bitar, genom en process som kallas kvantisering, som minskar mängden minne för både träning och slutledning. Inferens är processen att applicera en modell på en datauppsättning och generera en förutsägelse. Sedan tillämpar algoritmen en teknik som kallas quantization-aware scaling (QAS), som fungerar som en multiplikator för att justera förhållandet mellan vikt och gradient, för att undvika fall i noggrannhet som kan komma från kvantiserad träning.

    Forskarna utvecklade ett system, kallat en liten träningsmotor, som kan köra dessa algoritmiska innovationer på en enkel mikrokontroller som saknar ett operativsystem. Det här systemet ändrar ordningen på stegen i utbildningsprocessen så att mer arbete slutförs i kompileringsstadiet, innan modellen distribueras på edge-enheten.

    "Vi pressar mycket av beräkningen, som automatisk differentiering och grafoptimering, för att kompilera tid. Vi beskär också aggressivt de redundanta operatörerna för att stödja glesa uppdateringar. Väl vid körningen har vi mycket mindre arbetsbelastning att göra på enheten." Han förklarar.

    En lyckad hastighetsökning

    Deras optimering krävde bara 157 kilobyte minne för att träna en maskininlärningsmodell på en mikrokontroller, medan andra tekniker utformade för lättviktsträning fortfarande skulle behöva mellan 300 och 600 megabyte.

    De testade sitt ramverk genom att träna en datorseendemodell för att upptäcka människor i bilder. Efter bara 10 minuters träning lärde den sig att slutföra uppgiften framgångsrikt. Deras metod kunde träna en modell mer än 20 gånger snabbare än andra metoder.

    Nu när de har visat framgången med dessa tekniker för datorseendemodeller vill forskarna tillämpa dem på språkmodeller och olika typer av data, till exempel tidsseriedata. Samtidigt vill de använda det de har lärt sig för att krympa storleken på större modeller utan att offra noggrannheten, vilket kan bidra till att minska koldioxidavtrycket för att träna storskaliga maskininlärningsmodeller. + Utforska vidare

    Samverkande maskininlärning som bevarar integriteten

    Denna berättelse är återpublicerad med tillstånd av MIT News (web.mit.edu/newsoffice/), en populär webbplats som täcker nyheter om MIT-forskning, innovation och undervisning.




    © Vetenskap https://sv.scienceaq.com