Masjienleer-modelle is oral op die oomblik. Gedurende die dag gebruik jy hierdie modelle waarskynlik baie meer as wat jy besef. Masjienleermodelle word gebruik in algemene take soos om op sosiale media te blaai, te fotografeer en die weer na te gaan.
'n Masjienleeralgoritme het dalk hierdie blog vir jou aanbeveel. Ons het almal gehoor hoe tydrowend dit is om hierdie modelle op te lei. Ons het almal gehoor dat opleiding van hierdie modelle tydrowend is.
Om afleidings oor hierdie modelle te doen is egter dikwels rekenaarmatig duur.
Ons benodig rekenaarstelsels wat vinnig genoeg is om die tempo waarteen ons masjienleerdienste gebruik, te hanteer. As gevolg hiervan word die meerderheid van hierdie modelle op massiewe datasentrums met SVE- en GPU-klusters gebruik (selfs TPU's in sommige gevalle).
Wanneer jy 'n foto neem, wil jy machine learning om dit onmiddellik te verbeter. Jy wil nie hoef te wag dat die prent na 'n datasentrum oorgedra, verwerk en aan jou teruggestuur word nie. In hierdie geval moet die masjienleermodel plaaslik uitgevoer word.
Wanneer jy "Hey Siri" of "OK, Google" sê, wil jy hê dat jou toestelle dadelik moet reageer. Wag vir jou stem om na die rekenaars oorgedra te word, waar dit geëvalueer en data verkry sal word.
Dit neem tyd en het 'n nadelige uitwerking op die gebruikerservaring. In hierdie geval wil u hê dat die masjienleermodel ook plaaslik moet werk. Dit is waar TinyML inkom.
In hierdie pos gaan ons kyk na TinyML, hoe dit werk, die gebruike daarvan, hoe om daarmee te begin, en nog baie meer.
Wat is TinyML?
TinyML is 'n toonaangewende dissipline wat die revolusionêre potensiaal van masjienleer toepas op die werkverrigting en kraglimiete van klein toestelle en ingebedde stelsels.
Suksesvolle ontplooiing in hierdie bedryf vereis 'n deeglike begrip van toepassings, algoritmes, hardeware en sagteware. Dit is 'n masjienleer-subgenre wat diepleer- en masjienleermodelle gebruik in ingebedde stelsels wat mikrobeheerders, digitale seinverwerkers of ander ultra-laekrag gespesialiseerde verwerkers gebruik.
TinyML-geaktiveerde ingebedde toestelle is bedoel om 'n masjienleeralgoritme vir 'n spesifieke werk te laat loop, tipies as deel van die toestel se rand rekenaar.
Om vir weke, maande of selfs jare te werk sonder om te herlaai of battery te vervang, moet hierdie ingeboude stelsels 'n kragverbruik van minder as 1 mW hê.
Hoe werk dit?
Die enigste masjienleerraamwerk wat met mikrobeheerders en rekenaars gebruik kan word, is Tensor Flow Lite. Dit is 'n stel nutsgoed waarmee ontwikkelaars hul modelle op mobiele, ingebedde en randtoestelle kan laat loop, wat masjienleer in die lug moontlik maak.
Die koppelvlak van die mikrobeheerder word gebruik om data van sensors (soos mikrofone, kameras of ingebedde sensors) in te samel.
Voordat dit na die mikrobeheerder gestuur word, word die data in 'n wolkgebaseerde masjienleermodel geïnkorporeer. Groepopleiding in vanlyn af word algemeen gebruik om hierdie modelle op te lei. Die sensordata waarvoor gebruik gaan word leer en afleiding is reeds vir die spesifieke toepassing bepaal.
As die model opgelei word om byvoorbeeld 'n wakker woord op te spoor, is dit reeds opgestel om 'n deurlopende oudiostroom vanaf 'n mikrofoon te hanteer.
Alles word reeds gedoen met behulp van 'n wolkplatform soos Google Colab in die geval van TensorFlow Lite, insluitend datastelkeuse, normalisering, onder- of oorpas van die model, regularisering, datavergroting, opleiding, validering en toetsing.
'n Ten volle opgeleide model word uiteindelik getransformeer en na die mikrobeheerder, mikrorekenaar of digitale seinverwerker oorgedra na vanlyn groepopleiding. Die model het geen bykomende opleiding nadat dit na 'n ingebedde toestel geskuif is nie. In plaas daarvan gebruik dit slegs intydse data van sensors of invoertoestelle om die model toe te pas.
Gevolglik moet 'n TinyML-masjienleermodel buitengewoon duursaam wees en in staat wees om na jare of nooit heropgelei te word nie. Alle moontlike modelonder- en oorpasmaak moet ondersoek word sodat die model vir 'n lang tydperk relevant bly, ideaal vir 'n onbepaalde tyd.
Maar hoekom gebruik TinyML?
TinyML het begin as 'n poging om die IoT se afhanklikheid van wolkdienste vir basiese kleinskaalse uit te skakel of te verminder machine learning bedrywighede. Dit het die gebruik van masjienleermodelle op die randtoestelle self genoodsaak. Dit bied die volgende groot voordele:
- Lae krag verbruik: 'n TinyML-toepassing moet verkieslik minder as 1 milliWatt krag benut. Met so 'n lae kragverbruik kan 'n toestel vir maande of jare voortgaan om gevolgtrekkings uit sensordata te maak, selfs al word dit deur 'n muntbattery aangedryf.
- Laer koste: Dit is ontwerp om op laekoste 32-bis mikrobeheerders of DSP's te werk. Hierdie mikrobeheerders is tipies 'n paar sent elk, en die totale ingebedde stelsel wat daarmee ontwikkel is, is minder as $50. Dit is 'n baie koste-effektiewe opsie om klein masjienleerprogramme op groot skaal uit te voer, en dit is veral voordelig in IoT-toepassings waar masjienleer toegepas moet word.
- Laer Latency: Sy toepassings het 'n lae latensie aangesien hulle nie data oor die netwerk hoef te vervoer of uit te ruil nie. Alle sensordata word plaaslik aangeteken, en gevolgtrekkings word gemaak met behulp van 'n model wat reeds opgelei is. Die resultate van afleidings kan na 'n bediener of wolk gestuur word vir aantekening of bykomende verwerking, hoewel dit nie noodsaaklik is vir die toestel om te werk nie. Dit verminder netwerkvertraging en skakel die behoefte uit dat masjienleerbewerkings op 'n wolk of bediener uitgevoer moet word.
- privaatheid: Dit is 'n groot bekommernis op die internet en met die internet van dinge. Die masjienleerwerk in TinyML-toepassings word plaaslik uitgevoer, sonder om sensor-/gebruikerdata na 'n bediener/wolk te stoor of te stuur. As gevolg hiervan, selfs al gekoppel aan 'n netwerk, is hierdie toepassings veilig om te gebruik en hou geen privaatheidsrisiko's in nie.
aansoeke
- Landbou – Wanneer boere neem 'n foto van 'n plant, TensorFlow Lite se toepassing bespeur siektes daarin. Dit werk op enige toestel en vereis nie 'n internetverbinding nie. Die prosedure beskerm landboubelange en is 'n kritieke noodsaaklikheid vir plattelandse boere.
- Meganika Onderhoud – TinyML, wanneer dit op lae-aangedrewe toestelle gebruik word, kan voortdurend foute in 'n masjien identifiseer. Dit behels voorspellingsgebaseerde instandhouding. Ping Services, 'n Australiese beginneronderneming, het 'n IoT-toestel bekendgestel wat windturbines monitor deur homself aan die buitekant van die turbine vas te maak. Dit stel die owerhede in kennis wanneer dit enige moontlike probleem of wanfunksie opspoor.
- Hospitale – Die Solar Scare is 'n projek. Muskiet gebruik TinyML om die verspreiding van siektes soos dengue en malaria te stuit. Dit word aangedryf deur sonkrag en bespeur muskietbroeitoestande voordat dit die water aandui om muskietteling te inhibeer.
- Verkeerstoesig – Deur deur TinyML toe te pas op sensors wat intydse verkeersdata insamel, kan ons dit gebruik om verkeer beter te rig en reaksietye vir noodvoertuie te verminder. Swim.AI, byvoorbeeld, gebruik hierdie tegnologie om data te stroom om passasiersveiligheid te verhoog, terwyl dit ook opeenhoping en emissies verminder deur slim roetes.
- Regte: TinyML kan in wetstoepassing gebruik word om onwettige optrede soos oproer en diefstal te identifiseer deur masjienleer en gebareherkenning te gebruik. 'n Soortgelyke program kan ook gebruik word om bank OTM'e te beveilig. Deur gebruikergedrag dop te hou, kan 'n TinyML-model voorspel of die gebruiker 'n regte verbruiker is wat 'n transaksie voltooi of 'n indringer wat probeer om die OTM te kap of te vernietig.
Hoe om met TinyML te begin?
Om met TinyML in TensorFlow Lite te begin, het jy 'n versoenbare mikrobeheerderbord nodig. TensorFlow Lite vir mikrobeheerders ondersteun die mikrobeheerders wat hieronder gelys word.
- Wio-terminaal: ATSAMD51
- Himax WE-I Plus EVB Endpoint AI Development Board
- STM32F746 Discovery kit
- Adafruit EdgeBadge
- Synopsys DesignWare ARC EM sagteware-ontwikkelingsplatform
- Sony Express
- Arduino Nano 33 BLE Sense
- SparkFun Edge
- Adafruit TensorFlow Lite vir mikrobeheerders-stel
- Adafruit Circuit Playground Bluefruit
- Espressif ESP32-DevKitC
- Espressif ESP-OOG
Dit is 32-bis mikrobeheerders wat genoeg flitsgeheue, RAM en klokfrekwensie het om 'n masjienleermodel uit te voer. Die borde het ook 'n aantal aan boord sensors wat in staat is om enige ingebedde program uit te voer en masjienleermodelle op die geteikende toepassing toe te pas. Om bou 'n masjienleermodel, sal jy 'n skootrekenaar of rekenaar bykomend tot 'n hardeware-platform nodig hê.
Elke hardewareplatform het sy eie programmeringsinstrumente vir die bou, opleiding en oordrag van masjienleermodelle, wat die TensorFlow Lite for Microcontrollers-pakket gebruik. TensorFlow Lite is gratis om te gebruik en te verander, want dit is open source.
Om met TinyML en TensorFlow Lite te begin, is al wat jy nodig het een van die bogenoemde ingeboude hardeware-platforms, 'n rekenaar/skootrekenaar, 'n USB-kabel, 'n USB-na-reeks-omskakelaar – en die begeerte om masjienleer met ingebedde stelsels te oefen .
Uitdagings
Selfs al het TinyML se vordering baie positiewe resultate opgelewer, konfronteer die masjienleerbedryf steeds aansienlike struikelblokke.
- Sagteware diversiteit – Handkodering, kodegenerering en ML-tolke is almal opsies om modelle op TinyML-toestelle te ontplooi, en elkeen neem 'n ander hoeveelheid tyd en moeite. Verskillende prestasies kan as gevolg hiervan ontstaan.
- Hardeware diversiteit - Daar is verskeie hardeware-opsies beskikbaar. TinyML-platforms kan enigiets wees van algemene-doel mikrobeheerders tot die nuutste neurale verwerkers. Dit veroorsaak probleme met modelontplooiing oor verskillende argitekture.
- Foutsporing/ontfouting – Wanneer 'n ML-model vaar swak op die wolk, dit is maklik om na die data te kyk en uit te vind wat verkeerd gaan. Wanneer 'n model oor duisende TinyML-toestelle versprei word, met geen datastroom wat na die wolk terugkeer nie, word ontfouting moeilik en kan dit 'n ander metode noodsaak.
- Geheuebeperkings – Tradisioneel platforms, soos slimfone en skootrekenaars, benodig gigagrepe RAM, terwyl TinyML-toestelle kilogrepe of megagrepe gebruik. Gevolglik is die grootte van die model wat ontplooi mag word beperk.
- Model opleiding – Alhoewel daar is verskeie voordele verbonde aan die ontplooiing van ML-modelle op TinyML-toestelle, die meeste ML-modelle word steeds op die wolk opgelei om modelakkuraatheid te herhaal en voortdurend te verbeter.
toekomstige
TinyML, met sy klein voetspoor, lae batteryverbruik en gebrek aan of beperkte afhanklikheid van internetverbinding, het enorme potensiaal in die toekoms, aangesien die meerderheid smal kunsmatige intelligensie sal op randtoestelle of onafhanklike ingeboude toestelle geïmplementeer word.
Dit sal IoT-toepassings meer privaat en veilig maak deur dit te benut. Alhoewel TensorFlow Lite is tans die enigste masjienleerraamwerk vir mikrobeheerders en mikrorekenaars, ander vergelykbare raamwerke soos sensor en ARM se CMSIS-NN is in die werke.
Alhoewel TensorFlow Lite 'n oopbronprojek is wat aan die gang is wat 'n uitstekende begin het met Google se span, het dit steeds gemeenskapsondersteuning nodig om in die hoofstroom te kom.
Gevolgtrekking
TinyML is 'n nuwe benadering wat ingebedde stelsels met masjienleer kombineer. Aangesien die smal KI pieke in baie vertikale en domeine bereik, kan die tegnologie na vore kom as 'n prominente subveld in masjienleer en kunsmatige intelligensie.
Dit bied 'n oplossing vir talle uitdagings wat die IoT-sektor en professionele persone wat masjienleer toepas op baie domeinspesifieke dissiplines nou in die gesig staar.
Die konsep van die gebruik van masjienleer by rand toestelle met 'n klein rekenaar voetspoor en kragverbruik het die potensiaal om aansienlik te transformeer hoe ingebedde stelsels en robotika gebou word.
Lewer Kommentaar