Моделите за машинско учење се насекаде насекаде во моментов. Во текот на денот, веројатно ги користите овие модели многу повеќе отколку што сфаќате. Моделите за машинско учење се користат во вообичаени задачи како што се прелистување на социјалните мрежи, фотографирање и проверка на времето.
Алгоритам за машинско учење можеби ви го препорачал овој блог. Сите сме слушнале за тоа колку одзема време да се обучуваат овие модели. Сите сме слушнале дека тренирањето на овие модели одзема многу време.
Сепак, изведувањето заклучоци за овие модели често е пресметковно скапо.
Потребни ни се компјутерски системи кои се доволно брзи за да се справат со брзината со која ги користиме услугите за машинско учење. Како резултат на тоа, поголемиот дел од овие модели се извршуваат на масивни центри за податоци со кластери на CPU и GPU (дури и TPU во некои случаи).
Кога фотографирате, сакате машинско учење веднаш да го подобрите. Не сакате да чекате сликата да биде префрлена во центар за податоци, обработка и вратена кај вас. Во овој случај, моделот за машинско учење треба да се изврши локално.
Кога ќе кажете „Hey Siri“ или „OK, Google“, сакате вашите гаџети да одговорат веднаш. Чекате вашиот глас да се пренесе на компјутерите, каде што ќе се процени и ќе се добијат податоци.
За ова е потребно време и има штетен ефект врз корисничкото искуство. Во овој случај, сакате моделот за машинско учење да работи и локално. Ова е местото каде што влегува TinyML.
Во овој пост, ќе разгледаме TinyML, како функционира, неговите употреби, како да започнете со него и многу повеќе.
Што е TinyML?
TinyML е најсовремена дисциплина која го применува револуционерниот потенцијал на машинското учење на ограничувањата на перформансите и моќноста на малите уреди и вградените системи.
Успешното распоредување во оваа индустрија бара темелно разбирање на апликациите, алгоритмите, хардверот и софтверот. Тоа е поджанр за машинско учење што користи модели за длабоко учење и машинско учење во вградени системи кои користат микроконтролери, процесори за дигитален сигнал или други специјализирани процесори со ултра ниска моќност.
Вградените уреди со овозможен TinyML се наменети да работат алгоритам за машинско учење за одредена работа, обично како дел од уредот работна пресметка.
За да работат со недели, месеци, па дури и години без полнење или замена на батеријата, овие вградени системи мора да имаат потрошувачка на енергија помала од 1 mW.
Како работи?
Единствената рамка за машинско учење што може да се користи со микроконтролери и компјутери е 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 е проект. Комарецот користи TinyML за да го запре ширењето на болести како што се денга и маларија. Се напојува со сончева енергија и ги детектира условите за размножување комарци пред да ѝ даде сигнал на водата да го спречи размножувањето на комарците.
- Надзор на сообраќајот – Од со примена на TinyML на сензори кои собираат податоци за сообраќајот во реално време, можеме да ги користиме за подобро насочување на сообраќајот и намалување на времето на одговор на возилата за итни случаи. Swim.AI, на пример, ја користи оваа технологија за пренос на податоци за да ја зголеми безбедноста на патниците, а истовремено да го намали застојот и емисиите преку паметно рутирање.
- Право: TinyML може да се користи во спроведувањето на законот за да се идентификуваат незаконски дејствија како што се немири и кражби со помош на машинско учење и препознавање гестови. Слична програма може да се користи и за обезбедување на банкарски банкомати. Со следење на однесувањето на корисникот, моделот TinyML може да предвиди дали корисникот е вистински потрошувач кој завршува трансакција или натрапник кој се обидува да го хакира или уништи банкоматот.
Како да започнете со TinyML?
За да започнете со TinyML во TensorFlow Lite, ќе ви треба компатибилна плочка за микроконтролер. TensorFlow Lite за микроконтролери ги поддржува микроконтролерите наведени подолу.
- Терминал Wio: ATSAMD51
- Одбор за развој на Himax WE-I Plus EVB Endpoint AI
- Комплет за откривање STM32F746
- Adafruit EdgeBadge
- Платформа за развој на софтвер Synopsys DesignWare ARC EM
- Сони Спресенс
- Ардуино Нано 33 BLE Sense
- SparkFun Edge
- Комплет за микроконтролери Adafruit TensorFlow Lite
- Adafruit Circuit Playground Bluefruit
- Еспресив ESP32-DevKitC
- Еспресив ESP-EYE
Овие се 32-битни микроконтролери кои имаат доволно флеш меморија, RAM и фреквенција на часовникот за извршување на модел за машинско учење. Плочите исто така имаат голем број на вградени сензори способни за извршување на која било вградена програма и примена на модели за машинско учење на целната апликација. До изгради модел за машинско учење, ќе ви треба лаптоп или компјутер покрај хардверска платформа.
Секоја хардверска платформа има свои алатки за програмирање за градење, обука и пренесување модели за машинско учење, кои го користат пакетот TensorFlow Lite за микроконтролери. TensorFlow Lite е бесплатен за користење и менување бидејќи е така со отворен код.
За да започнете со TinyML и TensorFlow Lite, сè што ви треба е една од горенаведените вградени хардверски платформи, компјутер/лаптоп, USB-кабел, конвертор USB-to-Serial – и желба да вежбате машинско учење со вградени системи .
Предизвици
Иако напредокот на TinyML донесе многу позитивни резултати, индустријата за машинско учење сè уште се соочува со значителни пречки.
- Разновидност на софтвер - Рачно кодирање, генерирање код и ML преведувачи се сите опции за распоредување модели на уредите TinyML и за секој одзема различно време и напор. Како резултат на ова може да се појават различни изведби.
- Разновидност на хардверот - Таму се достапни неколку хардверски опции. Платформите TinyML можат да бидат што било, од микроконтролери за општа намена до врвни нервни процесори. Ова предизвикува проблеми со распоредувањето на моделот низ различни архитектури.
- Решавање проблеми/дебагирање – Кога ML моделот работи лошо на облакот, едноставно е да се погледнат податоците и да се открие што не е во ред. Кога моделот е распространет низ илјадници TinyML уреди, без проток на податоци што се враќа во облакот, отстранувањето грешки станува тешко и може да бара поинаков метод.
- Ограничувања на меморијата – Традиционално платформите, како што се паметните телефони и лаптопите, имаат потреба од гигабајти RAM меморија, додека уредите TinyML користат килобајти или мегабајти. Како резултат на тоа, големината на моделот што може да се распореди е ограничена.
- Модел за обука – Иако има неколку предности за имплементирање на ML модели на уредите TinyML, најголемиот дел од ML моделите сè уште се обучени на облакот за повторување и постојано подобрување на точноста на моделот.
Иднина
TinyML, со својот мал отпечаток, малата потрошувачка на батерија и недостатокот или ограниченото потпирање на интернет конекција, има огромен потенцијал во иднина, бидејќи поголемиот дел од тесните вештачка интелигенција ќе се имплементира на edge уреди или независни вградени гаџети.
Ќе ги направи IoT апликациите поприватни и побезбедни со нивно искористување. Иако TensorFlow Лајт во моментов е единствената рамка за машинско учење за микроконтролери и микрокомпјутери, а други споредливи рамки како што се сензорот и CMSIS-NN на ARM се во фаза на работа.
Иако TensorFlow Lite е проект со отворен код во тек, кој започна со одличен почеток со тимот на Google, сепак му треба поддршка од заедницата за да влезе во мејнстримот.
Заклучок
TinyML е нов пристап кој комбинира вградени системи со машинско учење. Бидејќи тесната вештачка интелигенција достигнува врв во многу вертикали и домени, технологијата може да се појави како истакнато подполе во машинското учење и вештачката интелигенција.
Тој обезбедува решение за бројните предизвици со кои сега се соочува секторот IoT и професионалците кои применуваат машинско учење во многу дисциплини специфични за домен.
Концептот на искористување на машинското учење кај рабните уреди со мало пресметување отпечатокот и потрошувачката на енергија има потенцијал значително да го трансформира начинот на кој се конструираат вградените системи и роботиката.
Оставете Одговор