Modele i platformy AI
TinyML: Zastosowania, Ograniczenia i Użycie w Urządzeniach IoT i Edge

W ciągu ostatnich kilku lat, sztuczna inteligencja (AI) i uczenie maszynowe (ML) doświadczyły gwałtownego wzrostu popularności i zastosowań, nie tylko w przemyśle, ale także w środowisku akademickim. Jednak dzisiejsze modele ML i AI mają jedną dużą wadę: wymagają ogromnej ilości mocy obliczeniowej i przetwarzania, aby osiągnąć pożądane wyniki i dokładność. To często ogranicza ich użycie do urządzeń o dużej mocy obliczeniowej.
Jednakże, dzięki postępom w technologii systemów osadzonych i rozwojowi przemysłu Internetu Rzeczy (IoT), jest pożądane, aby wykorzystać techniki ML i pojęcia w systemach osadzonych o ograniczonych zasobach. Pragnienie wykorzystania pojęć ML w systemach osadzonych i IoT jest głównym motywatorem rozwoju TinyML, techniki ML osadzonej, która pozwala na modele i aplikacje ML na wielu urządzeniach o ograniczonych zasobach, ograniczonych pod względem mocy i tanich.
Jednakże, wdrożenie ML na urządzeniach o ograniczonych zasobach nie było proste, ponieważ wdrożenie modeli ML na urządzeniach o niskiej mocy obliczeniowej stwarza własne wyzwania w zakresie optymalizacji, pojemności przetwarzania, niezawodności, utrzymania modeli i wielu innych.
W tym artykule, będziemy się głębiej zajmowali modelem TinyML, i dowiemy się więcej o jego tle, narzędziach wspierających TinyML, oraz zastosowaniach TinyML z wykorzystaniem zaawansowanych technologii. Zatem, zacznijmy.
Wprowadzenie do TinyML: Dlaczego Świat Potrzebuje TinyML
Urządzenia Internetu Rzeczy (IoT) mają na celu wykorzystanie obliczeń brzegowych, paradygmatu obliczeniowego, który odnosi się do zakresu urządzeń i sieci w pobliżu użytkownika, aby umożliwić bezproblemowe i rzeczywiste przetwarzanie danych z milionów czujników i urządzeń połączonych ze sobą. Jednym z głównych zalet urządzeń IoT jest to, że wymagają niskiej mocy obliczeniowej i przetwarzania, ponieważ są wdrażane na brzegu sieci, a zatem mają niską stopę pamięci.
Ponadto, urządzenia IoT w dużej mierze polegają na platformach brzegowych do zbierania i przesyłania danych, ponieważ urządzenia brzegowe zbierają dane sensoryczne, a następnie przesyłają je do pobliskiej lokalizacji lub platformy chmurowej do przetwarzania. Technologia obliczeń brzegowych przechowuje i wykonuje obliczenia na danych, a także zapewnia niezbędną infrastrukturę do wspierania obliczeń rozproszonych.
Wdrożenie obliczeń brzegowych w urządzeniach IoT zapewnia
- Skuteczną bezpieczeństwo, prywatność i niezawodność dla użytkowników końcowych.
- Niższą opóźnienie.
- Wyższą dostępność i przepustowość odpowiedzi na aplikacje i usługi.
Ponadto, ponieważ urządzenia brzegowe mogą wdrożyć technikę współpracy między czujnikami a chmurą, przetwarzanie danych może być prowadzone na brzegu sieci, zamiast na platformie chmurowej. To może skutkować skutecznym zarządzaniem danymi, trwałością danych, skuteczną dostawą i buforowaniem treści. Dodatkowo, wdrożenie IoT w aplikacjach, które dotyczą interakcji człowiek-maszyna i nowoczesnej opieki zdrowotnej, obliczenia brzegowe zapewniają sposób na znaczące poprawienie usług sieciowych.
Najnowsze badania w dziedzinie obliczeń brzegowych w IoT wykazały potencjał wdrożenia technik ML w kilku przypadkach użycia IoT. Jednak głównym problemem jest to, że tradycyjne modele ML często wymagają dużej mocy obliczeniowej i wysokiej pojemności pamięci, co ogranicza wdrożenie modeli ML w urządzeniach IoT i aplikacjach.
Ponadto, technologia obliczeń brzegowych obecnie nie ma wystarczającej pojemności transmisyjnej i skutecznych oszczędności energii, co prowadzi do heterogenicznych systemów, co jest główną przyczyną wymagania harmonijnej i holistycznej infrastruktury, głównie do aktualizacji, szkolenia i wdrożenia modeli ML. Architektura zaprojektowana dla urządzeń osadzonych stanowi kolejne wyzwanie, ponieważ te architektury zależą od wymagań sprzętowych i programowych, które różnią się w zależności od urządzenia. Jest to główna przyczyna, dla której trudno zbudować standardową architekturę ML dla sieci IoT.
Ponadto, w obecnej sytuacji, dane generowane przez różne urządzenia są wysyłane do platform chmurowych do przetwarzania ze względu na obliczeniowo intensywny charakter wdrożeń sieciowych. Dodatkowo, modele ML często zależą od głębokiego uczenia, głębokich sieci neuronowych, aplikacji specyficznych układów scalonych (ASIC) i jednostek przetwarzania graficznego (GPU) do przetwarzania danych, a one często mają wyższe wymagania mocy i pamięci. Wdrożenie pełnych modeli ML na urządzeniach IoT nie jest wiarygodnym rozwiązaniem ze względu na oczywisty brak mocy obliczeniowej i ograniczone rozwiązania pamięciowe.
Popyt na miniaturyzację niskiej mocy urządzeń osadzonych, połączony z optymalizacją modeli ML, aby uczynić je bardziej efektywnymi pod względem mocy i pamięci, otworzył drogę do TinyML, który ma na celu wdrożenie modeli i praktyk ML na urządzeniach brzegowych IoT i framework. TinyML umożliwia przetwarzanie sygnałów na urządzeniach IoT i zapewnia wbudowaną inteligencję, eliminując w ten sposób potrzebę transferu danych do platform chmurowych do przetwarzania. Pomyślne wdrożenie TinyML na urządzeniach IoT może ostatecznie skutkować zwiększoną prywatnością i efektywnością, a także zmniejszeniem kosztów operacyjnych. Dodatkowo, to, co sprawia, że TinyML jest bardziej atrakcyjny, to fakt, że w przypadku niewystarczającej łączności, może zapewnić analitykę na miejscu.
TinyML: Wprowadzenie i Przegląd
TinyML to narzędzie ML, które ma możliwość wykonywania analizy na urządzeniu dla różnych modalności sensorycznych, takich jak audio, wizja i mowa. Modele ML zbudowane na narzędziu TinyML mają niskie wymagania mocy, pamięci i obliczeniowe, co sprawia, że są one odpowiednie dla sieci osadzonych i urządzeń, które działają na zasilaniu bateryjnym. Dodatkowo, niskie wymagania TinyML sprawiają, że jest to idealne rozwiązanie do wdrożenia modeli ML na frameworku IoT.
W obecnej sytuacji, systemy ML oparte na chmurze napotykają kilka trudności, w tym problemy z bezpieczeństwem i prywatnością, wysokie zużycie energii, niezawodność i opóźnienia, co sprawia, że modele na platformach sprzętowo-programowych są preinstalowane. CzuJNIKI zbierają dane, które symulują świat fizyczny, a następnie są przetwarzane za pomocą CPU lub MPU (Microprocessing Unit). MPU spełnia wymagania wsparcia analitycznego ML, umożliwionego przez sieci i architekturę brzegową. Architektura ML brzegowa komunikuje się z chmurą ML w celu transferu danych i wdrożenia TinyML, co może skutkować znaczącym postępem w technologii.
Można powiedzieć, że TinyML to połączenie oprogramowania, sprzętu i algorytmów, które współpracują ze sobą, aby zapewnić pożądane wyniki. Może być konieczne użycie analogowych lub pamięciowych obliczeń, aby zapewnić lepsze i bardziej efektywne doświadczenie uczenia się dla urządzeń sprzętowych i IoT, które nie obsługują akceleratorów sprzętowych. Jeśli chodzi o oprogramowanie, aplikacje zbudowane z wykorzystaniem TinyML mogą być wdrażane i wykonywane na platformach takich jak Linux lub osadzony Linux, a także na oprogramowaniu w chmurze. Wreszcie, aplikacje i systemy zbudowane na algorytmie TinyML muszą mieć wsparcie nowych algorytmów, które wymagają niskiej pojemności pamięci, aby uniknąć wysokiego zużycia pamięci.
Podsumowując, aplikacje zbudowane z wykorzystaniem narzędzia TinyML muszą optymalizować zasady i metody ML, a także projektować oprogramowanie w sposób kompaktowy, w obecności wysokiej jakości danych. Te dane muszą być następnie przesłane za pomocą plików binarnych, które są generowane za pomocą modeli szkolonych na maszynach o większej pojemności i mocy obliczeniowej.
Ponadto, systemy i aplikacje działające na narzędziu TinyML muszą zapewnić wysoką dokładność podczas wykonywania w ścisłych ograniczeniach, ponieważ kompaktowe oprogramowanie jest wymagane do niskiego zużycia energii, które obsługuje implikacje TinyML. Dodatkowo, aplikacje i moduły TinyML mogą zależeć od zasilania bateryjnego, aby obsługiwać swoje operacje na urządzeniach osadzonych na brzegu.
Mówiąc krótko, aplikacje TinyML mają dwa podstawowe wymagania
- Możliwość skalowania miliardów tanich systemów osadzonych.
- Przechowywanie kodu na urządzeniu RAM z pojemnością poniżej kilku KB.
Zastosowania TinyML z Wykorzystaniem Zaawansowanych Technologii
Jednym z głównych powodów, dla których TinyML jest gorącym tematem w branży AI i ML, jest jego potencjał zastosowań, w tym wizji i mowy opartej na aplikacjach, diagnozie zdrowia, klasyfikacji i kompresji wzorców danych, interfejsie mózg-komputer, obliczeniach brzegowych, fenomicach, samochodach autonomicznych i innych.
Aplikacje Oparte na Mowie
Komunikacja Mowy
Typowo, aplikacje oparte na mowie polegają na konwencjonalnych metodach komunikacji, w których wszystkie dane są ważne i są przesyłane. Jednak w ostatnich latach, komunikacja semantyczna pojawiła się jako alternatywa dla konwencjonalnej komunikacji, w której tylko znaczenie lub kontekst danych jest przesyłany. Komunikację semantyczną można wdrożyć w aplikacjach opartych na mowie z wykorzystaniem metodologii TinyML.
Niektóre z najpopularniejszych aplikacji w branży komunikacji opartej na mowie to wykrywanie mowy, rozpoznawanie mowy, nauka online, nauczanie online i komunikacja ukierunkowana na cel. Te aplikacje typowo mają wyższe zużycie energii i mają wysokie wymagania dotyczące danych na urządzeniu.
Aby wykorzystać TinyML do wzmocnienia mowy, deweloperzy najpierw zajęli się rozmiarem modelu wzmocnienia mowy, ponieważ był on ograniczony przez ograniczenia sprzętowe i ograniczenia. Aby rozwiązać ten problem, zastosowano prunning strukturalny i kwantyzację całkowitą dla modelu wzmocnienia mowy opartego na RNN (Recurrent Neural Network). Wyniki wskazały, że rozmiar modelu został zmniejszony o prawie 12 razy, a operacje zostały zmniejszone o prawie 3 razy. Dodatkowo, jest niezwykle ważne, aby zasoby były wykorzystywane skutecznie, zwłaszcza podczas wdrażania na aplikacjach o ograniczonych zasobach, które wykonują aplikacje rozpoznawania głosu.
W rezultacie, aby podzielić proces, zaproponowano metodę współprojektu dla aplikacji opartych na głosie i mowie z wykorzystaniem TinyML. Deweloperzy użyli operacji windowing, aby podzielić oprogramowanie i sprzęt w taki sposób, aby przetworzyć surowe dane głosowe. Metoda okazała się skuteczna, ponieważ wyniki wskazały spadek zużycia energii na sprzęcie. Wreszcie, istnieje potencjał, aby wdrożyć zoptymalizowane podziałowanie między oprogramowaniem i sprzętem współprojektu dla lepszej wydajności w najbliższej przyszłości.
Ponadto, ostatnie badania zaproponowały użycie transduktora opartego na telefonie do systemów rozpoznawania mowy, a propozycja ma na celu zastąpienie predictorów LSTM warstwą Conv1D, aby zmniejszyć potrzeby obliczeniowe na urządzeniach brzegowych. Gdy wdrożono tę propozycję, wyniki były pozytywne, ponieważ SVD (Singular Value Decomposition) skompresował model pomyślnie, a użycie WFST (Weighted Finite State Transducers) do dekodowania dało więcej elastyczności w poprawie modelu.
Wiele popularnych aplikacji rozpoznawania mowy, takich jak asystenci głosowi i live captioning, wykorzystuje techniki ML, aby działać. Popularni asystenci głosowi, tacy jak Siri i Asystent Google (GOOGL ), wysyłają dane do platformy chmurowej za każdym razem, gdy otrzymują jakieś dane, co powoduje znaczące problemy związane z prywatnością i bezpieczeństwem danych. TinyML jest wiarygodnym rozwiązaniem tego problemu, ponieważ ma na celu wykonywać rozpoznawanie mowy na urządzeniach i eliminować potrzebę migracji danych do platform chmurowych. Jednym ze sposobów, aby osiągnąć rozpoznawanie mowy na urządzeniu, jest użycie Tiny Transducer, modelu rozpoznawania mowy, który wykorzystuje warstwę DFSMN (Deep Feed-Forward Sequential Memory Block) połączoną z jedną warstwą Conv1D zamiast warstw LSTM, aby zmniejszyć wymagania obliczeniowe i parametry sieci.
Aparaty Słuchowe
Utrata słuchu jest poważnym problemem zdrowotnym na całym świecie, a ludzka zdolność słyszenia słabnie z wiekiem, co jest poważnym problemem w krajach, które mają do czynienia z starzejącą się populacją, w tym Chiny, Japonię i Koreę Południową. Aparaty słuchowe działają obecnie na prostym zasadzie wzmocnienia wszystkich dźwięków z otoczenia, co utrudnia osobie odróżnienie pożądanego dźwięku, zwłaszcza w środowisku hałaśliwym.
TinyML może być wiarygodnym rozwiązaniem tego problemu, ponieważ użycie modelu TinyLSTM, który wykorzystuje algorytm rozpoznawania mowy dla aparatów słuchowych, może pomóc użytkownikom odróżnić różne dźwięki.
Aplikacje Operte na Wizji
TinyML ma potencjał, aby odegrać kluczową rolę w przetwarzaniu danych wizyjnych, ponieważ do uzyskania szybszych wyników, te dane muszą być przetwarzane na platformie brzegowej. Aby to osiągnąć, model TinyML napotkał praktyczne wyzwania podczas szkolenia modelu z wykorzystaniem płyty mikrokontrolera OpenMV H7. Deweloperzy również zaproponowali architekturę do wykrywania amerykańskiego języka migowego z wykorzystaniem mikrokontrolera ARM Cortex M7, który działa tylko z 496 KB pamięci RAM.
Wdrożenie TinyML dla aplikacji wizyjnych na platformach brzegowych wymagało od deweloperów, aby pokonali główne wyzwanie związane z sieciami neuronowymi CNN (Convolutional Neural Networks) o wysokim błędzie generalizacji i wysokiej dokładności szkolenia i testowania. Jednak wdrożenie nie generalizowało skutecznie do obrazów w nowych przypadkach użycia, a także do tła z hałasem. Gdy deweloperzy użyli metody interpolacji augmentacji, model zwrócił wynik dokładności powyżej 98% na danych testowych i około 75% w generalizacji.

Ponadto, zaobserwowano, że gdy deweloperzy użyli metody interpolacji augmentacji, nastąpił spadek dokładności modelu podczas kwantyzacji, ale jednocześnie nastąpił wzrost szybkości inferencji modelu i klasyfikacji generalizacji. Deweloperzy również zaproponowali metodę, aby dalej poprawić dokładność modelu szkolenia na danych uzyskanych z różnych źródeł i testowania wydajności, aby zbadać możliwość wdrożenia go na platformach brzegowych, takich jak noszone zegarki inteligentne.
Ponadto, dodatkowe badania na temat sieci CNN wskazały, że jest możliwe wdrożenie i uzyskanie pożądanych wyników z architekturą CNN na urządzeniach o ograniczonych zasobach. Ostatnio, deweloperzy byli w stanie opracować ramy do wykrywania masek medycznych na mikrokontrolerze ARM Cortex M7 o ograniczonych zasobach z wykorzystaniem TensorFlow Lite z minimalnymi śladami pamięciowymi. Rozmiar modelu po kwantyzacji wyniósł około 138 KB, a szybkość inferencji na docelowym układzie wyniosła około 30 FPS.
Inną aplikacją TinyML dla aplikacji wizyjnych jest wdrożenie urządzenia rozpoznawania gestów, które może być zamontowane na lasce, aby pomóc osobom niewidomym poruszać się przez codzienne życie. Aby to zaprojektować, deweloperzy użyli zestawu danych gestów i użyli tego zestawu danych do szkolenia modelu ProtoNN z algorytmem klasyfikacji. Wyniki uzyskane z tego zestawu były dokładne, a projekt był niskokosztowy i dawał zadowalające wyniki.
Inną znaczącą aplikacją TinyML jest przemysł samochodów autonomicznych i pojazdów bezzałogowych ze względu na brak zasobów i mocy obliczeniowej. Aby rozwiązać ten problem, deweloperzy wprowadzili metodę uczenia zamkniętego, zbudowaną na modelu TinyCNN, która zaproponowała model predykcyjny online, który przechwytuje obraz w czasie rzeczywistym. Głównym problemem, z którym deweloperzy spotkali się podczas wdrożenia TinyML dla jazdy autonomicznej, było to, że model decyzyjny, który został przeszkolony do pracy z danymi offline, może nie działać równie dobrze, gdy ma do czynienia z danymi online. Aby w pełni wykorzystać aplikacje samochodów autonomicznych i jazdy autonomicznej, model powinien idealnie móc dostosować się do danych w czasie rzeczywistym.
Klasyfikacja i Kompresja Wzorców Danych
Jednym z największych wyzwań obecnej ramy TinyML jest umożliwienie jej adaptacji do danych szkoleniowych online. Aby rozwiązać ten problem, deweloperzy zaproponowali metodę zwaną TinyOL (TinyML Online Learning), która pozwala na szkolenie z incremetalnym uczeniem online na jednostkach mikrokontrolera, co umożliwia aktualizację modelu na urządzeniach brzegowych IoT. Wdrożenie zostało osiągnięte z wykorzystaniem języka programowania C++ i dodano dodatkową warstwę do architektury TinyOL.
Ponadto, deweloperzy również przeprowadzili auto-kodowanie płyty Arduino Nano 33 BLE i model, który został przeszkolony, był w stanie sklasyfikować nowe wzorce danych. Dodatkowo, praca rozwojowa obejmowała projektowanie wydajnych i optymalnych algorytmów dla sieci neuronowych, aby wspierać wzorce szkolenia urządzeń online.
Badania nad TinyOL i TinyML wskazały, że liczba warstw aktywacyjnych była głównym problemem dla urządzeń brzegowych IoT o ograniczonych zasobach. Aby rozwiązać ten problem, deweloperzy wprowadzili nowy model TinyTL (Tiny Transfer Learning), aby uczynić wykorzystanie pamięci na urządzeniach brzegowych bardziej efektywnym i uniknąć użycia warstw pośrednich do celów aktywacyjnych. Dodatkowo, deweloperzy również wprowadzili nowy moduł bias zwanym “lite-residual module”, aby maksymalizować możliwości adaptacji i umożliwić wykrywaczom cech odkryć mapy cech resztkowych.
Gdy porównano to z pełnym dostosowaniem sieci, wyniki były na korzyść architektury TinyTL, ponieważ wyniki pokazały, że TinyTL zmniejszył nakład pamięci o około 6,5 razy przy umiarkowanej stracie dokładności. Gdy ostatnia warstwa została dostosowana, TinyML poprawił dokładność o 34% przy umiarkowanej stracie dokładności.
Ponadto, badania nad kompresją danych wskazały, że algorytmy kompresji danych muszą zarządzać danymi zebranymi na urządzeniu przenośnym, a aby to osiągnąć, deweloperzy zaproponowali TAC (Tiny Anomaly Compressor). TAC był w stanie przewyższyć algorytmy SDT (Swing Door Trending) i DCT (Discrete Cosine Transform). Dodatkowo, algorytm TAC przewyższył oba algorytmy SDT i DCT, osiągając maksymalny współczynnik kompresji powyżej 98% i mając najwyższy współczynnik sygnału do szumu spośród trzech algorytmów.
Diagnoza Zdrowia
Pandemia COVID-19 otworzyła nowe możliwości wdrożenia TinyML, ponieważ jest to niezwykle ważne, aby ciągle wykrywać objawy oddechowe związane z kaszlem i przeziębieniem. Aby zapewnić nieprzerwane monitorowanie, deweloperzy zaproponowali model CNN Tiny RespNet, który działa w wielomodalnym ustawieniu, a model jest wdrożony na układzie FPGA Xilinx Artix-7 100t, co pozwala urządzeniu przetwarzać informacje równolegle, ma wysoką wydajność i niskie zużycie energii. Dodatkowo, model TinyResp również pobiera mowę pacjentów, nagrania audio i informacje demograficzne, aby sklasyfikować i objawy kaszlu pacjenta są klasyfikowane przy użyciu trzech odrębnych zestawów danych.
Ponadto, deweloperzy również zaproponowali model, który może działać na urządzeniach brzegowych, model TinyML zwanym TinyDL. Model TinyDL może być wdrożony na urządzeniach brzegowych, takich jak zegarki inteligentne i noszone urządzenia, do diagnozy zdrowia i jest również w stanie wykonać analizę wydajności, aby zmniejszyć zużycie energii i opóźnienia. Aby wdrożyć model TinyDL na urządzeniach przenośnych, zaprojektowano i przeszkolono model LSTM specjalnie dla urządzenia noszonego, a następnie podano zebrane dane jako dane wejściowe. Model ma wynik dokładności około 75 do 80% i był w stanie działać z danymi poza urządzeniem.
Wreszcie, deweloperzy również zaproponowali inną aplikację do monitorowania zdrowia osób starszych, szacując i analizując ich pozycje ciała. Model wykorzystuje agnostyczny framework na urządzeniu, który pozwala modelowi na walidację i szybkie dostosowanie, aby wykonywać adaptacje. Model wdrożył algorytmy wykrywania pozycji ciała połączone z punktami twarzy, aby wykryć pozycje ciała w czasie rzeczywistym.
Obliczenia Brzegowe
Jednym z głównych zastosowań TinyML jest przemysł obliczeń brzegowych, ponieważ wraz ze wzrostem użycia urządzeń IoT do połączenia urządzeń na całym świecie, jest niezwykle ważne, aby ustawić urządzenia brzegowe, co pomoże w zmniejszeniu obciążenia architektur chmurowych. Te urządzenia brzegowe będą miały indywidualne centra danych, które pozwolą na wykonywanie obliczeń na wysokim poziomie na samym urządzeniu, zamiast polegać na architekturze chmurowej. W rezultacie, pomoże to w zmniejszeniu zależności od chmury, opóźnień, poprawie bezpieczeństwa i prywatności użytkowników, a także zmniejszeniu zużycia energii.
Urządzenia brzegowe z wykorzystaniem algorytmów TinyML pomogą w rozwiązaniu obecnych ograniczeń związanych z mocą, obliczeniami i wymaganiami pamięci, co jest omówione na poniższym obrazie.

Ponadto, TinyML może również poprawić użycie i aplikację Bezpilotowych Statków Powietrznych (UAV) przez rozwiązanie obecnych ograniczeń, z którymi te maszyny mają do czynienia. Użycie TinyML może pozwolić deweloperom na wdrożenie urządzenia o niskim zużyciu energii, niskim opóźnieniu i wysokiej mocy obliczeniowej, które może działać jako kontroler dla tych UAV.
Interfejs Mózg-Komputer (BCI)
TinyML ma znaczące zastosowania w przemyśle opieki zdrowotnej i może okazać się niezwykle przydatny w różnych dziedzinach, w tym w wykrywaniu nowotworów i guzów, predykowaniu zdrowia z wykorzystaniem sygnałów ECG i EEG, a także w inteligencji emocjonalnej. Użycie TinyML może pozwolić na adaptację Stymulacji Mózgu (aDBS) do klinicznych adaptacji. Użycie TinyML może również pozwolić na identyfikację bio-marków związanych z chorobami i ich objawów z wykorzystaniem inwazyjnych nagrań sygnałów mózgowych.
Ponadto, przemysł opieki zdrowotnej często obejmuje zebranie dużej ilości danych pacjentów, a następnie przetworzenie tych danych, aby osiągnąć konkretne rozwiązania dla leczenia pacjenta we wczesnych stadiach choroby. W rezultacie, jest niezwykle ważne, aby zbudować system, który jest nie tylko wysoce efektywny, ale także wysoce bezpieczny. Gdy łączymy aplikacje IoT z modelem TinyML, powstaje nowa dziedzina zwaną Healthcare Internet of Things (H-IoT), a główne zastosowania H-IoT to diagnoza, monitorowanie, logistyka, kontrola rozprzestrzeniania i systemy wspomagające. Jeśli chcemy rozwijać urządzenia, które mogą wykrywać i analizować zdrowie pacjentów na odległość, jest niezwykle ważne, aby zbudować system, który ma globalny zasięg i niskie opóźnienia.

Pojazdy Autonomiczne
Wreszcie, TinyML może mieć szerokie zastosowania w przemyśle pojazdów autonomicznych, ponieważ te pojazdy mogą być wykorzystywane w różnych celach, w tym śledzenie ludzi, cele militarne i mają zastosowania przemysłowe. Pojazdy te mają podstawowe wymaganie, aby mogły skutecznie identyfikować obiekty, gdy obiekt jest wyszukiwany.
Obecnie, pojazdy autonomiczne i jazda autonomiczna są dość złożonymi zadaniami, zwłaszcza podczas rozwijania małych lub średnich pojazdów. Ostatnie rozwoju wskazały potencjał, aby poprawić aplikację jazdy autonomicznej dla małych pojazdów z wykorzystaniem architektury CNN i wdrożeniem modelu na układzie GAP8 MCI.
Wyzwania
TinyML to stosunkowo nowy koncept w branży AI i ML, a pomimo postępu, nadal nie jest tak skuteczny, jak potrzebujemy, aby wdrożyć go na urządzeniach brzegowych i IoT.
Największym wyzwaniem, z którym obecnie zmagają się urządzenia TinyML, jest zużycie energii tych urządzeń. Idealnie, urządzenia osadzone i IoT powinny mieć żywotność baterii, która sięga ponad 10 lat. Na przykład, w idealnych warunkach, urządzenie IoT zasilane bateryjnie o pojemności 2 Ah powinno mieć żywotność baterii ponad 10 lat, przy założeniu, że zużycie energii urządzenia wynosi około 12 μA. Jednak w danych warunkach, architektura IoT z czujnikiem temperatury, jednostką MCU i modułem Wi-Fi ma zużycie prądu wynoszące około 176,4 mA, a z tym zużyciem energii, bateria będzie trwała tylko około 11 godzin, zamiast wymaganych 10 lat żywotności baterii.
Ograniczenia Zasobów
Aby utrzymać spójność algorytmu, jest niezwykle ważne, aby utrzymać dostępność mocy, a w obecnej sytuacji, ograniczona dostępność mocy dla urządzeń TinyML jest krytycznym wyzwaniem. Ponadto, ograniczenia pamięci są również znaczącym wyzwaniem, ponieważ wdrożenie modeli często wymaga dużej ilości pamięci, aby działać skutecznie i dokładnie.
Ograniczenia Sprzętowe
Ograniczenia sprzętowe utrudniają wdrożenie algorytmów TinyML na dużą skalę ze względu na heterogeniczność urządzeń sprzętowych. Istnieje tysiące urządzeń, z których każde ma własne specyfikacje i wymagania sprzętowe, a w rezultacie, algorytm TinyML musi być dostosowany do każdego indywidualnego urządzenia, co sprawia, że wdrożenie na dużą skalę jest znaczącym problemem.
Ograniczenia Zestawów Danych
Jednym z głównych problemów z modelem TinyML jest to, że nie obsługuje istniejących zestawów danych. Jest to wyzwanie dla wszystkich urządzeń brzegowych, ponieważ zbierają dane z zewnętrznych czujników, a te urządzenia często mają ograniczenia mocy i energii. W rezultacie, istniejące zestawy danych nie mogą być użyte do skutecznego szkolenia modeli TinyML.
Końcowe Myśli
Rozwój technik ML spowodował rewolucję i zmianę perspektywy w ekosystemie IoT. Integracja modeli ML w urządzeniach IoT pozwoli tym urządzeniom brzegowym na podejmowanie inteligentnych decyzji bez żadnego zewnętrznego wpływu ludzkiego. Jednak konwencjonalnie, modele ML często mają wysokie wymagania mocy, pamięci i obliczeniowe, co sprawia, że są one nieodpowiednie do wdrożenia na urządzeniach brzegowych, które często mają ograniczone zasoby.
W rezultacie, nowa gałąź w AI została poświęcona użyciu ML dla urządzeń IoT, i została nazwana TinyML. TinyML to ramy ML, które pozwalają nawet urządzeniom o ograniczonych zasobach na wykorzystanie mocy AI i ML, aby zapewnić wyższą dokładność, inteligencję i efektywność.
W tym artykule, omówiliśmy wdrożenie modeli TinyML na urządzeniach o ograniczonych zasobach, i to wdrożenie wymaga szkolenia modeli, wdrożenia modeli na sprzęcie i wykonywania technik kwantyzacji. Jednakże, biorąc pod uwagę obecny zakres, modele ML gotowe do wdrożenia na urządzeniach IoT i brzegowych mają wiele złożoności i ograniczeń, w tym problemy ze sprzętem i kompatybilnością frameworka.












