Ambiq Micro to najnowszy producent mikrokontrolerów, który stworzył własny zestaw programistyczny (SDK) ukierunkowany na sztuczną inteligencję. Połączenie pakietu SDK Neural Spot AI od Ambiq z technologiami: „podprogowymi” i „prawie progowymi”, tj. o bardzo niskim poborze mocy, umożliwia wydajną inferencję. Algorytmy marki Ambiq oferują wykrywanie słów kluczowych przy poborze poniżej pojedynczych milidżuli (mJ). Ta efektywność będzie idealnie pasować do sprzętów dla Internetu Rzeczy (IoT), zwłaszcza aparatur noszonych, które już teraz stanowią duży rynek dla tej firmy. Aplikacje sztucznej inteligencji na urządzeniach z rdzeniem ARM Cortex-M wymagają specjalistycznych stosów oprogramowania wykraczających poza to, co jest dostępne w ramach platform open-source, takich jak TensorFlow Lite dla mikrokontrolerów. Jako że jest tak wiele wyzwań związanych z precyzyjnym dostrajaniem wydajności, jak wskazuje Carlos Morales, wiceprezes Ambiq Micro ds. AI w wywiadzie dla EE Times. „CMSIS-NN od ARM zoptymalizował jądra, które naprawdę dobrze wykorzystują rdzenie ARM, ale wprowadzanie danych i przenoszenie ich do następnej warstwy oznacza, że zachodzi wiele transformacji, a ARM musi być w tym zakresie ogólny” — powiedział Morales. „Jeśli starannie zaprojektujesz ścieżkę danych, nie musisz wykonywać tych transformacji, możesz po prostu wyrwać środek tych rzeczy i wywoływać je jedna po drugiej — i to staje się bardzo wydajne”.
Biblioteki Neural Spot są oparte na zoptymalizowanej wersji CMSIS-NN, z dodatkowymi funkcjami, między innymi dla szybkich transformat Fouriera (FFT). Morales zwraca uwagę, że w przeciwieństwie do sztucznej inteligencji w chmurze, wbudowana koncentruje się w dużej mierze na kilkunastu klasach modeli, więc optymalizacja podzbioru jest łatwiejsza. „Detektor aktywności głosowej działający w TensorFlow był okropny, po prostu spędzał cały swój czas na ładowaniu tensorów tam i z powrotem. Jednak pisząc to na niższym poziomie, nagle robisz to w dwie lub trzy milisekundy, co jest świetne” — podsumował.
Kolejne problemy to niezgodności między Pythonem a kodem pisanym w C/C++, który działa na urządzeniach wbudowanych. „Stworzyliśmy zestaw narzędzi, które pozwalają traktować urządzenie wbudowane tak, jakby było częścią Pythona” — wskazał Morales. „Używamy zdalnych wywołań procedur z wnętrza Twojego modelu Pythona, aby wykonać je na płytce ewaluacyjnej”. Omawiane wyzwalanie umożliwia łatwe porównanie, na przykład, funkcji ekstraktora Pythona lub kalkulatora spektrogramu Mel z tym, co działa na płytce ewaluacyjnej (spektrogram Mel jest reprezentacją danych audio używanych w przetwarzaniu audio).
Neural Spot zawiera zoo modeli typu open-source z przykładami dotyczącymi zdrowia (klasyfikator danych EKG) oraz wykrywania/procesowania mowy. To ostatnie obejmuje modele do wychwytywania aktywności głosowej, słów kluczowych i wykorzystywanie mowy do identyfikacji intencji. Ambiq pracuje nad taką jednostką AI, która poprawi jakość przekazu (eliminacja szumów tła itp.). A także nad komputerowymi modelami wizyjnymi, w tym takimi do wyłapywania osób i klasyfikacji obiektów.
Zestaw Neural Spot AI SDK jest oparty na Ambiq Suite — bibliotekach Ambiq do kontrolowania konfiguracji zasilania i pamięci, komunikacji z czujnikami i zarządzania urządzeniami peryferyjnymi SoC. Neural Spot upraszcza te opcje za pomocą ustawień wstępnych dla programistów AI, którzy mogą nie być zaznajomieni ze sprzętem podprogowym.
Pakiet SDK Neural Spot firmy Ambiq jest przeznaczony dla wyspecjalizowanych programistów sztucznej inteligencji, ekspertów dziedzinowych i integratorów systemów.
Nowy SDK jest dedykowany dla wszystkich układów Apollo czwartej generacji, ale SoC Apollo4 Plus szczególnie dobrze nadaje się do zawsze włączonych aplikacji AI, jak wskazuje Morales. Posiada rdzeń ARM Cortex-M4 z 2 MB wbudowanej pamięci MRAM i 2,75 MB SRAM. Jest w nim też obecny akcelerator graficzny, dwie linie MIPI, a niektórzy członkowie rodziny mają wbudowane moduły Bluetooth Low Energy. Pobór prądu dla Apollo4 Plus wynosi zaledwie 4 μA/MHz podczas wykonywania operacji z pamięci MRAM, a dostępne są ponadto zaawansowane tryby głębokiego uśpienia. Morales mówi, że przy tak niskim zużyciu energii: „nagle można zrobić o wiele więcej rzeczy”, uruchamiając sztuczną inteligencję w środowisku o ograniczonych zasobach. „Jest wiele kompromisów, na które musisz pójść, na przykład zmniejszenie precyzji lub tworzenie płytszych modeli ze względu na opóźnienia bądź wymagania dotyczące zasilania… Wszystkie te rzeczy, które usuwasz, ponieważ chcesz pozostać w budżecie mocy, możesz umieścić z powrotem” — podsumował Morales. Zwrócił on również uwagę, że chociaż akceleracja AI jest ważna dla oszczędzania energii, inne części potoku danych są równie istotne. W tym wykrywanie zasobów, konwersja analogowo-cyfrowa i przenoszenie informacji w pamięci. Na przykład gromadzenie danych audio może zająć kilka sekund, podczas gdy wnioskowanie jest realizowane w dziesiątki milisekund. Gromadzenie zasobów może zatem odpowiadać za większość zużycia energii.
Firma Ambiq zestawiła wewnętrzne pomiary mocy dla uruchomionych testów porównawczych Apollo4 Plus z MLPerf Tiny z opublikowanymi wynikami dla innych mikrokontrolerów. Liczby Ambiq dla Apollo4 Plus wykazują wykorzystanie energii (w µJ/wniosek) na poziomie około 8 do 13 razy niższym względem innego urządzenia ARM Cortex-M4. Test porównawczy wnioskowania dotyczący wychwytywania słów kluczowych zużył mniej niż miliJoule, a algorytm wyłapywania osób spożytkował mniej niż 2 mJ.
Wyniki odnoszące się do energii wewnętrznej Ambiq dla serii Apollo 4 Plus wyposażonej w Cortex-M4 w zestawieniu z innymi mikrokontrolerami (konkurencyjne rezultaty zaczerpnięto z MLPerf Tiny).
Działanie podprogowe
Ambiq osiąga tak niski pobór mocy przy tzw. pracy podprogowej i bliskoprogowej. Chociaż możliwe są duże oszczędności energii przy zastosowaniu napięć podprogowych, nie jest to proste, powiedział Scott Hanson, założyciel i CTO marki Ambiq Micro, we wcześniejszym wywiadzie dla EE Times. „Na pierwszy rzut oka działania podprogowe i bliskoprogowe są dość nieskomplikowane: zwyczajnie zmniejszasz napięcie zasilania. Pozornie każdy mógłby to zrobić, ale okazuje się, że w rzeczywistości jest to dość kłopotliwe” — powiedział. „Kiedy obniżasz napięcie do zakresu bliskiego progu lub wręcz podprogowego, uzyskujesz ogromną wrażliwość na temperaturę, proces produkcji, napięcie etc... Toteż bardzo trudno jest zastosować konwencjonalne techniki projektowania”. Tajny składnik Ambiq bazuje na tym, jak firma łagodzi te zmienne. „W obliczu wahań termiki i procesu, kluczowe znaczenie ma ustawienie napięcia zasilania na wartość, która może to zrekompensować. Stąd dysponujemy unikalnym sposobem regulacji napięcia w zakresie procesu i temperatury, który umożliwia podprogowe i bliskie progowi działanie, aby funkcjonowanie systemu było niezawodne i solidne” — podsumował Hanson.
Platforma technologiczna Ambiq, Spot, wykorzystuje techniki projektowania: „50 lub 100”, aby sobie z tym poradzić, wraz z metodami obejmującymi ujęcie analogowe, cyfrowe i pamięciowe. Większość z tych opcji jest na poziomie obwodu. Wiele takowych klasycznych z bloków konstrukcyjnych, w tym przykłady, takie jak obwód stabilizatora napięcia odniesienia wykorzystujący pasmo wzbronione, nie funkcjonuje w trybie podprogowym. Wymaga więc przeprojektowania przez firmę Ambiq. Inne wyzwania dotyczą sposobu dystrybucji zegara i przypisania domen napięcia. Praca przy niższym wiąże się z kompromisem: projekty muszą działać wolniej. Dlatego, jak powiedział Hanson, Ambiq zaczął od zastosowania swoich pomysłów podprogowych w przestrzeni wbudowanej. Dwadzieścia cztery lub 48 MHz było początkowo wystarczające dla urządzeń noszonych o bardzo niskim zużyciu energii, w których Ambiq ma obecnie około połowy udziału w rynku. Jednak klienci szybko zwiększyli swoje wymagania dotyczące szybkości zegara. Ambiq osiągnął to poprzez wprowadzenie bardziej dynamicznych punktów pracy skalowania napięcia i częstotliwości (DVFS) — klienci działają przez 99% czasu w trybie podprogowym lub prawie progowym. Jednak, gdy potrzebują podbicia mocy obliczeniowej, mogą zwiększyć napięcie do pracy przy wyższej częstotliwości zegara. „Za niedługo zobaczysz więcej punktów operacyjnych DVFS z Ambiq, ponieważ chcemy obsługiwać naprawdę niskie, średnie i wysokie napięcia” — podsumował Hanson. Inne elementy w planach rozwoju technologii Ambiq obejmują bardziej zaawansowane węzły procesowe, ulepszenia architektury, które zwielokrotniają wydajność bez podnoszenia napięcia oraz dedykowane akceleratory MAC (zarówno do wnioskowania AI, jak i akceleracji filtrów).
Źródło: https://www.eetimes.com/ambiq-launches-ai-sdk-for-ultra-low-power-mcus/
Biblioteki Neural Spot są oparte na zoptymalizowanej wersji CMSIS-NN, z dodatkowymi funkcjami, między innymi dla szybkich transformat Fouriera (FFT). Morales zwraca uwagę, że w przeciwieństwie do sztucznej inteligencji w chmurze, wbudowana koncentruje się w dużej mierze na kilkunastu klasach modeli, więc optymalizacja podzbioru jest łatwiejsza. „Detektor aktywności głosowej działający w TensorFlow był okropny, po prostu spędzał cały swój czas na ładowaniu tensorów tam i z powrotem. Jednak pisząc to na niższym poziomie, nagle robisz to w dwie lub trzy milisekundy, co jest świetne” — podsumował.
Kolejne problemy to niezgodności między Pythonem a kodem pisanym w C/C++, który działa na urządzeniach wbudowanych. „Stworzyliśmy zestaw narzędzi, które pozwalają traktować urządzenie wbudowane tak, jakby było częścią Pythona” — wskazał Morales. „Używamy zdalnych wywołań procedur z wnętrza Twojego modelu Pythona, aby wykonać je na płytce ewaluacyjnej”. Omawiane wyzwalanie umożliwia łatwe porównanie, na przykład, funkcji ekstraktora Pythona lub kalkulatora spektrogramu Mel z tym, co działa na płytce ewaluacyjnej (spektrogram Mel jest reprezentacją danych audio używanych w przetwarzaniu audio).
Neural Spot zawiera zoo modeli typu open-source z przykładami dotyczącymi zdrowia (klasyfikator danych EKG) oraz wykrywania/procesowania mowy. To ostatnie obejmuje modele do wychwytywania aktywności głosowej, słów kluczowych i wykorzystywanie mowy do identyfikacji intencji. Ambiq pracuje nad taką jednostką AI, która poprawi jakość przekazu (eliminacja szumów tła itp.). A także nad komputerowymi modelami wizyjnymi, w tym takimi do wyłapywania osób i klasyfikacji obiektów.
Zestaw Neural Spot AI SDK jest oparty na Ambiq Suite — bibliotekach Ambiq do kontrolowania konfiguracji zasilania i pamięci, komunikacji z czujnikami i zarządzania urządzeniami peryferyjnymi SoC. Neural Spot upraszcza te opcje za pomocą ustawień wstępnych dla programistów AI, którzy mogą nie być zaznajomieni ze sprzętem podprogowym.

Pakiet SDK Neural Spot firmy Ambiq jest przeznaczony dla wyspecjalizowanych programistów sztucznej inteligencji, ekspertów dziedzinowych i integratorów systemów.
Nowy SDK jest dedykowany dla wszystkich układów Apollo czwartej generacji, ale SoC Apollo4 Plus szczególnie dobrze nadaje się do zawsze włączonych aplikacji AI, jak wskazuje Morales. Posiada rdzeń ARM Cortex-M4 z 2 MB wbudowanej pamięci MRAM i 2,75 MB SRAM. Jest w nim też obecny akcelerator graficzny, dwie linie MIPI, a niektórzy członkowie rodziny mają wbudowane moduły Bluetooth Low Energy. Pobór prądu dla Apollo4 Plus wynosi zaledwie 4 μA/MHz podczas wykonywania operacji z pamięci MRAM, a dostępne są ponadto zaawansowane tryby głębokiego uśpienia. Morales mówi, że przy tak niskim zużyciu energii: „nagle można zrobić o wiele więcej rzeczy”, uruchamiając sztuczną inteligencję w środowisku o ograniczonych zasobach. „Jest wiele kompromisów, na które musisz pójść, na przykład zmniejszenie precyzji lub tworzenie płytszych modeli ze względu na opóźnienia bądź wymagania dotyczące zasilania… Wszystkie te rzeczy, które usuwasz, ponieważ chcesz pozostać w budżecie mocy, możesz umieścić z powrotem” — podsumował Morales. Zwrócił on również uwagę, że chociaż akceleracja AI jest ważna dla oszczędzania energii, inne części potoku danych są równie istotne. W tym wykrywanie zasobów, konwersja analogowo-cyfrowa i przenoszenie informacji w pamięci. Na przykład gromadzenie danych audio może zająć kilka sekund, podczas gdy wnioskowanie jest realizowane w dziesiątki milisekund. Gromadzenie zasobów może zatem odpowiadać za większość zużycia energii.
Firma Ambiq zestawiła wewnętrzne pomiary mocy dla uruchomionych testów porównawczych Apollo4 Plus z MLPerf Tiny z opublikowanymi wynikami dla innych mikrokontrolerów. Liczby Ambiq dla Apollo4 Plus wykazują wykorzystanie energii (w µJ/wniosek) na poziomie około 8 do 13 razy niższym względem innego urządzenia ARM Cortex-M4. Test porównawczy wnioskowania dotyczący wychwytywania słów kluczowych zużył mniej niż miliJoule, a algorytm wyłapywania osób spożytkował mniej niż 2 mJ.

Wyniki odnoszące się do energii wewnętrznej Ambiq dla serii Apollo 4 Plus wyposażonej w Cortex-M4 w zestawieniu z innymi mikrokontrolerami (konkurencyjne rezultaty zaczerpnięto z MLPerf Tiny).
Działanie podprogowe
Ambiq osiąga tak niski pobór mocy przy tzw. pracy podprogowej i bliskoprogowej. Chociaż możliwe są duże oszczędności energii przy zastosowaniu napięć podprogowych, nie jest to proste, powiedział Scott Hanson, założyciel i CTO marki Ambiq Micro, we wcześniejszym wywiadzie dla EE Times. „Na pierwszy rzut oka działania podprogowe i bliskoprogowe są dość nieskomplikowane: zwyczajnie zmniejszasz napięcie zasilania. Pozornie każdy mógłby to zrobić, ale okazuje się, że w rzeczywistości jest to dość kłopotliwe” — powiedział. „Kiedy obniżasz napięcie do zakresu bliskiego progu lub wręcz podprogowego, uzyskujesz ogromną wrażliwość na temperaturę, proces produkcji, napięcie etc... Toteż bardzo trudno jest zastosować konwencjonalne techniki projektowania”. Tajny składnik Ambiq bazuje na tym, jak firma łagodzi te zmienne. „W obliczu wahań termiki i procesu, kluczowe znaczenie ma ustawienie napięcia zasilania na wartość, która może to zrekompensować. Stąd dysponujemy unikalnym sposobem regulacji napięcia w zakresie procesu i temperatury, który umożliwia podprogowe i bliskie progowi działanie, aby funkcjonowanie systemu było niezawodne i solidne” — podsumował Hanson.
Platforma technologiczna Ambiq, Spot, wykorzystuje techniki projektowania: „50 lub 100”, aby sobie z tym poradzić, wraz z metodami obejmującymi ujęcie analogowe, cyfrowe i pamięciowe. Większość z tych opcji jest na poziomie obwodu. Wiele takowych klasycznych z bloków konstrukcyjnych, w tym przykłady, takie jak obwód stabilizatora napięcia odniesienia wykorzystujący pasmo wzbronione, nie funkcjonuje w trybie podprogowym. Wymaga więc przeprojektowania przez firmę Ambiq. Inne wyzwania dotyczą sposobu dystrybucji zegara i przypisania domen napięcia. Praca przy niższym wiąże się z kompromisem: projekty muszą działać wolniej. Dlatego, jak powiedział Hanson, Ambiq zaczął od zastosowania swoich pomysłów podprogowych w przestrzeni wbudowanej. Dwadzieścia cztery lub 48 MHz było początkowo wystarczające dla urządzeń noszonych o bardzo niskim zużyciu energii, w których Ambiq ma obecnie około połowy udziału w rynku. Jednak klienci szybko zwiększyli swoje wymagania dotyczące szybkości zegara. Ambiq osiągnął to poprzez wprowadzenie bardziej dynamicznych punktów pracy skalowania napięcia i częstotliwości (DVFS) — klienci działają przez 99% czasu w trybie podprogowym lub prawie progowym. Jednak, gdy potrzebują podbicia mocy obliczeniowej, mogą zwiększyć napięcie do pracy przy wyższej częstotliwości zegara. „Za niedługo zobaczysz więcej punktów operacyjnych DVFS z Ambiq, ponieważ chcemy obsługiwać naprawdę niskie, średnie i wysokie napięcia” — podsumował Hanson. Inne elementy w planach rozwoju technologii Ambiq obejmują bardziej zaawansowane węzły procesowe, ulepszenia architektury, które zwielokrotniają wydajność bez podnoszenia napięcia oraz dedykowane akceleratory MAC (zarówno do wnioskowania AI, jak i akceleracji filtrów).
Źródło: https://www.eetimes.com/ambiq-launches-ai-sdk-for-ultra-low-power-mcus/
Cool? Ranking DIY