Projektowanie
article miniature

W jaki sposób i dlaczego mikrokontrolery mogą pomóc w demokratyzacji dostępu do sztucznej inteligencji brzegowej

W ciągu ostatnich kilku lat sztuczna inteligencja brzegowa zyskała na popularności. Oczekuje się, że do 2035 r. globalny rynek z nią związany będzie rósł w tempie 27,8% rocznie, osiągając wartość netto 356,84 miliarda dolarów.

Na ten popyt wpływa wiele czynników. Przetwarzanie danych na brzegu sieci rozwiązuje problemy związane z bezpieczeństwem, które mogą mieć firmy związane z przesyłaniem poufnych lub zastrzeżonych informacji do chmury. Przetwarzanie brzegowe zmniejsza również latencję, co może mieć znaczenie w zastosowaniach czasu rzeczywistego, gdzie decyzje muszą być podejmowane w ciągu ułamków sekundy. Urządzenia przemysłowego Internetu rzeczy (IIoT) realizują operacje oparte na danych, co z kolei zwiększa liczbę przypadków użycia sztucznej inteligencji brzegowej. Szybko rozwijające się wdrożenia - od przenośnych urządzeń medycznych po urządzenia ubieralne i przemysłowy Internet rzeczy (IIoT) - rozwijają rynek rozwiązań brzegowych wykorzystujących sztuczną inteligencję (AI).

Popularność tej technologii wiąże się z rosnącym zapotrzebowaniem na komponenty, które poradzą sobie z przetwarzaniem danych w systemach wbudowanych.

Możliwości przetwarzania obliczeniowego: mikrokontrolery czy mikroprocesory

Ogromna większość urządzeń Internetu rzeczy (IoT) stosowanych obecnie w urządzeniach przemysłowych i innych urządzeniach wbudowanych to urządzenia o niskiej mocy i bardzo małej ilości pamięci. Ich moc obliczeniowa pochodzi z niewielkich wbudowanych mikrokontrolerów (MCU). Wspomniane mikrokontrolery MCU mają architekturę niskiej mocy, która pozwala na znacznie bardziej ekonomiczne wykorzystanie systemów wbudowanych w porównaniu z mikroprocesorami.

Do czasu pojawienia się sztucznej inteligencji brzegowej mikrokontrolery MCU dobrze zaspokajały potrzeby urządzeń Internetu rzeczy (IoT) w zakresie przetwarzania. Jednak tradycyjne mikrokontrolery MCU zwykle nie są w stanie zapewnić mocy obliczeniowej potrzebnej dla bardziej złożonych algorytmów uczenia maszynowego, które są cechą charakterystyczną zastosowań sztucznej inteligencji brzegowej. Takie algorytmy zwykle działają na procesorach graficznych (GPU) i mikroprocesorach o większej mocy obliczeniowej. Korzystanie z tych komponentów ma jednak swoje wady, w tym pobór mocy. Mikroprocesory czy też procesory graficzne (GPU) nie należą do najbardziej energooszczędnych rozwiązań. W rezultacie sterowane mikroprocesorowo przetwarzanie brzegowe może nie być najlepszym rozwiązaniem dla wszystkich zastosowań wykorzystujących sztuczną inteligencję brzegową, a dostawcy zamiast tego wolą polegać na mikrokontrolerach MCU.

Autonomiczne mikrokontrolery MCU są tańsze niż procesory graficzne (GPU) i mikroprocesory. W parze ze skalowaniem sztucznej inteligencji brzegowej idzie rosnąca potrzeba wykorzystania zalet mikrokontrolerów MCU - niskiego kosztu i niskiego zużycia energii - przy jednoczesnym zwiększeniu mocy obliczeniowej.

Rzeczywiście, na przestrzeni lat zbiegło się ze sobą kilka czynników zwiększających możliwości mikrokontrolerów MCU w środowisku brzegowym.

Co ułatwia korzystanie z mikrokontrolerów MCU na urządzeniach brzegowych?

Chociaż zgodnie z ogólnym założeniem tradycyjne mikrokontrolery MCU są zbyt lekkie do przetwarzania danych związanych ze sztuczną inteligencją (AI), zmiany zarówno w konstrukcji mikrokontrolerów MCU, jak i w szerszym ekosystemie technologicznym zachęcają do ich przyjęcia w zastosowaniach sztucznej inteligencji brzegowej.

Czynniki te to m.in.:

  • Integracja akceleratorów sztucznej inteligencji (AI) w mikrokontrolerach MCU: gdy sam mikrokontroler MCU z trudem spełnia wymagania przetwarzania brzegowego, integracja z akceleratorem sztucznej inteligencji (AI) / uczenia maszynowego (ML), takim jak jednostki przetwarzania neuronowego (NPU) lub cyfrowe procesory sygnałowe (DSP) poprawia wydajność.
  • Na przykład procesory z serii STM32N6 (ilustracja 1) od STMicroelectronics są oparte na procesorze Arm Cortex-M55 działającym z częstotliwością 800MHz. Technologia przetwarzania wektorowego Arm Helium zapewnia możliwości przetwarzania cyfrowego procesora sygnałów (DSP) w standardowym procesorze. Urządzenie STM32N6 jest pierwszym mikrokontrolerem MCU STM32, który zawiera akcelerator ST Neural-ART - autorską jednostkę przetwarzania neuronowego (NPU) przeznaczoną do zastosowań wykorzystujących sztuczną inteligencję brzegową.

Ilustracja przedstawiająca mikrokontroler MCU STM32N6 firmy STMicroelectronics do zastosowań wykorzystujących sztuczną inteligencję (AI) o wysokiej sprawności energetycznejIlustracja 1: urządzenie STM32N6 jest pierwszym mikrokontrolerem MCU STM32, który zawiera akcelerator ST Neural-ART - autorską jednostkę przetwarzania neuronowego (NPU) przeznaczoną do zastosowań wykorzystujących sztuczną inteligencję brzegową o wysokiej sprawności energetycznej.(Źródło ilustracji: STMicroelectronics)

  • Modele sztucznej inteligencji (AI) zoptymalizowane pod kątem środowiska brzegowego: potężnych algorytmów sztucznej inteligencji (AI) i uczenia maszynowego nie da się po prostu przenieść do mikrokontrolerów MCU. Muszą być zoptymalizowane pod kątem ograniczonych zasobów obliczeniowych. Kompaktowe architektury sztucznej inteligencji (AI), takie jak TinyML i MobileNet, robią dzięki wykorzystaniu technik optymalizacji, umożliwiając nawet mikrokontrolerom MCU w środowisku brzegowym wykonywanie algorytmów sztucznej inteligencji (AI). Firma STMicroelectronics wprowadza na rynek STM32Cube.AI, rozwiązanie programowe, które konwertuje sieć neuronową na zoptymalizowany kod C dla mikrokontrolerów MCU STM32. Użycie tego rozwiązania w połączeniu z mikrokontrolerem STM32N6 pomaga zapewnić parametry działania potrzebne w brzegowych zastosowaniach sztucznej inteligencji (AI) pomimo ograniczeń w zakresie przetwarzania i pamięci.
  • Powstanie ekosystemów sztucznej inteligencji (AI): samo posiadanie komponentu sprzętowego zdolnego do przetwarzania związanego ze sztuczną inteligencją (AI) w środowisku brzegowym nie wystarczy. Wykonywanie algorytmów sztucznej inteligencji (AI) w środowisku brzegowym wymaga ekosystemów przyjaznych deweloperom, które ułatwiają wdrażanie sztucznej inteligencji (AI). Konkretne narzędzia, takie jak TensorFlow Lite for Microcontrollers, pomagają w realizacji takich rozwiązań. Społeczności otwartoźródłowe, takie jak Hugging Face i inne platformy, oferują wstępnie wyszkolone modele i biblioteki kodu, które deweloperzy mogą testować i dostosowywać do konkretnych zastosowań. Takie ekosystemy sztucznej inteligencji (AI) obniżają barierę dla wdrożenia tej technologii i demokratyzują dostęp nawet dla firm o ograniczonych zasobach, które mogą nie być w stanie opracować zastrzeżonych modeli sztucznej inteligencji (AI) od zera.
  • Do optymalizacji rozwiązań sztucznej inteligencji brzegowej firma STMicroelectronics posiada specjalnie dostosowany ekosystem sprzętowy i programowy ST Edge AI Suite. Pakiet konsoliduje wiele bibliotek i narzędzi sztucznej inteligencji firmy ST, aby ułatwić deweloperom znajdowanie modeli, źródeł danych, narzędzi i kompilatorów, które mogą generować kod dla mikrokontrolera.
  • Punktem wyjścia dla deweloperów są wstępnie wytrenowane modele w zoo modeli. Modele te wykorzystują format Open Neural Network Exchange (ONNX), otwarty standard do reprezentacji modeli uczenia maszynowego w takich obszarach, jak widzenie komputerowe (CV), przetwarzanie języka naturalnego (NLP), generatywna sztuczna inteligencja (GenAI) i uczenie maszynowe z wykorzystaniem grafów.
  • Kody dotyczące standaryzacji i interoperacyjności: podczas gdy ekosystemy sztucznej inteligencji (AI) pomogły firmom w testowaniu zastosowań sztucznej inteligencji brzegowej, otwarte i ustandaryzowane formaty modeli pomogły w bezproblemowej integracji między systemami sprzętowymi. Kompatybilność między narzędziami programistycznymi i mikrokontrolerami MCU pomogła zmniejszyć przeszkody we wdrożeniach sztucznej inteligencji brzegowej.
  • Dbałość o bezpieczeństwo w środowisku brzegowym: podczas gdy mikrokontrolery MCU eliminują lub przynajmniej zmniejszają potrzebę przetwarzania danych w chmurze, komponenty sprzętowe zapewniają dodatkowe warstwy zabezpieczeń. Zwykle zawierają one funkcje, takie jak szyfrowanie sprzętowe i bezpieczne uruchamianie, które chronią zarówno dane, jak i modele sztucznej inteligencji (AI) przed złośliwymi podmiotami.

Warte uwagi cechy sprzętu STM32N6

Seria STM32N6 zawiera wysokowydajny mikrokontroler MCU z jednostką przetwarzania neuronowego (NPU), pakiet modułu kamery oraz zestaw badawczy. Seria ta wykorzystuje typową architekturę ARM Cortex-M i posiada kilka kluczowych cech, które sprawiają, że omawiane urządzenia nadają się do zastosowań sztucznej inteligencji (AI) w środowisku brzegowym. Ich przykłady to:

  • Akcelerator Neural ART, który umożliwia uruchamianie modeli sieci neuronowych. Optymalizacja pod kątem intensywnych algorytmów sztucznej inteligencji (AI), taktowanie z częstotliwością 1GHz i moc obliczeniowa 600Gops przy średniej sprawności energetycznej 3Tops/W.
  • Obsługa instrukcji m-profilowego rozszerzenia wektorowego (MPVE) „Helium” - zbioru instrukcji ARM, które włączają zaawansowane funkcje sieci neuronowej i cyfrowego procesora sygnałowego (DSP). Instrukcje te są przeznaczone na przykład do pracy z 16-bitowymi i 32-bitowymi liczbami zmiennoprzecinkowymi, co pozwala im wydajnie manipulować liczbami o niskiej precyzji. Są one ważne dla przetwarzania modeli uczenia maszynowego (ML).
  • ST Edge AI Suite to repozytorium bezpłatnych narzędzi programowych, przypadków użycia i dokumentacji, które pomaga deweloperom na wszystkich poziomach zaawansowania tworzyć sztuczną inteligencję (AI) na potrzeby inteligentnego środowiska brzegowego. Omawiany pakiet zawiera również narzędzia, takie jak ST Edge AI Developer Cloud, które zawiera dedykowane sieci neuronowe w zoo modeli STM32, farma płytek do rzeczywistych testów porównawczych i nie tylko.
  • Prawie 300 konfigurowanych jednostek mnożenia i akumulacji oraz dwie 64-bitowe magistrale pamięci AXI zapewniają przepustowość 600Gops.
  • Wbudowany dedykowany procesor sygnałów wizualnych (ISP), który może współpracować z wieloma kamerami 5-megapikselowymi. W przypadku budowania systemów zawierających kamery deweloperzy muszą dostroić procesor sygnałów wizualnych (ISP) pod kątem konkretnego czujnika CMOS kamery i jej obiektywu. Strojenie zazwyczaj wymaga specjalistycznej wiedzy lub pomocy strony trzeciej. W tym celu firma ST zapewnia deweloperom specjalne oprogramowanie komputerowe o nazwie iQTune. To oprogramowanie, działające na stacji roboczej z systemem Linux, komunikuje się za pomocą kodu wbudowanego w urządzenie STM32 i analizuje dokładność kolorów, jakość obrazu oraz statystyki, a następnie odpowiednio konfiguruje rejestry procesora sygnałów wizualnych (ISP).
  • Obsługa MIPI CSI-2, najpopularniejszego interfejsu kamery w zastosowaniach mobilnych, bez konieczności posiadania zewnętrznego procesora sygnałów wizualnych (ISP) kompatybilnego z konkretnym interfejsem szeregowym kamery.
  • Wiele dodatkowych funkcji w jednym urządzeniu oznacza, że deweloperzy mogą teraz uruchamiać sieć neuronową w połączeniu z graficznym interfejsem użytkownika (GUI) bez konieczności używania wielu mikrokontrolerów MCU.
  • Wysoki poziom bezpieczeństwa, w tym certyfikacje Target SESIP oraz PSA poziomu 3.

Podsumowanie

Zastosowania uczenia maszynowego działające w środowisku brzegowym kiedyś wymagały mikroprocesorów o dużej mocy obliczeniowej w systemach wbudowanych, aby udźwignąć ciężar wykonywania złożonych algorytmów. Dzięki potężnym mikrokontrolerom MCU, takim jak procesory z serii STM33N6 firmy STMicroelectronics, firmy mogą teraz demokratyzować sztuczną inteligencję (AI) w środowisku brzegowym. Firma STMicroelectronics dostarcza cały ekosystem wdrażania sztucznej inteligencji (AI) w środowisku brzegowym, w tym oprogramowanie i komponenty sprzętowe do wnioskowania.

Źródło: W jaki sposób i dlaczego mikrokontrolery mogą pomóc w demokratyzacji dostępu do sztucznej inteligencji brzegowej

Kontakt w Polsce: poland.support@digikey.pl

Autor: Rolf Horn

Rolf Horn, Applications Engineer at DigiKey, has been in the European Technical Support group since 2014 with primary responsibility for answering any Development and Engineering related questions from final customers in EMEA, as well as writing and proof-reading German articles and blogs on DK’s TechForum and maker.io platforms. Prior to DigiKey, he worked at several manufacturers in the semiconductor area with focus on embedded FPGA, Microcontroller and Processor systems for Industrial and Automotive Applications. Rolf holds a degree in electrical and electronics engineering from the university of applied sciences in Munich, Bavaria and started his professional career at a local Electronics Products Distributor as System-Solutions Architect to share his steadily growing knowledge and expertise as Trusted Advisor.

Hobbies: spending time with family + friends, travelling in our VW-California transporter and motorbiking on a 1988 BMW GS 100.