Masinõppe mudelid on praegu kõikjal saadaval. Päeva jooksul kasutate neid mudeleid tõenäoliselt palju rohkem, kui arvate. Masinõppemudeleid kasutatakse tavalistes ülesannetes, nagu sotsiaalmeedia sirvimine, pildistamine ja ilmateade.
Masinõppe algoritm võis teile seda ajaveebi soovitada. Oleme kõik kuulnud, kui aeganõudev on nende mudelite koolitamine. Oleme kõik kuulnud, et nende mudelite koolitamine on aeganõudev.
Nende mudelite põhjal järelduste tegemine on aga sageli arvutuslikult kulukas.
Vajame arvutisüsteeme, mis on piisavalt kiired, et hakkama saada masinõppeteenuste kasutamise kiirusega. Selle tulemusena töötab enamik neist mudelitest massiivsetes andmekeskustes, millel on CPU ja GPU klastrid (mõnel juhul isegi TPU-d).
Kui teed pilti, siis tahad masinõpe et seda koheselt parandada. Te ei soovi oodata, kuni pilt edastatakse andmekeskusesse, töödeldakse ja teile tagastatakse. Sel juhul tuleks masinõppemudel käivitada kohapeal.
Kui ütlete "Hei Siri" või "OK, Google", soovite, et teie vidinad reageeriksid kohe. Ootan teie hääle edastamist arvutitesse, kus seda hinnatakse ja andmed hangitakse.
See võtab aega ja mõjub kasutajakogemusele halvasti. Sel juhul soovite, et masinõppemudel töötaks ka kohapeal. See on koht, kus TinyML tuleb sisse.
Selles postituses uurime TinyML-i, selle toimimist, kasutusalasid, sellega alustamist ja palju muud.
Mis on TinyML?
TinyML on tipptasemel distsipliin, mis rakendab masinõppe revolutsioonilist potentsiaali väikeste seadmete ja manustatud süsteemide jõudluse ja võimsuse piirides.
Edukas kasutuselevõtt selles valdkonnas eeldab rakenduste, algoritmide, riist- ja tarkvara põhjalikku mõistmist. See on masinõppe alamžanr, mis kasutab süvaõppe ja masinõppe mudeleid manussüsteemides, mis kasutavad mikrokontrollereid, digitaalseid signaaliprotsessoreid või muid ülimadala võimsusega spetsialiseeritud protsessoreid.
TinyML-i toega manustatud seadmed on ette nähtud konkreetse töö jaoks masinõppe algoritmi käitamiseks, tavaliselt osana seadme tööst. servaarvutus.
Nende sisseehitatud süsteemide energiatarve peab olema alla 1 mW, et töötada nädalaid, kuid või isegi aastaid ilma laadimise või aku vahetamiseta.
Kuidas see toimib?
Ainus masinõpperaamistik, mida saab kasutada mikrokontrollerite ja arvutitega, on TensorFlow Lite. See on tööriistade komplekt, mis võimaldab arendajatel käitada oma mudeleid mobiilsetes, manustatud ja servaseadmetes, võimaldades masinõpet käigu pealt.
Mikrokontrolleri liidest kasutatakse anduritelt (nagu mikrofonid, kaamerad või sisseehitatud andurid) andmete kogumiseks.
Enne mikrokontrollerile saatmist liidetakse andmed pilvepõhisesse masinõppemudelisse. Nende mudelite koolitamiseks kasutatakse tavaliselt võrguühenduseta pakettõpet. Anduri andmed, mille jaoks kasutatakse õppimine ja järeldused on konkreetse rakenduse jaoks juba kindlaks määratud.
Kui mudelit õpetatakse tuvastama näiteks äratussõna, on see juba seadistatud käsitlema mikrofoni pidevat helivoogu.
TensorFlow Lite'i puhul on kõik juba tehtud pilveplatvormi (nt Google Colab) abil, sealhulgas andmekogumi valimine, normaliseerimine, mudeli ala- või ülepaigutamine, seadustamine, andmete täiendamine, koolitus, valideerimine ja testimine.
Täielikult koolitatud mudel muundatakse lõpuks pärast võrguühenduseta komplektkoolitust mikrokontrollerisse, mikroarvutisse või digitaalsignaaliprotsessorisse. Mudelil ei ole pärast manustatud seadmesse teisaldamist täiendavat koolitust. Selle asemel kasutab see mudeli rakendamiseks ainult andurite või sisendseadmete reaalajas andmeid.
Selle tulemusena peab TinyML-i masinõppemudel olema erakordselt vastupidav ja seda saab aastate pärast ümber õpetada või mitte kunagi. Kõiki võimalikke mudeli ala- ja ülesobitamist tuleb uurida, et mudel jääks asjakohaseks pikema aja jooksul, ideaaljuhul lõputult.
Aga miks kasutada TinyML-i?
TinyML sai alguse püüdest kõrvaldada või vähendada asjade Interneti sõltuvust pilveteenustest põhiliste väikesemahuliste teenuste jaoks. masinõpe operatsioonid. See nõudis masinõppemudelite kasutamist servaseadmetes endis. See pakub järgmisi olulisi eeliseid:
- Vähese energiatarbega tarbimine: TinyML-rakendus peaks eelistatavalt kasutama vähem kui 1 millivatti võimsust. Sellise väikese energiatarbimise korral võib seade anduriandmete põhjal järeldusi teha kuude või aastate jooksul, isegi kui toiteallikaks on mündipatarei.
- Madalamad kulud: See on loodud töötama odavatel 32-bitistel mikrokontrolleritel või DSP-del. Nende mikrokontrollerite hind on tavaliselt paar senti ja nendega välja töötatud manustatud süsteem on alla 50 dollari. See on väga kuluefektiivne võimalus väikeste masinõppeprogrammide suures mahus käitamiseks ja see on eriti kasulik asjade Interneti rakendustes, kus tuleb rakendada masinõpet.
- Madalam latentsusaeg: selle rakendustel on madal latentsusaeg, kuna nad ei pea võrgu kaudu andmeid transportima ega vahetama. Kõik anduri andmed salvestatakse kohapeal ja järeldused tehakse juba koolitatud mudeli abil. Järelduste tulemused võidakse saata logimiseks või täiendavaks töötlemiseks serverisse või pilve, kuigi see pole seadme tööks hädavajalik. See minimeerib võrgu latentsust ja välistab vajaduse pilves või serveris teha masinõppe toiminguid.
- Privaatsus: See on Internetis ja asjade internetis suur probleem. TinyML-i rakendustes tehakse masinõppetööd kohapeal, ilma sensori/kasutaja andmeid serverisse/pilve salvestamata või saatmata. Selle tulemusel on neid rakendusi turvaline kasutada isegi siis, kui need on võrguga ühendatud, ega kujuta endast privaatsusriske.
Rakendused
- Põllumajandus – millal põllumehed teevad taimest foto, TensorFlow Lite rakendus tuvastab selles haigused. See töötab kõigis seadmetes ja ei vaja Interneti-ühendust. Menetlus kaitseb põllumajanduse huve ja on maapõllumeeste jaoks ülimalt vajalik.
- Mehaanika hooldus - TinyML, kui seda kasutatakse väikese võimsusega seadmetes, suudab pidevalt tuvastada masina vigu. See hõlmab ennustuspõhist hooldust. Austraalia idufirma Ping Services tõi turule asjade Interneti-vidina, mis jälgib tuuleturbiine, kinnitades end turbiini välisküljele. See teavitab ametiasutusi alati, kui tuvastab võimaliku probleemi või rikke.
- Haiglad – Solar Scare on projekt. Mosquito kasutab TinyML-i selliste haiguste leviku peatamiseks nagu denguepalavik ja malaaria. See töötab päikeseenergial ja tuvastab sääskede paljunemise tingimused enne, kui annab märku veest, et takistada sääskede paljunemist.
- Liiklusjärelevalve – poolt rakendades TinyML-i anduritele, mis koguvad reaalajas liiklusandmeid, saame neid kasutada liikluse paremaks suunamiseks ja hädaabisõidukite reageerimisaegade vähendamiseks. Näiteks Swim.AI kasutab seda tehnoloogiat andmete voogedastamiseks, et suurendada reisijate ohutust, vähendades samal ajal ummikuid ja heitkoguseid nutika marsruudi abil.
- Seadus: TinyML-i saab kasutada õiguskaitses, et tuvastada ebaseaduslikke tegevusi, nagu märatsemine ja vargus, kasutades masinõpet ja žestide tuvastamist. Sarnast programmi võib kasutada ka pangaautomaatide turvamiseks. Kasutaja käitumist jälgides võib TinyML-i mudel ennustada, kas kasutaja on tõeline tarbija, kes sooritab tehingu, või sissetungija, kes üritab sularahaautomaati häkkida või hävitada.
Kuidas TinyML-iga alustada?
TensorFlow Lite'is TinyML-iga alustamiseks vajate ühilduvat mikrokontrolleri plaati. TensorFlow Lite for Microcontrollers toetab allpool loetletud mikrokontrollereid.
- Wio terminal: ATSAMD51
- Himax WE-I Plus EVB Endpoint AI arendusplaat
- STM32F746 avastuskomplekt
- Adafruit EdgeBadge
- Sünopsys DesignWare ARC EM tarkvaraarendusplatvorm
- Sony Spesense
- Arduino Nano 33 BLE Sense
- SparkFun Edge
- Adafruit TensorFlow Lite mikrokontrolleritele mõeldud komplekt
- Adafruit Circuit mänguväljak Bluefruit
- Espressif ESP32-DevKitC
- Espressif ESP-EYE
Need on 32-bitised mikrokontrollerid, millel on piisavalt välkmälu, RAM-i ja taktsagedust masinõppemudeli käivitamiseks. Tahvlitel on ka mitu sisseehitatud andurit, mis on võimelised käivitama mis tahes manustatud programmi ja rakendama sihitud rakendusele masinõppemudeleid. To luua masinõppe mudel, vajate lisaks riistvaraplatvormile ka sülearvutit või arvutit.
Igal riistvaraplatvormil on oma programmeerimisvahendid masinõppemudelite ehitamiseks, koolitamiseks ja teisaldamiseks, mis kasutavad paketti TensorFlow Lite for Microcontrollers. TensorFlow Lite'i saab tasuta kasutada ja muuta, kuna see on nii avatud lähtekoodiga.
TinyML-i ja TensorFlow Lite'iga alustamiseks on vaja ainult ühte ülalmainitud manustatud riistvaraplatvormidest, arvutit/sülearvutit, USB-kaablit, USB-jadamuundurit – ja soovi harjutada masinõpet manustatud süsteemidega. .
Väljakutsed
Isegi kui TinyML-i edusammud on andnud palju positiivseid tulemusi, seisab masinõppetööstus endiselt silmitsi märkimisväärsete takistustega.
- Tarkvara mitmekesisus – käsitsi kodeerimine, koodi genereerimine ja ML-i tõlgendajad on kõik võimalused mudelite juurutamiseks TinyML-seadmetes ning igaüks neist võtab erinevalt aega ja vaeva. Selle tulemusena võivad tekkida erinevad esitused.
- Riistvara mitmekesisus – olemas saadaval on mitu riistvaravalikut. TinyML-platvormid võivad olla kõike alates üldotstarbelistest mikrokontrolleritest kuni tipptasemel närviprotsessoriteni. See põhjustab probleeme mudeli juurutamisega erinevates arhitektuurides.
- Tõrkeotsing/silumine – millal ML-mudel töötab pilves halvasti, on lihtne vaadata andmeid ja aru saada, mis valesti läheb. Kui mudel on jaotatud tuhandete TinyML-seadmete vahel, ilma et ükski andmevoog pilve tagasi pöörduks, muutub silumine keeruliseks ja võib vaja minna teistsugust meetodit.
- Mälupiirangud – traditsiooniline platvormid, nagu nutitelefonid ja sülearvutid, vajavad gigabaiti RAM-i, samas kui TinyML-seadmed kasutavad kilobaite või megabaite. Selle tulemusena on kasutatava mudeli suurus piiratud.
- Modellikoolitus – Kuigi ML-mudelite juurutamisel TinyML-i seadmetes on mitmeid eeliseid, suurem osa ML-mudelitest on endiselt pilves koolitatud, et itereerida ja pidevalt parandada mudeli täpsust.
Tulevik
Väikese jalajälje, madala akutarbimise ja Interneti-ühenduse puudumise või piiratud sõltuvusega TinyML-il on tulevikus tohutu potentsiaal, kuna enamik tehisintellekti rakendatakse servaseadmetes või sõltumatutes manustatud vidinates.
See muudab asjade Interneti-rakendused privaatsemaks ja turvalisemaks, kasutades neid võimendades. Kuigi TensorFlow Lite on praegu ainus mikrokontrollerite ja mikroarvutite masinõpperaamistik, töös on muud võrreldavad raamistikud, nagu andur ja ARM-i CMSIS-NN.
Kuigi TensorFlow Lite on pooleli avatud lähtekoodiga projekt, mis sai Google'i meeskonnaga suurepärase alguse, vajab see siiski kogukonna tuge, et pääseda tavaellu.
Järeldus
TinyML on uudne lähenemisviis, mis ühendab manustatud süsteemid masinõppega. Kuna kitsas tehisintellekt on haripunktis paljudes vertikaalides ja valdkondades, võib tehnoloogia tõusta masinõppe ja tehisintellekti silmapaistva alamvaldkonnana.
See pakub lahendust paljudele väljakutsetele, millega IoT sektor ja masinõpet paljudes domeenispetsiifilistes valdkondades praegu silmitsi seisavad.
Masinõppe kasutamise kontseptsioon väikese andmetöötlusega servaseadmed jalajälg ja energiatarve võivad oluliselt muuta manustatud süsteemide ja robootika ülesehitust.
Jäta vastus