Мадэлі машыннага навучання зараз паўсюль. На працягу дня вы, напэўна, выкарыстоўваеце гэтыя мадэлі нашмат часцей, чым думаеце. Мадэлі машыннага навучання выкарыстоўваюцца ў звычайных задачах, такіх як прагляд сацыяльных сетак, фатаграфаванне і праверка надвор'я.
Магчыма, алгарытм машыннага навучання рэкамендаваў вам гэты блог. Мы ўсе чулі пра тое, як доўга займаецца навучанне гэтых мадэляў. Мы ўсе чулі, што навучанне гэтых мадэляў займае шмат часу.
Аднак вывад на аснове гэтых мадэляў часта каштуе затратна.
Нам патрэбны камп'ютэрныя сістэмы, якія будуць дастаткова хуткімі, каб справіцца з хуткасцю, з якой мы выкарыстоўваем сэрвісы машыннага навучання. У выніку большасць гэтых мадэляў працуе ў масіўных цэнтрах апрацоўкі дадзеных з кластарамі CPU і GPU (у некаторых выпадках нават TPU).
Калі вы робіце здымак, вы хочаце навучанне з дапамогай машыны каб імгненна палепшыць яго. Вам не трэба чакаць, пакуль выява будзе перададзена ў цэнтр апрацоўкі дадзеных, апрацавана і вернута вам. У гэтым выпадку мадэль машыннага навучання павінна выконвацца лакальна.
Калі вы кажаце «Гэй, Siri» або «ОК, Google», вы хочаце, каб вашы гаджэты неадкладна адказалі. Чакаем, пакуль ваш голас будзе перададзены на кампутары, дзе ён будзе ацэнены і атрыманы дадзеныя.
Гэта патрабуе часу і шкодна ўплывае на карыстацкі досвед. У гэтым выпадку вы хочаце, каб мадэль машыннага навучання таксама працавала лакальна. Вось тут і ўваходзіць TinyML.
У гэтым пасце мы разгледзім TinyML, як ён працуе, як яго выкарыстоўвае, як пачаць з ім і многае іншае.
Што такое TinyML?
TinyML - гэта перадавая дысцыпліна, якая прымяняе рэвалюцыйны патэнцыял машыннага навучання да абмежаванняў прадукцыйнасці і магутнасці невялікіх прылад і ўбудаваных сістэм.
Паспяховае разгортванне ў гэтай галіне патрабуе глыбокага разумення прыкладанняў, алгарытмаў, апаратнага і праграмнага забеспячэння. Гэта паджанр машыннага навучання, які выкарыстоўвае мадэлі глыбокага і машыннага навучання ва ўбудаваных сістэмах, якія выкарыстоўваюць мікракантролеры, лічбавыя сігнальныя працэсары або іншыя спецыялізаваныя працэсары са звышмалым энергаспажываннем.
Убудаваныя прылады з падтрымкай TinyML прызначаны для запуску алгарытму машыннага навучання для выканання пэўнай задачы, як правіла, як часткі прылады край вылічэнняў.
Для таго каб працаваць тыднямі, месяцамі ці нават гадамі без падзарадкі або замены батарэі, гэтыя ўбудаваныя сістэмы павінны спажываць электраэнергію менш за 1 мВт.
Як гэта працуе?
Адзіная структура машыннага навучання, якую можна выкарыстоўваць з мікракантролерамі і кампутарамі TensorFlow Lite. Гэта набор інструментаў, якія дазваляюць распрацоўшчыкам запускаць свае мадэлі на мабільных, убудаваных і краявых прыладах, дазваляючы машыннае навучанне на хаду.
Інтэрфейс мікракантролера выкарыстоўваецца для збору даных з датчыкаў (напрыклад, мікрафонаў, камер або ўбудаваных датчыкаў).
Перад адпраўкай на мікракантролер даныя ўключаюцца ў воблачную мадэль машыннага навучання. Пакетнае навучанне ў аўтаномным рэжыме звычайна выкарыстоўваецца для навучання гэтых мадэляў. Даныя датчыка, якія будуць выкарыстоўвацца для навучанне і вывад ужо вызначана для канкрэтнага прымянення.
Напрыклад, калі мадэль навучаецца выяўляць слова для абуджэння, яна ўжо наладжана на апрацоўку бесперапыннага аўдыёпатоку з мікрафона.
Усё ўжо зроблена з дапамогай воблачнай платформы, такой як Google Colab у выпадку з TensorFlow Lite, у тым ліку выбар набору даных, нармалізацыя, недастатковае або празмернае абсталяванне мадэлі, рэгулярізацыя, дапаўненне даных, навучанне, праверка і тэставанне.
Цалкам падрыхтаваная мадэль у канчатковым выніку трансфармуецца і перадаецца ў мікракантролер, мікракампутар або працэсар лічбавых сігналаў пасля пазасеткавага пакетнага навучання. Пасля перамяшчэння на ўбудавальную прыладу мадэль не праходзіць дадатковага навучання. Замест гэтага для прымянення мадэлі выкарыстоўваюцца толькі дадзеныя ў рэжыме рэальнага часу з датчыкаў або прылад уводу.
У выніку мадэль машыннага навучання TinyML павінна быць выключна трывалай і здольнай быць перанавучанай праз гады або ніколі не перанавучацца. Неабходна вывучыць усе магчымыя недастатковыя і перападабраныя мадэлі, каб мадэль заставалася актуальнай на працягу доўгага часу, у ідэале бясконца.
Але навошта выкарыстоўваць TinyML?
TinyML пачаўся як спроба ліквідаваць або паменшыць залежнасць IoT ад хмарных сэрвісаў для асноўных малых навучанне з дапамогай машыны аперацыі. Гэта выклікала неабходнасць выкарыстання мадэляў машыннага навучання на саміх краявых прыладах. Ён забяспечвае наступныя асноўныя перавагі:
- Малая магутнасць спажыванне: Пажадана, каб прыкладанне TinyML спажывала менш за 1 міліват энергіі. Пры такім нізкім энергаспажыванні прылада можа працягваць рабіць высновы з даных датчыка на працягу некалькіх месяцаў ці гадоў, нават калі сілкуецца ад батарэйкі.
- Больш нізкі кошт: Ён прызначаны для працы на недарагіх 32-бітных мікракантролерах або DSP. Гэтыя мікракантролеры звычайна каштуюць некалькі цэнтаў кожны, а агульная ўбудаваная сістэма, распрацаваная з іх дапамогай, каштуе менш за 50 долараў. Гэта вельмі эканамічна эфектыўны варыянт для запуску невялікіх праграм машыннага навучання ў вялікіх маштабах, і ён асабліва карысны ў праграмах IoT, дзе трэба прымяняць машыннае навучанне.
- Меншая затрымка: Яго прыкладанні маюць нізкую затрымку, паколькі ім не трэба перадаваць або абменьвацца дадзенымі па сетцы. Усе дадзеныя датчыка запісваюцца лакальна, а высновы робяцца з дапамогай мадэлі, якая ўжо была навучана. Вынікі высноў могуць быць адпраўлены на сервер або воблака для рэгістрацыі або дадатковай апрацоўкі, хоць гэта не з'яўляецца істотным для працы прылады. Гэта мінімізуе затрымку сеткі і пазбаўляе ад неабходнасці выконваць аперацыі машыннага навучання ў воблаку або на серверы.
- недатыкальнасць прыватнага жыцця: Гэта сур'ёзная праблема ў Інтэрнэце і ў Інтэрнэце рэчаў. Праца машыннага навучання ў праграмах TinyML выконваецца лакальна, без захавання або адпраўкі дадзеных датчыка/карыстальніка на сервер/воблака. У выніку, нават калі яны падключаны да сеткі, гэтыя прыкладанні бяспечныя ў выкарыстанні і не ўяўляюць рызыкі для прыватнасці.
прыкладанняў
- Сельская гаспадарка – Калі фермеры фатаграфуюць расліну, прыкладанне TensorFlow Lite выяўляе ў ёй хваробы. Ён працуе на любой прыладзе і не патрабуе падлучэння да Інтэрнэту. Працэдура абараняе інтарэсы сельскай гаспадаркі і з'яўляецца важнай неабходнасцю для сельскіх фермераў.
- Тэхнічнае абслугоўванне механікі – TinyML пры выкарыстанні на маламагутных прыладах можа пастаянна выяўляць недахопы ў машыне. Гэта цягне за сабой абслугоўванне на аснове прагназавання. Ping Services, аўстралійскі стартап, прадставіў гаджэт IoT, які кантралюе ветраныя турбіны, прымацоўваючы сябе да вонкавага боку турбіны. Ён паведамляе ўладам кожны раз, калі выяўляе любую магчымую праблему або няспраўнасць.
- Бальніцы – The Solar Scare - гэта праект. Mosquito выкарыстоўвае TinyML, каб спыніць распаўсюджванне такіх хвароб, як денге і малярыя. Ён сілкуецца ад сонечнай энергіі і вызначае ўмовы размнажэння камароў, перш чым даць сігнал вадзе спыніць размнажэнне камароў.
- Назіранне за рухам – аўтар прымяняючы TinyML да датчыкаў, якія збіраюць дадзеныя аб дарожным руху ў рэжыме рэальнага часу, мы можам выкарыстоўваць іх для лепшага накіравання дарожнага руху і скарачэння часу рэагавання машын экстранай дапамогі. Swim.AI, напрыклад, выкарыстоўвае гэтую тэхналогію для струменевай перадачы даных, каб павысіць бяспеку пасажыраў, а таксама паменшыць заторы і выкіды за кошт разумнай маршрутызацыі.
- Закон: TinyML можна выкарыстоўваць у праваахоўных органах для выяўлення супрацьпраўных дзеянняў, такіх як масавыя беспарадкі і крадзяжы, з дапамогай машыннага навучання і распазнання жэстаў. Падобная праграма таксама можа быць выкарыстана для абароны банкаўскіх банкаматаў. Назіраючы за паводзінамі карыстальніка, мадэль TinyML можа прадказаць, ці з'яўляецца карыстальнік сапраўдным спажыўцом, які выконвае транзакцыю, ці зламыснікам, які спрабуе ўзламаць або знішчыць банкамат.
Як пачаць працу з TinyML?
Каб пачаць працу з TinyML у TensorFlow Lite, вам спатрэбіцца сумяшчальная плата мікракантролера. TensorFlow Lite для мікракантролераў падтрымлівае мікракантролеры, пералічаныя ніжэй.
- Тэрмінал Wio: ATSAMD51
- Плата распрацоўкі Himax WE-I Plus EVB Endpoint AI
- Камплект Discovery STM32F746
- Adafruit EdgeBadge
- Платформа распрацоўкі праграмнага забеспячэння Synopsys DesignWare ARC EM
- Sony Express
- Arduino Nano 33 BLE Sense
- SparkFun Edge
- Набор Adafruit TensorFlow Lite для мікракантролераў
- Гульнявая пляцоўка Adafruit Circuit Bluefruit
- Espressif ESP32-DevKitC
- Espressif ESP-EYE
Гэта 32-бітныя мікракантролеры з дастатковай колькасцю флэш-памяці, аператыўнай памяці і тактавай частатой для выканання мадэлі машыннага навучання. Платы таксама маюць шэраг убудаваных датчыкаў, здольных запускаць любыя ўбудаваныя праграмы і прымяняць мадэлі машыннага навучання да мэтавага прыкладання. каб пабудаваць мадэль машыннага навучання, вам спатрэбіцца ноўтбук або кампутар у дадатак да апаратнай платформы.
Кожная апаратная платформа мае ўласныя інструменты праграмавання для стварэння, навучання і пераносу мадэляў машыннага навучання, якія выкарыстоўваюць пакет TensorFlow Lite для мікракантролераў. TensorFlow Lite можна бясплатна выкарыстоўваць і змяняць, таму што гэта так з адкрытым зыходным кодам.
Каб пачаць працу з TinyML і TensorFlow Lite, усё, што вам спатрэбіцца, гэта адна з вышэйзгаданых убудаваных апаратных платформ, камп'ютар/ноўтбук, USB-кабель, пераўтваральнік USB-to-Serial - і жаданне папрактыкавацца ў машынным навучанні з дапамогай убудаваных сістэм .
Выклікі
Нягледзячы на тое, што прагрэс TinyML даў шмат станоўчых вынікаў, індустрыя машыннага навучання ўсё яшчэ сутыкаецца са значнымі перашкодамі.
- Разнастайнасць праграмнага забеспячэння - Ручное кадаванне, генерацыя кода і інтэрпрэтатары ML - гэта варыянты разгортвання мадэляў на прыладах TinyML, і кожны з іх патрабуе рознай колькасці часу і намаганняў. У выніку гэтага могуць узнікаць розныя спектаклі.
- Разнастайнасць абсталявання - Ёсць даступна некалькі апаратных варыянтаў. Платформы TinyML могуць быць любымі: ад мікракантролераў агульнага прызначэння да перадавых нейронавых працэсараў. Гэта выклікае праблемы з разгортваннем мадэлі ў розных архітэктурах.
- Ліквідацыя непаладак/адладка – Калі мадэль ML дрэнна працуе ў воблаку, проста паглядзець на дадзеныя і зразумець, што адбываецца не так. Калі мадэль распаўсюджваецца на тысячы прылад TinyML, без патоку даных, які вяртаецца ў воблака, адладка становіцца складанай і можа спатрэбіцца іншы метад.
- Абмежаванні памяці - Традыцыйныя такім платформам, як смартфоны і ноўтбукі, патрэбныя гігабайты аператыўнай памяці, у той час як прылады TinyML выкарыстоўваюць кілабайты або мегабайты. У выніку памер мадэлі, якую можна разгарнуць, абмежаваны.
- Навучанне мадэлям – Хоць разгортванне мадэляў ML на прыладах TinyML мае некалькі пераваг, асноўная частка мадэляў ML па-ранейшаму навучаецца ў воблаку для ітэрацыі і пастаяннага павышэння дакладнасці мадэляў.
будучыню
TinyML з невялікім памерам, нізкім спажываннем батарэі і адсутнасцю або абмежаванай залежнасцю ад падключэння да Інтэрнэту мае велізарны патэнцыял у будучыні, паколькі большасць вузкіх штучны інтэлект будзе рэалізавана на краявых прыладах або незалежных убудаваных гаджэтах.
Гэта зробіць прыкладанні IoT больш прыватнымі і бяспечнымі, выкарыстоўваючы іх. Хаця TensorFlow У цяперашні час Lite з'яўляецца адзінай структурай машыннага навучання для мікракантролераў і мікракампутараў, іншыя супастаўныя структуры, такія як датчык і CMSIS-NN ад ARM, знаходзяцца ў распрацоўцы.
Нягледзячы на тое, што TensorFlow Lite - гэта праект з адкрытым зыходным кодам, які знаходзіцца ў стадыі распрацоўкі і атрымаў выдатны пачатак з камандай Google, яму ўсё яшчэ патрэбна падтрымка супольнасці, каб увайсці ў мэйнстрым.
заключэнне
TinyML - гэта новы падыход, які спалучае ўбудаваныя сістэмы з машынным навучаннем. Паколькі вузкі штучны інтэлект дасягае піка ў многіх вертыкалях і сферах, гэтая тэхналогія можа стаць прыкметным падполлем машыннага навучання і штучнага інтэлекту.
Гэта забяспечвае рашэнне шматлікіх праблем, з якімі цяпер сутыкаецца сектар IoT і прафесіяналы, якія прымяняюць машыннае навучанне да многіх даменных дысцыплін.
Канцэпцыя выкарыстання машыннага навучання ў крайнія прылады з невялікім выліч след і энергаспажыванне можа істотна змяніць тое, як ствараюцца ўбудаваныя сістэмы і робататэхніка.
Пакінуць каментар