Table of Contents[Ferstopje][Toanje]
Machine Learning-modellen binne op it stuit oeral. Oerdei brûke jo dizze modellen wierskynlik folle mear dan jo realisearje. Masine-learmodellen wurde brûkt yn mienskiplike taken lykas blêdzjen op sosjale media, fotografearje en kontrolearje fan it waar.
In masine-learen-algoritme hat dit blog miskien oan jo oanrikkemandearre. Wy hawwe allegear heard oer hoe tiidslinend it is om dizze modellen te trainen. Wy hawwe allegear heard dat training fan dizze modellen tiidslinend is.
It dwaan fan konklúzjes oer dizze modellen is lykwols faak berekkene kostber.
Wy hawwe kompjûtersystemen nedich dy't rap genôch binne om it taryf te behanneljen wêrmei't wy tsjinsten foar masinelearen brûke. As resultaat wurdt de mearderheid fan dizze modellen útfierd op massive datasintra mei CPU- en GPU-klusters (sels TPU's yn guon gefallen).
As jo in foto meitsje, wolle jo masine learen om it daliks te ferbetterjen. Jo wolle net hoege te wachtsjen oant de ôfbylding wurdt oerbrocht nei in datasintrum, ferwurke en weromjûn nei jo. Yn dit gefal moat it masine-learmodel lokaal wurde útfierd.
As jo "Hey Siri" of "OK, Google" sizze, wolle jo dat jo gadgets fuortendaliks reagearje. Wachtsje op jo stim wurdt oerbrocht nei de kompjûters, dêr't it sil wurde evaluearre en gegevens krigen.
Dit duorret tiid en hat in skealik effekt op de brûkersûnderfining. Yn dit gefal wolle jo dat it masine-learmodel ek lokaal wurket. Dit is wêr TinyML yn komt.
Yn dit post sille wy TinyML besjen, hoe't it wurket, it gebrûk, hoe't jo dermei kinne begjinne, en folle mear.
Wat is TinyML?
TinyML is in nijsgjirrige dissipline dy't it revolúsjonêre potensjeel fan masine learen tapast op 'e prestaasjes en krêftgrinzen fan lytse apparaten en ynbêde systemen.
Súksesfolle ynset yn dizze yndustry fereasket in yngeand begryp fan applikaasjes, algoritmen, hardware en software. It is in subsjenre foar masine-learen dy't djippe learen en masine-learenmodellen brûkt yn ynbêde systemen dy't mikrocontrollers, digitale sinjaalprozessors as oare spesjalisearre prosessoren mei ultra-leech krêft brûke.
TinyML-ynskeakele ynbêde apparaten binne bedoeld om in masine-learalgoritme út te fieren foar in spesifike taak, typysk as ûnderdiel fan it apparaat kante computing.
Om wiken, moannen of sels jierren te rinnen sûnder opladen of batterijferfanging, moatte dizze ynbêde systemen in enerzjyferbrûk hawwe fan minder dan 1 mW.
Hoe wurket it?
It ienige ramt foar masine-learen dat kin wurde brûkt mei mikrocontrollers en kompjûters is TensorFlow Lite. It is in set ark wêrmei ûntwikkelders har modellen kinne útfiere op mobyl, ynbêde en edge-apparaten, wêrtroch't masine learen op 'e flecht mooglik is.
De ynterface fan 'e mikrocontroller wurdt brûkt om gegevens te sammeljen fan sensoren (lykas mikrofoans, kamera's of ynbêde sensoren).
Foardat se nei de mikrokontroller stjoerd wurde, wurde de gegevens opnommen yn in wolk-basearre masine-learmodel. Batchtraining yn offline modus wurdt faak brûkt om dizze modellen te trenen. De sensorgegevens dy't brûkt wurde foar learen en konklúzjes is al bepaald foar de spesifike applikaasje.
As it model wurdt oplaat om bygelyks in wekker wurd te detektearjen, is it al ynsteld om in trochgeande audiostream fan in mikrofoan te behanneljen.
Alles wurdt al dien mei help fan in wolkplatfoarm lykas Google Colab yn it gefal fan TensorFlow Lite, ynklusyf datasetseleksje, normalisaasje, underfitting of overfitting fan it model, regularisaasje, gegevensfergrutting, training, falidaasje en testen.
In folslein oplaat model wurdt úteinlik omfoarme en oerbrocht nei de mikrocontroller, mikrokomputer, as digitale sinjaalprosessor nei offline batch training. It model hat gjin ekstra training nei't it ferpleatst is nei in ynbêde apparaat. Ynstee brûkt it allinich realtime gegevens fan sensoren as ynfierapparaten om it model oan te passen.
As resultaat moat in TinyML-masjine-learmodel útsûnderlik duorsum wêze en yn steat wêze om nei jierren op te learen of nea opnij te wurden. Alle potinsjele model underfitting en overfitting moatte wurde ûndersocht sadat it model bliuwt relevant foar in útwreide lingte fan tiid, ideaal foar ûnbepaalde tiid.
Mar wêrom TinyML brûke?
TinyML begon as in besykjen om it fertrouwen fan 'e IoT op wolktsjinsten foar basis lytsskalige te eliminearjen of te ferminderjen masine learen operaasjes. Dit fereaske it gebrûk fan masine-learmodellen op 'e râneapparaten sels. It biedt de folgjende wichtige foardielen:
- Leech macht konsumpsje: In TinyML-applikaasje moat leafst minder dan 1 milliWatt oan macht brûke. Mei sa'n leech-enerzjyferbrûk kin in apparaat moannen of jierren trochgean mei konklúzjes út sensorgegevens te heljen, sels as it wurdt oandreaun troch in muntbatterij.
- Legere kosten: It is ûntworpen om te rinnen op lege kosten 32-bit mikrocontrollers as DSP's. Dizze mikrocontrollers binne typysk in pear sinten elk, en it totale ynbêde systeem ûntwikkele mei har is minder dan $ 50. Dit is in heul kosten-effektive opsje foar it útfieren fan lytse masine-learenprogramma's op grutte skaal, en it is foaral foardielich yn IoT-applikaasjes wêr't masinelearen moatte wurde tapast.
- Legere latency: De applikaasjes hawwe in lege latency, om't se gjin gegevens oer it netwurk hoege te ferfieren of út te wikseljen. Alle sensorgegevens wurde lokaal opnommen, en konklúzjes wurde lutsen mei in model dat al oplaat is. De resultaten fan konklúzjes kinne stjoerd wurde nei in server of wolk foar logging of ekstra ferwurking, hoewol dit net essensjeel is foar it wurk fan it apparaat. Dit minimalisearret netwurklatinsje en elimineert de needsaak foar operaasjes foar masine-learen dy't wurde útfierd op in wolk of server.
- privacy: It is in grutte soarch op it ynternet en mei it ynternet fan dingen. It masinelearwurk yn TinyML-apps wurdt lokaal útfierd, sûnder sensor-/brûkersgegevens op te slaan of te ferstjoeren nei in server/wolk. As gefolch, sels as se keppele binne oan in netwurk, binne dizze applikaasjes feilich te brûken en foarmje gjin privacyrisiko's.
Oanfraach
- Lânbou - Wannear boeren meitsje in foto fan in plant, de applikaasje fan TensorFlow Lite detektearret dêr sykten yn. It wurket op elk apparaat en hat gjin ynternetferbining nedich. De proseduere beskermet lânboubelangen en is in krityske needsaak foar plattelânsboeren.
- Mechanics Underhâld - TinyML, as brûkt op apparaten mei leech oandreaune, kin kontinu identifisearje gebreken yn in masine. It omfettet ûnderhâld op basis fan foarsizzing. Ping Services, in Australyske start-up, hat in IoT-gadget yntrodusearre dy't wynturbines kontrolearret troch himsels oan 'e bûtenkant fan 'e turbine te befestigjen. It stelt de autoriteiten op 'e hichte as it in mooglik probleem of defekt ûntdekt.
- Sikehuzen - De Solar Scare is in projekt. Mosquito brûkt TinyML om de fersprieding fan sykten lykas dengue en malaria te stopjen. It wurdt oandreaun troch sinne-enerzjy en detektearret muggenkweekbetingsten foardat it wetter sinjalearret om muggenfokkerij te remmen.
- Ferkear Tafersjoch - By TinyML tapasse op sensors dy't real-time ferkearsgegevens sammelje, kinne wy se brûke om ferkear better te rjochtsjen en antwurdtiden foar needauto's te besunigjen. Swim.AI, bygelyks, brûkt dizze technyk op streaming fan gegevens om passazjiersfeiligens te ferheegjen, wylst ek oerlêst en útstjit ferminderje troch smart routing.
- Wet: TinyML kin brûkt wurde yn wet hanthaveningsbelied te identifisearjen yllegale aksjes lykas oproer en stellerij mei help fan masine learen en gebeart erkenning. In ferlykber programma kin ek brûkt wurde om bankautomaten te befeiligjen. Troch brûkersgedrach te besjen, kin in TinyML-model foarsizze oft de brûker in echte konsumint is dy't in transaksje foltôget of in ynbrekker dy't besykje de ATM te hacken of te ferneatigjen.
Hoe te begjinnen mei TinyML?
Om te begjinnen mei TinyML yn TensorFlow Lite, hawwe jo in kompatibel mikrocontrollerboerd nedich. TensorFlow Lite foar mikrocontrollers stipet de hjirûnder neamde mikrocontrollers.
- Wio Terminal: ATSAMD51
- Himax WE-I Plus EVB Endpoint AI Development Board
- STM32F746 Discovery kit
- Adafruit EdgeBadge
- Synopsys DesignWare ARC EM Software Development Platform
- Sony Express
- Arduino Nano 33 BLE Sense
- SparkFun Edge
- Adafruit TensorFlow Lite foar mikrocontrollers Kit
- Adafruit Circuit Playground Bluefruit
- Espressif ESP32-DevKitC
- Espressif ESP-EYE
Dit binne 32-bit mikrocontrollers dy't genôch flashûnthâld, RAM en klokfrekwinsje hawwe om in masine-learmodel út te fieren. De boerden hawwe ek in oantal oanboordsensors dy't by steat binne om elk ynbêde programma út te fieren en masine-learmodellen oan te passen op 'e rjochte applikaasje. Nei bouwe in masine learmodel, Jo sille neist in hardwareplatfoarm in laptop of kompjûter nedich hawwe.
Elk hardwareplatfoarm hat syn eigen programmearynstruminten foar it bouwen, trainen en portearjen fan masine-learmodellen, dy't it TensorFlow Lite for Microcontrollers-pakket brûke. TensorFlow Lite is fergees te brûken en te feroarjen om't it is iepen Boarne.
Om te begjinnen mei TinyML en TensorFlow Lite, is alles wat jo nedich binne ien fan 'e hjirboppe neamde ynbêde hardware-platfoarms, in kompjûter / laptop, in USB-kabel, in USB-to-Serial-konverter - en de winsk om masine learen te oefenjen mei ynbêde systemen .
útdagings
Sels hoewol de foarútgong fan TinyML in protte positive resultaten hat opsmiten, konfrontearret de masine-learensektor noch oansjenlike obstakels.
- Softwareferskaat - Handkodearring, koade generaasje, en ML tolken binne allegear opsjes foar it ynsetten fan modellen op TinyML apparaten, en elk nimt in oar bedrach fan tiid en muoite. Dêrtroch kinne ferskillende optredens ûntstean.
- Hardware ferskaat - Dêr binne ferskate hardware opsjes beskikber. TinyML-platfoarms kinne alles wêze fan mikrokontrôlers foar algemiene doelen oant nijsgjirrige neurale processors. Dit soarget foar problemen mei modelynset oer ferskate arsjitektueren.
- Troubleshooting / debuggen - Wannear in ML-model docht min op 'e wolk, it is ienfâldich om te sjen nei de gegevens en út te finen wat der mis giet. As in model ferspraat is oer tûzenen TinyML-apparaten, sûnder gegevensstream dy't weromkomt nei de wolk, wurdt debuggen lestich en kin in oare metoade nedich wêze.
- Unthâld beheinings - Tradisjoneel platfoarms, lykas smartphones en laptops, hawwe gigabytes RAM nedich, wylst TinyML-apparaten kilobytes of megabytes brûke. Dêrtroch is de grutte fan it model dat kin wurde ynset beheind.
- Model training - Hoewol't d'r binne ferskate foardielen foar it ynsetten fan ML-modellen op TinyML-apparaten, it grutste part fan ML-modellen wurdt noch oplaat op 'e wolk om de modelkreukens te iterearjen en kontinu te ferbetterjen.
Takomst
TinyML, mei syn lytse foetôfdruk, lege batterijferbrûk, en gebrek oan of beheinde ôfhinklikens fan ynternetferbining, hat enoarm potensjeel yn 'e takomst, om't de mearderheid fan smelle keunstmjittige yntelliginsje sil wurde ymplementearre op râne apparaten as ûnôfhinklike ynbêde gadgets.
It sil IoT-applikaasjes priveer en feiliger meitsje troch se te brûken. Lykwols TensorFlow Lite is op it stuit it ienige ramt foar masine-learen foar mikrocontrollers en mikrokomputers, oare fergelykbere kaders lykas sensor en ARM's CMSIS-NN binne yn 'e wurken.
Wylst TensorFlow Lite in iepen-boarne-projekt is oan 'e gong dat in geweldige start kaam mei Google's Team, hat it noch mienskipsstipe nedich om yn' e mainstream te kommen.
Konklúzje
TinyML is in nije oanpak dy't ynbêde systemen kombineart mei masine learen. As de smelle AI peaks yn in protte fertikalen en domeinen, kin de technology ûntstean as in prominint subfjild yn masine learen en keunstmjittige yntelliginsje.
It biedt in oplossing foar ferskate útdagings dy't de IoT-sektor en professionals dy't masine learen tapasse op in protte domeinspesifike dissiplines no tsjinkomme.
It konsept fan it brûken fan masine learen by râne apparaten mei in lytse Computing foetôfdruk en enerzjyferbrûk hat it potensjeel om signifikant te transformearjen hoe ynbêde systemen en robotika wurde konstruearre.
Leave a Reply