Talaan ng nilalaman[Tago][Ipakita]
Ang mga modelo ng Machine Learning ay nasa lahat ng dako ngayon. Sa araw, malamang na ginagamit mo ang mga modelong ito nang higit pa kaysa sa iyong napagtanto. Ginagamit ang mga modelo ng machine learning sa mga karaniwang gawain gaya ng pagba-browse sa social media, pagkuha ng litrato, at pagsuri sa lagay ng panahon.
Maaaring inirekomenda ng machine-learning algorithm ang blog na ito sa iyo. Narinig na nating lahat ang tungkol sa kung gaano katagal upang sanayin ang mga modelong ito. Narinig nating lahat na ang pagsasanay sa mga modelong ito ay nakakaubos ng oras.
Gayunpaman, ang paggawa ng hinuha sa mga modelong ito ay madalas na magastos sa computation.
Kailangan namin ng mga computer system na sapat na mabilis upang mahawakan ang bilis ng paggamit namin ng mga serbisyo ng machine learning. Bilang resulta, ang karamihan sa mga modelong ito ay pinapatakbo sa malalaking data center na may mga cluster ng CPU at GPU (kahit na mga TPU sa ilang mga kaso).
Kapag nagpa-picture ka, gusto mo machine learning upang agad na mapabuti ito. Hindi mo gustong hintayin ang imahe na mailipat sa isang data center, maproseso, at maibalik sa iyo. Sa kasong ito, dapat na lokal na isagawa ang modelo ng machine learning.
Kapag sinabi mo ang "Hey Siri" o "OK, Google," gusto mong tumugon kaagad ang iyong mga gadget. Naghihintay na maipadala ang iyong boses sa mga computer, kung saan ito susuriin at makukuha ang data.
Ito ay tumatagal ng oras at may masamang epekto sa karanasan ng user. Sa kasong ito, gusto mong gumana nang lokal ang modelo ng machine learning. Dito pumapasok ang TinyML.
Sa post na ito, titingnan natin ang TinyML, kung paano ito gumagana, mga gamit nito, kung paano magsisimula dito, at marami pang iba.
Ano ang TinyML?
Ang TinyML ay isang makabagong disiplina na naglalapat ng rebolusyonaryong potensyal ng machine learning sa pagganap at mga limitasyon ng kapangyarihan ng maliliit na device at mga naka-embed na system.
Ang matagumpay na pag-deploy sa industriyang ito ay nangangailangan ng masusing pag-unawa sa mga application, algorithm, hardware, at software. Isa itong machine learning subgenre na gumagamit ng deep learning at machine learning na mga modelo sa mga naka-embed na system na gumagamit ng mga microcontroller, digital signal processor, o iba pang ultra-low-power specialized na processor.
Ang mga naka-embed na device na naka-enable sa TinyML ay nilayon na magpatakbo ng isang machine learning algorithm para sa isang partikular na trabaho, kadalasan bilang bahagi ng device gilid ng computing.
Upang tumakbo nang ilang linggo, buwan, o kahit na taon nang walang recharging o pagpapalit ng baterya, ang mga naka-embed na system na ito ay dapat na may power consumption na mas mababa sa 1 mW.
Paano ito gumagana?
Ang tanging machine learning framework na maaaring magamit sa mga microcontroller at computer ay TensorFlow Lite. Isa itong hanay ng mga tool na nagbibigay-daan sa mga developer na patakbuhin ang kanilang mga modelo sa mga mobile, naka-embed, at edge na device, na nagbibigay-daan para sa machine learning nang mabilis.
Ang interface ng microcontroller ay ginagamit upang mangolekta ng data mula sa mga sensor (tulad ng mga mikropono, camera, o mga naka-embed na sensor).
Bago ipadala sa microcontroller, ang data ay isinasama sa isang cloud-based na machine learning model. Ang batch na pagsasanay sa offline mode ay karaniwang ginagamit upang sanayin ang mga modelong ito. Ang data ng sensor na gagamitin para sa pagkatuto at hinuha ay natukoy na para sa partikular na aplikasyon.
Kung ang modelo ay sinasanay upang tuklasin ang isang wake word, halimbawa, ito ay naka-set up na upang pangasiwaan ang isang tuluy-tuloy na audio stream mula sa isang mikropono.
Nagagawa na ang lahat sa tulong ng cloud platform tulad ng Google Colab sa kaso ng TensorFlow Lite, kabilang ang pagpili ng dataset, normalisasyon, underfitting o overfitting ng modelo, regularization, augmentation ng data, pagsasanay, pagpapatunay, at pagsubok.
Ang isang ganap na sinanay na modelo ay binago at inililipat sa microcontroller, microcomputer, o digital signal processor pagkatapos ng offline na batch na pagsasanay. Ang modelo ay walang karagdagang pagsasanay pagkatapos na ilipat sa isang naka-embed na device. Sa halip, gumagamit lang ito ng real-time na data mula sa mga sensor o input device para ilapat ang modelo.
Bilang resulta, ang isang modelo ng machine learning ng TinyML ay dapat na napakatibay at may kakayahang muling sanayin pagkatapos ng mga taon o hindi na muling sanayin. Dapat imbestigahan ang lahat ng potensyal na underfitting at overfitting ng modelo upang ang modelo ay manatiling may-katuturan para sa isang pinalawig na haba ng panahon, perpektong walang katiyakan.
Ngunit Bakit gumagamit ng TinyML?
Nagsimula ang TinyML bilang isang pagsisikap na alisin o bawasan ang pag-asa ng IoT sa mga serbisyo ng cloud para sa pangunahing maliit na sukat. machine learning mga operasyon. Kinailangan nito ang paggamit ng mga modelo ng machine learning sa mga edge device mismo. Nagbibigay ito ng mga sumusunod na pangunahing benepisyo:
- Mababang-lakas paggamit: Ang isang application na TinyML ay mas mainam na gumamit ng mas mababa sa 1 milliWatt ng kapangyarihan. Sa mababang paggamit ng kuryente, ang isang device ay maaaring patuloy na makakuha ng mga konklusyon mula sa data ng sensor sa loob ng mga buwan o taon, kahit na pinapagana ng isang baterya ng barya.
- Mababang halaga: Ito ay idinisenyo upang tumakbo sa mga murang 32-bit na microcontroller o DSP. Ang mga microcontroller na ito ay karaniwang ilang sentimo bawat isa, at ang kabuuang naka-embed na system na binuo kasama ng mga ito ay mas mababa sa $50. Ito ay isang napaka-cost-effective na opsyon para sa pagpapatakbo ng maliliit na machine learning program sa malaking sukat, at ito ay lalong kapaki-pakinabang sa mga IoT application kung saan dapat ilapat ang machine learning.
- Mababang Latency: Ang mga application nito ay may mababang latency dahil hindi nila kailangang mag-transport o makipagpalitan ng data sa network. Ang lahat ng data ng sensor ay lokal na naitala, at ang mga konklusyon ay iginuhit gamit ang isang modelong nasanay na. Ang mga resulta ng mga hinuha ay maaaring ipadala sa isang server o cloud para sa pag-log o karagdagang pagproseso, bagama't hindi ito mahalaga para gumana ang device. Pinaliit nito ang latency ng network at inaalis ang pangangailangan para sa mga pagpapatakbo ng machine learning na isasagawa sa isang cloud o server.
- Privacy: Ito ay isang pangunahing alalahanin sa internet at sa internet ng mga bagay. Ang machine learning work sa TinyML app ay lokal na ginagawa, nang hindi nag-iimbak o nagpapadala ng data ng sensor/user sa isang server/cloud. Bilang resulta, kahit na naka-link sa isang network, ang mga application na ito ay ligtas na gamitin at walang panganib sa privacy.
aplikasyon
- Agrikultura – Kailan ang mga magsasaka ay kumukuha ng larawan ng isang halaman, ang application ng TensorFlow Lite ay nakakakita ng mga sakit dito. Gumagana ito sa anumang device at hindi nangangailangan ng koneksyon sa internet. Pinoprotektahan ng pamamaraan ang mga interes sa agrikultura at isang kritikal na pangangailangan para sa mga magsasaka sa kanayunan.
- Pagpapanatili ng Mekanika – Ang TinyML, kapag ginamit sa mga low-powered na device, ay maaaring patuloy na tumukoy ng mga depekto sa isang makina. Ito ay nangangailangan ng prediction-based maintenance. Ang Ping Services, isang Australian start-up, ay nagpakilala ng isang IoT gadget na sumusubaybay sa mga wind turbine sa pamamagitan ng pag-attach sa sarili nito sa labas ng turbine. Inaabisuhan nito ang mga awtoridad sa tuwing makakakita ito ng anumang posibleng problema o malfunction.
- Mga Ospital – Ang Ang Solar Scare ay isang proyekto. Ginagamit ng lamok ang TinyML upang pigilan ang pagkalat ng mga sakit gaya ng dengue at malaria. Ito ay pinapagana ng solar energy at nakakakita ng mga kondisyon ng pag-aanak ng lamok bago hudyat sa tubig na pigilan ang pagdami ng lamok.
- Pagsubaybay sa Trapiko – Ni paglalapat ng TinyML sa mga sensor na nangongolekta ng real-time na data ng trapiko, magagamit namin ang mga ito para mas maidirekta ang trapiko at mabawasan ang mga oras ng pagtugon para sa mga sasakyang pang-emergency. Ang Swim.AI, halimbawa, ay gumagamit ng teknolohiyang ito sa streaming ng data upang mapataas ang kaligtasan ng pasahero habang binabawasan din ang pagsisikip at mga emisyon sa pamamagitan ng matalinong pagruruta.
- Batas: Maaaring gamitin ang TinyML sa pagpapatupad ng batas upang matukoy ang mga iligal na aksyon tulad ng rioting at pagnanakaw gamit ang machine learning at pagkilala sa kilos. Ang isang katulad na programa ay maaari ding gamitin upang ma-secure ang mga ATM ng bangko. Sa pamamagitan ng panonood ng gawi ng user, maaaring hulaan ng isang modelong TinyML kung ang user ay isang tunay na consumer na kumukumpleto ng isang transaksyon o isang nanghihimasok na sumusubok na i-hack o sirain ang ATM.
Paano magsimula sa TinyML?
Upang makapagsimula sa TinyML sa TensorFlow Lite, kakailanganin mo ng isang katugmang microcontroller board. Sinusuportahan ng TensorFlow Lite para sa Microcontrollers ang mga microcontroller na nakalista sa ibaba.
- 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 para sa Microcontrollers Kit
- Adafruit Circuit Playground Bluefruit
- Espressif ESP32-DevKitC
- Espressif ESP-MATA
Ang mga ito ay 32-bit microcontrollers na may sapat na flash memory, RAM, at clock frequency para magsagawa ng machine learning model. Ang mga board ay mayroon ding ilang onboard na sensor na may kakayahang magpatakbo ng anumang naka-embed na programa at maglapat ng mga modelo ng machine learning sa naka-target na application. Upang bumuo ng isang machine learning model, kakailanganin mo ng laptop o computer bilang karagdagan sa isang hardware platform.
Ang bawat platform ng hardware ay may sariling programming tool para sa pagbuo, pagsasanay, at pag-port ng mga modelo ng machine learning, na gumagamit ng TensorFlow Lite para sa Microcontrollers package. Ang TensorFlow Lite ay libre upang gamitin at baguhin dahil ito ay open source.
Upang makapagsimula sa TinyML at TensorFlow Lite, ang kailangan mo lang ay isa sa mga nabanggit sa itaas na naka-embed na hardware platform, isang computer/laptop, isang USB cable, isang USB-to-Serial converter – at ang pagnanais na magsanay ng machine learning gamit ang mga naka-embed na system .
Hamon
Kahit na ang pag-unlad ng TinyML ay nagbunga ng maraming positibong resulta, ang industriya ng machine learning ay nakakaharap pa rin ng malalaking hadlang.
- Pagkakaiba-iba ng software – Hand-coding, pagbuo ng code, at mga interpreter ng ML ay lahat ng mga opsyon para sa pag-deploy ng mga modelo sa mga TinyML device, at bawat isa ay nangangailangan ng iba't ibang dami ng oras at pagsisikap. Maaaring lumitaw ang iba't ibang mga pagtatanghal bilang resulta nito.
- Pagkakaiba-iba ng hardware – Doon ay ilang mga pagpipilian sa hardware na magagamit. Ang mga platform ng TinyML ay maaaring maging anuman mula sa mga microcontroller ng pangkalahatang layunin hanggang sa mga cutting-edge na neural processor. Nagdudulot ito ng mga isyu sa pag-deploy ng modelo sa iba't ibang arkitektura.
- Pag-troubleshoot/pag-debug – Kailan hindi maganda ang performance ng isang ML model sa cloud, simple lang tingnan ang data at alamin kung ano ang nangyayaring mali. Kapag ang isang modelo ay kumalat sa libu-libong TinyML device, nang walang data stream na bumabalik sa cloud, nagiging mahirap ang pag-debug at maaaring mangailangan ng ibang paraan.
- Mga hadlang sa memorya - Tradisyonal ang mga platform, gaya ng mga smartphone at laptop, ay nangangailangan ng gigabytes ng RAM, samantalang ang mga TinyML device ay gumagamit ng kilobytes o megabytes. Bilang resulta, limitado ang laki ng modelong maaaring i-deploy.
- Model training – Bagaman may ilang mga pakinabang sa pag-deploy ng mga modelo ng ML sa mga TinyML device, ang karamihan sa mga modelo ng ML ay sinanay pa rin sa cloud upang umulit at patuloy na pahusayin ang katumpakan ng modelo.
Hinaharap
Ang TinyML, na may maliit na bakas ng paa, mababang pagkonsumo ng baterya, at kakulangan o limitadong pag-asa sa koneksyon sa internet, ay may napakalaking potensyal sa hinaharap, dahil ang karamihan sa mga makitid artificial intelligence ipapatupad sa mga edge device o mga independiyenteng naka-embed na gadget.
Gagawin nitong mas pribado at secure ang mga IoT application sa pamamagitan ng paggamit sa mga ito. Kahit na TensorFlow Ang Lite ay kasalukuyang nag-iisang machine learning framework para sa mga microcontroller at microcomputers, ang iba pang maihahambing na frameworks gaya ng sensor at ARM's CMSIS-NN ay ginagawa na.
Bagama't ang TensorFlow Lite ay isang open-source na proyekto sa pag-unlad na nagsimula sa isang mahusay na simula sa Koponan ng Google, kailangan pa rin nito ng suporta sa komunidad upang makapasok sa mainstream.
Konklusyon
Ang TinyML ay isang bagong diskarte na pinagsasama ang mga naka-embed na system sa machine learning. Habang umaakyat ang makitid na AI sa maraming vertical at domain, maaaring lumabas ang teknolohiya bilang isang kilalang subfield sa machine learning at artificial intelligence.
Nagbibigay ito ng solusyon sa maraming hamon na kinakaharap ngayon ng sektor ng IoT at mga propesyonal na naglalapat ng machine learning sa maraming disiplinang partikular sa domain.
Ang konsepto ng paggamit ng machine learning sa mga aparato sa gilid na may maliit na computing Ang footprint at pagkonsumo ng kuryente ay may potensyal na makabuluhang baguhin kung paano itinayo ang mga naka-embed na system at robotics.
Mag-iwan ng Sagot