Wszechobecne przetwarzanie obrazu oparte na uczeniu maszynowym na krawędzi sieci rozwija się w szybkim tempie dzięki spadkowi kosztów sprzętu, znacznemu wzrostowi możliwości obliczeniowych i nowym metodologiom ułatwiającym trenowanie i wdrażanie modeli. To prowadzi do zmniejszenia barier dla adopcji i zwiększonego wykorzystania komputerowej sztucznej inteligencji na krawędzi. Aktualnie widzenie maszynowe (CV) znajduje się w punkcie zwrotnym, a główne trendy zbiegają się, aby rozwiązania dotychczas chmurowe stały się wszechobecne w małych urządzeniach brzegowych. Postęp umożliwia rozszerzenie tej opartej na chmurze technologii AI na urządzenia brzegowe, a nowe osiągnięcia sprawią, że wizja sztucznej inteligencji na krawędzi będzie ogólnodostępna.
Istnieją trzy główne trendy technologiczne odpowiedzialne za tę ewolucję. Nowe, odchudzone algorytmy sieci neuronowych doskonale dostosowują się do przestrzeni pamięci i mocy obliczeniowej małych urządzeń. Nowe architektury krzemowe oferują o rząd wielkości większą wydajność przetwarzania sieci neuronowych niż konwencjonalne mikrokontrolery (MCU). Ramy AI dla mniejszych mikroprocesorów dojrzewają, niwelując bariery w opracowywaniu małych implementacji uczenia maszynowego (ML) na brzegu sieci (tinyML). Kiedy te elementy łączą się w harmonijny sposób, niewielkie procesory o poborze energii w skali miliwatów mogą być wyposażone w potężne jednostki przetwarzania neuronowego, które akcelerują niezwykle wydajne konwolucyjne sieci neuronowe (CNN) — architekturę ML najczęściej używaną w przetwarzaniu obrazów — wykorzystując dojrzałe i łatwe w użyciu łańcuchy narzędzi programistycznych. To otwiera drzwi dla nowych, ciekawych przypadków użycia w niemal każdym aspekcie naszego życia.
Widzenie maszynowe na krawędzi obiecuje rewolucję w wielu dziedzinach
Obecnie technologia CV jest wykorzystywana w różnych zastosowaniach, od produkcji i kontroli półprzewodników po zaawansowane funkcje systemów wspomagania kierowcy (ADAS), takie jak ostrzeganie o opuszczeniu pasa ruchu i wykrywanie martwych punktów, po upiększanie i manipulację obrazem na urządzeniach mobilnych. Jednak patrząc w przyszłość, technologia CV na krawędzi umożliwia osiągnięcie kolejnego poziomu interakcji człowiek-maszyna (HMI). Interfejsy te znacząco ewoluowały w ciągu ostatniej dekady, obejmując ekrany dotykowe, czytniki linii papilarnych, systemy rozpoznawania twarzy i możliwości poleceń głosowych. Choć te metody wydatnie poprawiły doświadczenie osób najbardziej zainteresowanych, mają jedną wspólną cechę — wszystkie reagują na działania użytkownika. Kolejnym etapem rozwoju HMI będą urządzenia, które dzięki świadomości kontekstowej zrozumieją ludzi oraz otaczające je środowisko, co pozwoli na bardziej użyteczne i zautomatyzowane interakcje.
Urządzenia świadome kontekstu będą w stanie nie tylko rozpoznać swoich użytkowników, ale także adekwatnie dopasować zachowanie w zależności od otoczenia. Na przykład laptop będzie mógł wizualnie wykrywać, kiedy jednostka jest aktywna i odpowiednio dostosować swoją politykę zasilania, co pozwoli na oszczędność energii. To jest już osiągalne dzięki technologii Emza Visual Sense firmy Synaptics, która umożliwia producentom OEM np. optymalizację zużycia energii przez adaptacyjne przyciemnianie wyświetlacza, gdy osoba przestaje na niego patrzeć. Ponadto, poprzez śledzenie ruchów oczu, technologia może zwiększyć bezpieczeństwo, ostrzegając jednostkę i ukrywając zawartość ekranu, gdy zostanie wykryte zagrożenie.
Innym przykładem jest inteligentny telewizor, który potrafi wychwycić, czy ktoś się w niego wpatruje oraz z jakiej odległości, by następnie odpowiednio dostosować parametry obrazu i dźwięku. Może nawet automatycznie wyłączyć się, jeśli w danej przestrzeni nie ma nikogo, aby oszczędzać energię. Podobnie system klimatyzacji może optymalizować moc i przepływ powietrza w zależności od liczby osób w pomieszczeniu, co prowadzi do obniżenia kosztów. Te i wiele innych przykładów inteligentnego wykorzystania AI w budynkach staje się jeszcze bardziej znaczące finansowo dzięki hybrydowym modelom pracy, które łączą operowanie w biurze i z domu.
Analiza obrazów ma również nieograniczoną liczbę zastosowań w przemyśle, zaczynając od wykrywania obiektów w celu zapewnienia bezpieczeństwa (np. w agrotechnice kontrola upraw czy monitorowanie stanu i jakości). Technologie CV odgrywają tutaj kluczową rolę.
Niezależnie od tego, czy mówimy o laptopach, elektronice użytkowej, inteligentnych czujnikach w budynkach czy środowiskach przemysłowych, zdolność do przetwarzania informacji o otoczeniu staje się dostępna dzięki małym i niedrogim mikroprocesorom, niewielkim sieciom neuronowym i zoptymalizowanym strukturom sztucznej inteligencji. Wszystko to sprawia, że urządzenia są bardziej inteligentne i oszczędne energetycznie, co ma ogromne znaczenie dla rozwoju nowoczesnych technologii i zwiększenia efektywności ich wykorzystania.
Przetwarzanie obrazu w sieciach neuronowych ewoluuje
W roku 2012 nastąpił przełom, kiedy technologia widzenia maszynowego zaczęła przechodzić od heurystycznych metod do głębokich konwolucyjnych sieci neuronowych (DCNN) po publikacji AlexNet, autorstwa Alexa Krizhevsky'ego i jego kolegów. Po zwycięstwie DCNN w konkursie ImageNet Large Scale Visual Recognition Challenge (ILSVRC) w tym samym roku, nie było odwrotu. Od tego czasu zespoły na całym świecie kontynuowały poszukiwania coraz lepszej wydajności wykrywania obiektów, ale bez większego zainteresowania efektywnością sprzętu. Sieci konwolucyjne (CNN) nadal były wymagające pod względem danych i mocy obliczeniowej. To skupienie się na wydajności było odpowiednie dla aplikacji działających w infrastrukturze chmurowej.
W 2015 roku pojawił się ResNet152, który składał się z 60 milionów parametrów, wymagał ponad 11 gigaflopów dla pojedynczej operacji wnioskowania. Osiągnął on dokładność na poziomie 94% dla zestawu danych ImageNet. To pozwoliło na dalszy postęp w kwestii wydajności i dokładności sieci CNN. Jednak dopiero w 2017 roku, po opublikowaniu MobileNets przez grupę badaczy z Google, zaczęto obserwować dążenie do zwiększenia efektywności.
MobileNets, zaprojektowane z myślą o smartfonach, było znacznie lżejsze od istniejących architektur sieci neuronowych (NN) w tamtym czasie. MobileNetV2, jako przykład, składał się z 3,5 miliona parametrów i wymagał jedynie 336 Mflops. Ta drastyczna redukcja została początkowo osiągnięta dzięki ręcznemu konfigurowaniu i usuwaniu warstw w sieci uczenia głębokiego, które nie wnosiły znaczącego wkładu w dokładność. Później narzędzia do automatycznego optymalizowania architektury pozwoliły na dalsze redukowanie liczby warstw i optymalizację ich organizacji. MobileNetV2 był około 20 razy 'lżejszy' niż ResNet192, zarówno pod względem zajmowanej pamięci, jak i obciążenia obliczeniowego. Uzyskał on precyzję na poziomie 90% w top-5. Dzięki temu nowy zestaw aplikacji przyjaznych dla urządzeń mobilnych mógł wykorzystać sztuczną inteligencję.
Ten postęp w technologii umożliwił spożytkowanie zaawansowanych algorytmów AI na urządzeniach brzegowych, otwierając drzwi dla wielu nowych i ekscytujących zastosowań wizji komputerowej. Ograniczenia efektywności sprzętu zaczęły być coraz mniej istotne, a możliwości urządzeń brzegowych były teraz wydatnie szersze. Dzięki temu dąży się aktualnie do pełnego wykorzystania potencjału AI w każdym aspekcie naszego życia, tworząc bardziej inteligentne i responsywne technologie, które mają zrewolucjonizować codzienne doświadczenia.
Sprzęt też ewoluuje
Dzięki mniejszym sieciom neuronowym i lepszemu zrozumieniu obciążeń z nimi związanych programiści mają teraz możliwość projektowania zoptymalizowanych układów krzemowych dedykowanych dla małej sztucznej inteligencji. W wyniku tych postępów powstały mikrojednostki przetwarzania neuronowego (mikro-NPU), które stanowią przełom w dziedzinie przetwarzania na brzegu. Te niewielkie, ale wydajne rdzenie NPU zapewniają precyzyjne zarządzanie organizacją pamięci i przepływem danych, jednocześnie wykorzystując ogromną równoległość obliczeń. W rezultacie są w stanie wykonywać operacje wnioskowania na sieciach neuronowych nawet 10x lub 100x szybciej niż standardowe mikrokontrolery bez wsparcia dla sztucznej inteligencji. Jeden z przykładów takiego innowacyjnego mikroNPU to układ ARM Ethos U55.
Złożone modele CNN, takie jak szacowanie kluczowych punktów ciała, działają na mikrokontrolerach nowej generacji z NPU.
Przyjrzyjmy się konkretnemu przykładowi wpływu mikrojednostek przetwarzania neuronowego (µNPU). Jednym z fundamentalnych zadań w przetwarzaniu wizyjnym (CV) jest detekcja obiektów. Wymaga ona w istocie dwóch ujęć: lokalizacji, która określa położenie przedmiotu na obrazie, oraz klasyfikacji, która identyfikuje wykryty obiekt (patrz zdjęcia powyżej). Emza implementuje model detekcji twarzy na układzie Ethos U55 z µNPU, trenując model detekcji i klasyfikacji obiektów, który jest lekką wersją jednokrotnego detektora, zoptymalizowanego przez firmę Synaptics do wykrywania tylko klasy obiektów — twarzy. Wyniki są zaskakujące, ponieważ czas inferencji na modelu wynosi mniej niż 5 milisekund. Jest to porównywalne do prędkości wykonania algorytmu na potężnym procesorze aplikacji w smartfonie, takim jak np. Snapdragon 845. Wykonując ten sam model na płytce Raspberry Pi 3B przy użyciu czterech rdzeni Cortex A53, czas wykonania jest sześć razy dłuższy.
Ten przykład doskonale ilustruje siłę i efektywność mikrojednostek przetwarzania neuronowego w zastosowaniach przetwarzania wizyjnego na brzegu. Dzięki układom µNPU możliwe jest osiągnięcie bardzo szybkich i dokładnych rezultatów detekcji obiektów, co ma ogromne znaczenie w wielu dziedzinach, takich jak monitorowanie bezpieczeństwa, systemy automatycznego sterowania, czy nawet w rozrywce i obszarze gier. Redukcja czasu wykonania modeli CV otwiera nowe możliwości dla zaawansowanych aplikacji, zapewniając zarazem optymalne wykorzystanie zasobów sprzętowych i energii.
Frameworki AI i demokratyzacja dostępu do sztucznej inteligencji
Powszechne wdrożenie jakiejkolwiek technologii tak złożonej, jak uczenie maszynowe wymaga dobrych narzędzi deweloperskich. TensorFlow Lite for Microcontrollers (TFLM) firmy Google to framework zaprojektowany w celu ułatwienia szkolenia i wdrażania sztucznej inteligencji na platformach tinyML. Dla podzbioru operatorów objętych pełnym TensorFlow, TFLM generuje kod C dla mikroprocesorów do interpretacji oraz modelu działającego na µNPU. Również framework PyTorch Mobile i kompilator Glow od Meta skierowane są w tym kierunku. Dodatkowo istnieje wiele platform (znanych jako AutoML), które mogą automatyzować niektóre aspekty wdrażania AI na niewielkie platformy embedded. Przykładami są Edge Impulse, Deeplite, Qeexo i SensiML.
Jednak, aby umożliwić wykonanie na konkretnym sprzęcie i µNPU, kompilatory i łańcuchy narzędziowe muszą być zmodyfikowane. ARM opracował kompilator Vela, który optymalizuje wykonanie modelu CNN dla µNPU U55. Vela usuwa złożoności związane z systemem zawierającym zarówno CPU, jak i µNPU, automatycznie dzieląc zadanie wykonania modelu między nimi.
Szerzej rzecz biorąc, Apache TVM to otwarty framework kompilatora ML typu end-to-end, przeznaczony dla CPU, GPU, NPU i akceleratorów. Natomiast TVM micro skierowany jest na mikrokontrolery z ambicją uruchamiania dowolnego modelu AI na wybranym sprzęcie. Ta ewolucja frameworków AI, platform AutoML i kompilatorów ułatwia programistom użycie nowych µNPU do spełnienia konkretnych potrzeb. Dzięki temu możliwe jest wykorzystanie pełnego potencjału mikrojednostek przetwarzania neuronowego w zaawansowanych aplikacjach tinyML, z optymalnym spożytkowaniem zasobów sprzętowych i energii.
Wszechobecna sztuczna inteligencja na krawędzi
Trend w kierunku wszechobecnej obróbki wizyjnej opartej na uczeniu maszynowym na krawędzi jest wyraźny. Koszty sprzętu maleją, zdolności obliczeniowe znacznie rosną, a nowe metody ułatwiają szkolenie i wdrażanie modeli. Wszystko to prowadzi do zredukowania barier w adopcji i zwiększenia wykorzystania AI wizyjnej na krawędzi. Jednak nawet w miarę wzrostu ilości aplikacji wszechobecnej sztucznej inteligencji na krawędzi, nadal jest wiele pracy do wykonania. Aby uczynić obliczenia rzeczywistością, trzeba obsługiwać długą listę przypadków użycia w wielu segmentach, co może stanowić wyzwanie skalowalności. W produktach konsumenckich, fabrykach, rolnictwie, handlu detalicznym i innych obszarach każde nowe zadanie wymaga różnych algorytmów i unikalnych zestawów danych do szkolenia. Inwestycje w badania i postęp oraz potrzebne umiejętności do rozwiązania każdego przypadku użycia pozostają dzisiaj główną barierą.
Lukę tę można najlepiej wypełnić, gdy firmy zajmujące się sztuczną inteligencją rozwijają oprogramowanie wokół swoich NPU, tworząc bogate zestawy przykładów — tzw. Zoo modeli oraz oprogramowanie referencyjne dla aplikacji. Dzięki temu mogą umożliwić powstawanie szerszego zakresu aplikacji do rozmaitych, nowych zastosowań. Jednocześnie w ten sposób firmy zapewniają sukces projektowy poprzez wykorzystanie odpowiednich algorytmów zoptymalizowanych dla sprzętu docelowego, rozwiązując specyficzne potrzeby biznesowe, w określonych ograniczeniach kosztowych, rozmiaru i zużycia energii. Dzięki temu rozwijają się innowacyjne aplikacje, które mogą przynieść korzyści we wszystkich dziedzinach życia, od inteligentnych urządzeń w naszych domach po zaawansowane opcje przemysłowe.
Trend dotyczący wszechobecnej aplikacji sztucznej inteligencji w obróbce wizyjnej w urządzeniach na krawędzi jest bardzo zauważalny. Dzięki spadającym kosztom sprzętu, rosnącym zdolnościom obliczeniowym i nowym metodom szkolenia oraz wdrażania modeli, systemy te mogą znacznie więcej niż kilka lat temu. Technologia ta znajduje zastosowanie w rozmaitych dziedzinach, od inteligentnych telewizorów, przez systemy klimatyzacji, aż po przemysłowe rozwiązania bezpieczeństwa i monitorowania. Jednakże, aby osiągnąć pełną rewolucję obliczeń na krawędzi, musimy pokonać jeszcze długą drogą optymalizacji systemów dla wielu, często niszowych aplikacji. Jakie widzicie możliwości wykorzystania sztucznej inteligencji w algorytmach widzenia maszynowego na krawędzi w waszej branży? Czy uważacie, że mikro NPU są kluczowym elementem przyszłej rewolucji? Czekamy na wasze opinie i pomysły!
Źródło: https://www.embedded.com/tinyml-computer-vision-is-turning-into-reality-with-micronpus-%C2%B5npus/
Istnieją trzy główne trendy technologiczne odpowiedzialne za tę ewolucję. Nowe, odchudzone algorytmy sieci neuronowych doskonale dostosowują się do przestrzeni pamięci i mocy obliczeniowej małych urządzeń. Nowe architektury krzemowe oferują o rząd wielkości większą wydajność przetwarzania sieci neuronowych niż konwencjonalne mikrokontrolery (MCU). Ramy AI dla mniejszych mikroprocesorów dojrzewają, niwelując bariery w opracowywaniu małych implementacji uczenia maszynowego (ML) na brzegu sieci (tinyML). Kiedy te elementy łączą się w harmonijny sposób, niewielkie procesory o poborze energii w skali miliwatów mogą być wyposażone w potężne jednostki przetwarzania neuronowego, które akcelerują niezwykle wydajne konwolucyjne sieci neuronowe (CNN) — architekturę ML najczęściej używaną w przetwarzaniu obrazów — wykorzystując dojrzałe i łatwe w użyciu łańcuchy narzędzi programistycznych. To otwiera drzwi dla nowych, ciekawych przypadków użycia w niemal każdym aspekcie naszego życia.
Widzenie maszynowe na krawędzi obiecuje rewolucję w wielu dziedzinach
Obecnie technologia CV jest wykorzystywana w różnych zastosowaniach, od produkcji i kontroli półprzewodników po zaawansowane funkcje systemów wspomagania kierowcy (ADAS), takie jak ostrzeganie o opuszczeniu pasa ruchu i wykrywanie martwych punktów, po upiększanie i manipulację obrazem na urządzeniach mobilnych. Jednak patrząc w przyszłość, technologia CV na krawędzi umożliwia osiągnięcie kolejnego poziomu interakcji człowiek-maszyna (HMI). Interfejsy te znacząco ewoluowały w ciągu ostatniej dekady, obejmując ekrany dotykowe, czytniki linii papilarnych, systemy rozpoznawania twarzy i możliwości poleceń głosowych. Choć te metody wydatnie poprawiły doświadczenie osób najbardziej zainteresowanych, mają jedną wspólną cechę — wszystkie reagują na działania użytkownika. Kolejnym etapem rozwoju HMI będą urządzenia, które dzięki świadomości kontekstowej zrozumieją ludzi oraz otaczające je środowisko, co pozwoli na bardziej użyteczne i zautomatyzowane interakcje.
Urządzenia świadome kontekstu będą w stanie nie tylko rozpoznać swoich użytkowników, ale także adekwatnie dopasować zachowanie w zależności od otoczenia. Na przykład laptop będzie mógł wizualnie wykrywać, kiedy jednostka jest aktywna i odpowiednio dostosować swoją politykę zasilania, co pozwoli na oszczędność energii. To jest już osiągalne dzięki technologii Emza Visual Sense firmy Synaptics, która umożliwia producentom OEM np. optymalizację zużycia energii przez adaptacyjne przyciemnianie wyświetlacza, gdy osoba przestaje na niego patrzeć. Ponadto, poprzez śledzenie ruchów oczu, technologia może zwiększyć bezpieczeństwo, ostrzegając jednostkę i ukrywając zawartość ekranu, gdy zostanie wykryte zagrożenie.
Innym przykładem jest inteligentny telewizor, który potrafi wychwycić, czy ktoś się w niego wpatruje oraz z jakiej odległości, by następnie odpowiednio dostosować parametry obrazu i dźwięku. Może nawet automatycznie wyłączyć się, jeśli w danej przestrzeni nie ma nikogo, aby oszczędzać energię. Podobnie system klimatyzacji może optymalizować moc i przepływ powietrza w zależności od liczby osób w pomieszczeniu, co prowadzi do obniżenia kosztów. Te i wiele innych przykładów inteligentnego wykorzystania AI w budynkach staje się jeszcze bardziej znaczące finansowo dzięki hybrydowym modelom pracy, które łączą operowanie w biurze i z domu.
Analiza obrazów ma również nieograniczoną liczbę zastosowań w przemyśle, zaczynając od wykrywania obiektów w celu zapewnienia bezpieczeństwa (np. w agrotechnice kontrola upraw czy monitorowanie stanu i jakości). Technologie CV odgrywają tutaj kluczową rolę.
Niezależnie od tego, czy mówimy o laptopach, elektronice użytkowej, inteligentnych czujnikach w budynkach czy środowiskach przemysłowych, zdolność do przetwarzania informacji o otoczeniu staje się dostępna dzięki małym i niedrogim mikroprocesorom, niewielkim sieciom neuronowym i zoptymalizowanym strukturom sztucznej inteligencji. Wszystko to sprawia, że urządzenia są bardziej inteligentne i oszczędne energetycznie, co ma ogromne znaczenie dla rozwoju nowoczesnych technologii i zwiększenia efektywności ich wykorzystania.
Przetwarzanie obrazu w sieciach neuronowych ewoluuje
W roku 2012 nastąpił przełom, kiedy technologia widzenia maszynowego zaczęła przechodzić od heurystycznych metod do głębokich konwolucyjnych sieci neuronowych (DCNN) po publikacji AlexNet, autorstwa Alexa Krizhevsky'ego i jego kolegów. Po zwycięstwie DCNN w konkursie ImageNet Large Scale Visual Recognition Challenge (ILSVRC) w tym samym roku, nie było odwrotu. Od tego czasu zespoły na całym świecie kontynuowały poszukiwania coraz lepszej wydajności wykrywania obiektów, ale bez większego zainteresowania efektywnością sprzętu. Sieci konwolucyjne (CNN) nadal były wymagające pod względem danych i mocy obliczeniowej. To skupienie się na wydajności było odpowiednie dla aplikacji działających w infrastrukturze chmurowej.
W 2015 roku pojawił się ResNet152, który składał się z 60 milionów parametrów, wymagał ponad 11 gigaflopów dla pojedynczej operacji wnioskowania. Osiągnął on dokładność na poziomie 94% dla zestawu danych ImageNet. To pozwoliło na dalszy postęp w kwestii wydajności i dokładności sieci CNN. Jednak dopiero w 2017 roku, po opublikowaniu MobileNets przez grupę badaczy z Google, zaczęto obserwować dążenie do zwiększenia efektywności.
MobileNets, zaprojektowane z myślą o smartfonach, było znacznie lżejsze od istniejących architektur sieci neuronowych (NN) w tamtym czasie. MobileNetV2, jako przykład, składał się z 3,5 miliona parametrów i wymagał jedynie 336 Mflops. Ta drastyczna redukcja została początkowo osiągnięta dzięki ręcznemu konfigurowaniu i usuwaniu warstw w sieci uczenia głębokiego, które nie wnosiły znaczącego wkładu w dokładność. Później narzędzia do automatycznego optymalizowania architektury pozwoliły na dalsze redukowanie liczby warstw i optymalizację ich organizacji. MobileNetV2 był około 20 razy 'lżejszy' niż ResNet192, zarówno pod względem zajmowanej pamięci, jak i obciążenia obliczeniowego. Uzyskał on precyzję na poziomie 90% w top-5. Dzięki temu nowy zestaw aplikacji przyjaznych dla urządzeń mobilnych mógł wykorzystać sztuczną inteligencję.
Ten postęp w technologii umożliwił spożytkowanie zaawansowanych algorytmów AI na urządzeniach brzegowych, otwierając drzwi dla wielu nowych i ekscytujących zastosowań wizji komputerowej. Ograniczenia efektywności sprzętu zaczęły być coraz mniej istotne, a możliwości urządzeń brzegowych były teraz wydatnie szersze. Dzięki temu dąży się aktualnie do pełnego wykorzystania potencjału AI w każdym aspekcie naszego życia, tworząc bardziej inteligentne i responsywne technologie, które mają zrewolucjonizować codzienne doświadczenia.
Sprzęt też ewoluuje
Dzięki mniejszym sieciom neuronowym i lepszemu zrozumieniu obciążeń z nimi związanych programiści mają teraz możliwość projektowania zoptymalizowanych układów krzemowych dedykowanych dla małej sztucznej inteligencji. W wyniku tych postępów powstały mikrojednostki przetwarzania neuronowego (mikro-NPU), które stanowią przełom w dziedzinie przetwarzania na brzegu. Te niewielkie, ale wydajne rdzenie NPU zapewniają precyzyjne zarządzanie organizacją pamięci i przepływem danych, jednocześnie wykorzystując ogromną równoległość obliczeń. W rezultacie są w stanie wykonywać operacje wnioskowania na sieciach neuronowych nawet 10x lub 100x szybciej niż standardowe mikrokontrolery bez wsparcia dla sztucznej inteligencji. Jeden z przykładów takiego innowacyjnego mikroNPU to układ ARM Ethos U55.
Złożone modele CNN, takie jak szacowanie kluczowych punktów ciała, działają na mikrokontrolerach nowej generacji z NPU.
Przyjrzyjmy się konkretnemu przykładowi wpływu mikrojednostek przetwarzania neuronowego (µNPU). Jednym z fundamentalnych zadań w przetwarzaniu wizyjnym (CV) jest detekcja obiektów. Wymaga ona w istocie dwóch ujęć: lokalizacji, która określa położenie przedmiotu na obrazie, oraz klasyfikacji, która identyfikuje wykryty obiekt (patrz zdjęcia powyżej). Emza implementuje model detekcji twarzy na układzie Ethos U55 z µNPU, trenując model detekcji i klasyfikacji obiektów, który jest lekką wersją jednokrotnego detektora, zoptymalizowanego przez firmę Synaptics do wykrywania tylko klasy obiektów — twarzy. Wyniki są zaskakujące, ponieważ czas inferencji na modelu wynosi mniej niż 5 milisekund. Jest to porównywalne do prędkości wykonania algorytmu na potężnym procesorze aplikacji w smartfonie, takim jak np. Snapdragon 845. Wykonując ten sam model na płytce Raspberry Pi 3B przy użyciu czterech rdzeni Cortex A53, czas wykonania jest sześć razy dłuższy.
Ten przykład doskonale ilustruje siłę i efektywność mikrojednostek przetwarzania neuronowego w zastosowaniach przetwarzania wizyjnego na brzegu. Dzięki układom µNPU możliwe jest osiągnięcie bardzo szybkich i dokładnych rezultatów detekcji obiektów, co ma ogromne znaczenie w wielu dziedzinach, takich jak monitorowanie bezpieczeństwa, systemy automatycznego sterowania, czy nawet w rozrywce i obszarze gier. Redukcja czasu wykonania modeli CV otwiera nowe możliwości dla zaawansowanych aplikacji, zapewniając zarazem optymalne wykorzystanie zasobów sprzętowych i energii.
Frameworki AI i demokratyzacja dostępu do sztucznej inteligencji
Powszechne wdrożenie jakiejkolwiek technologii tak złożonej, jak uczenie maszynowe wymaga dobrych narzędzi deweloperskich. TensorFlow Lite for Microcontrollers (TFLM) firmy Google to framework zaprojektowany w celu ułatwienia szkolenia i wdrażania sztucznej inteligencji na platformach tinyML. Dla podzbioru operatorów objętych pełnym TensorFlow, TFLM generuje kod C dla mikroprocesorów do interpretacji oraz modelu działającego na µNPU. Również framework PyTorch Mobile i kompilator Glow od Meta skierowane są w tym kierunku. Dodatkowo istnieje wiele platform (znanych jako AutoML), które mogą automatyzować niektóre aspekty wdrażania AI na niewielkie platformy embedded. Przykładami są Edge Impulse, Deeplite, Qeexo i SensiML.
Jednak, aby umożliwić wykonanie na konkretnym sprzęcie i µNPU, kompilatory i łańcuchy narzędziowe muszą być zmodyfikowane. ARM opracował kompilator Vela, który optymalizuje wykonanie modelu CNN dla µNPU U55. Vela usuwa złożoności związane z systemem zawierającym zarówno CPU, jak i µNPU, automatycznie dzieląc zadanie wykonania modelu między nimi.
Szerzej rzecz biorąc, Apache TVM to otwarty framework kompilatora ML typu end-to-end, przeznaczony dla CPU, GPU, NPU i akceleratorów. Natomiast TVM micro skierowany jest na mikrokontrolery z ambicją uruchamiania dowolnego modelu AI na wybranym sprzęcie. Ta ewolucja frameworków AI, platform AutoML i kompilatorów ułatwia programistom użycie nowych µNPU do spełnienia konkretnych potrzeb. Dzięki temu możliwe jest wykorzystanie pełnego potencjału mikrojednostek przetwarzania neuronowego w zaawansowanych aplikacjach tinyML, z optymalnym spożytkowaniem zasobów sprzętowych i energii.
Wszechobecna sztuczna inteligencja na krawędzi
Trend w kierunku wszechobecnej obróbki wizyjnej opartej na uczeniu maszynowym na krawędzi jest wyraźny. Koszty sprzętu maleją, zdolności obliczeniowe znacznie rosną, a nowe metody ułatwiają szkolenie i wdrażanie modeli. Wszystko to prowadzi do zredukowania barier w adopcji i zwiększenia wykorzystania AI wizyjnej na krawędzi. Jednak nawet w miarę wzrostu ilości aplikacji wszechobecnej sztucznej inteligencji na krawędzi, nadal jest wiele pracy do wykonania. Aby uczynić obliczenia rzeczywistością, trzeba obsługiwać długą listę przypadków użycia w wielu segmentach, co może stanowić wyzwanie skalowalności. W produktach konsumenckich, fabrykach, rolnictwie, handlu detalicznym i innych obszarach każde nowe zadanie wymaga różnych algorytmów i unikalnych zestawów danych do szkolenia. Inwestycje w badania i postęp oraz potrzebne umiejętności do rozwiązania każdego przypadku użycia pozostają dzisiaj główną barierą.
Lukę tę można najlepiej wypełnić, gdy firmy zajmujące się sztuczną inteligencją rozwijają oprogramowanie wokół swoich NPU, tworząc bogate zestawy przykładów — tzw. Zoo modeli oraz oprogramowanie referencyjne dla aplikacji. Dzięki temu mogą umożliwić powstawanie szerszego zakresu aplikacji do rozmaitych, nowych zastosowań. Jednocześnie w ten sposób firmy zapewniają sukces projektowy poprzez wykorzystanie odpowiednich algorytmów zoptymalizowanych dla sprzętu docelowego, rozwiązując specyficzne potrzeby biznesowe, w określonych ograniczeniach kosztowych, rozmiaru i zużycia energii. Dzięki temu rozwijają się innowacyjne aplikacje, które mogą przynieść korzyści we wszystkich dziedzinach życia, od inteligentnych urządzeń w naszych domach po zaawansowane opcje przemysłowe.
Trend dotyczący wszechobecnej aplikacji sztucznej inteligencji w obróbce wizyjnej w urządzeniach na krawędzi jest bardzo zauważalny. Dzięki spadającym kosztom sprzętu, rosnącym zdolnościom obliczeniowym i nowym metodom szkolenia oraz wdrażania modeli, systemy te mogą znacznie więcej niż kilka lat temu. Technologia ta znajduje zastosowanie w rozmaitych dziedzinach, od inteligentnych telewizorów, przez systemy klimatyzacji, aż po przemysłowe rozwiązania bezpieczeństwa i monitorowania. Jednakże, aby osiągnąć pełną rewolucję obliczeń na krawędzi, musimy pokonać jeszcze długą drogą optymalizacji systemów dla wielu, często niszowych aplikacji. Jakie widzicie możliwości wykorzystania sztucznej inteligencji w algorytmach widzenia maszynowego na krawędzi w waszej branży? Czy uważacie, że mikro NPU są kluczowym elementem przyszłej rewolucji? Czekamy na wasze opinie i pomysły!
Źródło: https://www.embedded.com/tinyml-computer-vision-is-turning-into-reality-with-micronpus-%C2%B5npus/
Fajne? Ranking DIY
