Wiele urządzeń wbudowanych, w tym roboty, inteligentne kamery i przemysłowe terminale wizyjne, wykorzystuje obecnie jednostki NPU do obsługi algorytmów wizyjnych AI. Jednostka NPU to jednostka sprzętowa w układzie scalonym, przeznaczona do wnioskowania AI.
Wybierając układ scalony, wiele zespołów najpierw zwraca uwagę na jego ocenę NPU TOPS i zakłada, że wyższa wartość oznacza mocniejszy układ. W praktyce rozwój produktu napotyka dwa typowe problemy:
Pierwszym z nich jest niewystarczająca moc obliczeniowa. Urządzenie działa z niską liczbą klatek na sekundę, obraz się zacina, a klatki gubią, gdy kilka kamer działa jednocześnie, a rozpoznawanie AI może zawodzić.
Drugim problemem jest nadmierna wydajność. Układ jest drogi, zużywa więcej energii i generuje dużo ciepła. Niewykorzystana moc obliczeniowa zmniejsza marżę zysku.
Kluczowym zagadnieniem inżynieryjnym jest to, że w wielu projektach z zakresu wizji wbudowanej wydajność jest ograniczona przez transfery obrazu, przepustowość pamięci lub przetwarzanie wsteczne oparte na procesorze CPU, a nie przez wydajność obliczeniową NPU.

Planowanie obliczeniowe nie wymaga długiej listy terminów technicznych. Rozróżnienie dwóch kluczowych pojęć pomaga uniknąć mylących specyfikacji układów scalonych.
Wartość TOPS podawana przez producentów chipów to teoretyczna szczytowa wydajność obliczeniowa: maksymalna moc obliczeniowa, jaką NPU może osiągnąć przy pełnym obciążeniu w idealnych warunkach laboratoryjnych. Projekty produktów wymagają rezerwy mocy, dlatego szczytowa wydajność nie może być bezpośrednio wykorzystywana do określania rozmiaru.
Używamy GMAC do oceny obciążenia obliczeniowego modelu sztucznej inteligencji. MAC to podstawowa operacja mnożenia i akumulacji, a GMAC reprezentuje miliard takich operacji. Mierzy on ilość obliczeń w modelu. Należy pamiętać, że GMAC mierzy obciążenie, podczas gdy GMAC/s mierzy przepustowość. Większe modele mają wyższe wartości GMAC.
Wykorzystanie NPU nie jest stałą. Reprezentuje ono proporcję pojemności NPU wykorzystywaną do efektywnych obliczeń. W przypadku prostych sieci splotowych, takich jak front-endy VIO lub lekkie modele detekcji, proste operatory i dokładna optymalizacja układów scalonych mogą zapewnić wykorzystanie na poziomie 60–80%. Modele zawierające złożone transformacje lub bloki transformatorowe mogą wymagać wielokrotnego wykonywania funkcji kafelkowych, co zmniejsza wykorzystanie do 20% lub nawet mniej.
Zastosowanie stałego współczynnika wykorzystania na poziomie 40% jest główną przyczyną niedokładnych szacunków. Rozdzielczość ma również bezpośredni wpływ na obciążenie pracą: podwojenie szerokości i wysokości obrazu wejściowego czterokrotnie zwiększa jego powierzchnię i około czterokrotnie zwiększa obliczenia dla tego samego modelu.
TOPS to tylko pułap sprzętowy. Rozpocznij szacowanie mocy obliczeniowej od obciążenia GMAC modelu i skalibruj je na podstawie pomiarów na płycie rozwojowej. Nie wybieraj układu wyłącznie na podstawie jego teoretycznej wydajności szczytowej.
Przed oszacowaniem zapotrzebowania na moc obliczeniową należy zmapować obciążenie produktu. Kluczowe jest to, czy wiele kamer korzysta z wnioskowania równoległego, czy z wnioskowaniem rotacyjnym współdzielonym w czasie, ponieważ to decyduje o sposobie łączenia ich zapotrzebowania na moc obliczeniową.
Tryb równoległy: Wszystkie kamery korzystają z wnioskowania AI jednocześnie, więc ich wymagania obliczeniowe są dodawane bezpośrednio. Na przykład, urządzenie bezpieczeństwa z czterema kamerami, które wykrywają obiekty w czasie rzeczywistym z szybkością 30 klatek na sekundę na każdym kanale, łączy obciążenie wszystkich czterech kanałów.
Tryb współdzielenia czasu: NPU to współdzielony zasób sprzętowy, który przetwarza obrazy z kamer sekwencyjnie, obsługując jeden kanał na raz, gdy kanały następują po sobie w kolejce. Wiele implementacji wizji wielokamerowej na platformach Rockchip RK wykorzystuje to podejście.
Określając obciążenie pracą, zbierz następujące informacje:
Rozdzielczość i liczba klatek na sekundę dla każdej kamery.
Lista modeli AI: które modele są uruchamiane na NPU, a które zadania przetwarzania końcowego są uruchamiane na CPU.
Precyzja kwantyzacji: INT8 jest powszechnie wybieranym rozwiązaniem w urządzeniach wbudowanych ze względu na wyższą wydajność wnioskowania.
Metoda wyzwalania: ciągłe przetwarzanie AI w każdej klatce lub operacja wyzwalana zdarzeniem, w której złożone algorytmy rozpoczynają się tylko wtedy, gdy spełniony jest warunek wyzwalający.
Ważne: Eksportuj model GMAC za pomocą narzędzi takich jak RKNN lub ONNX Runtime, zamiast szacować go na podstawie doświadczenia. Wykorzystanie obciążenia dużego modelu YOLO do określania rozmiaru lekkiej sieci VIO może znacznie przeszacować wymagania obliczeniowe.

Nasz MV11 to czterokamerowa, sprzętowo zsynchronizowana platforma obliczeniowa do łączenia wizji i nawigacji bezwładnościowej, oparta na wydajnym procesorze Rockchip RK3576. Zawiera ona 6-rdzeniowy układ NPU TOPS i 4 GB pamięci LPDDR4 oraz obsługuje synchronizację na poziomie mikrosekund między czterema kamerami. Odpowiednie zastosowania obejmują rozpoznawanie i detekcję robotów, VIO, SLAM oraz zbieranie danych z wielu kamer EGO. Może służyć jako platforma sprzętowa do obliczeń na poziomie płyty głównej, testów przepustowości i harmonogramowania wielokanałowego, opisanych powyżej. Dostępne są próbki do wstępnej oceny projektu, a kompletne rozwiązania wizyjne można dostosować do potrzeb wdrożenia. Skontaktuj się z nami pod adresem [email protected].
Wiele projektów koncentruje się wyłącznie na NPU TOPS podczas wyboru, a następnie podczas testowania płytki okazuje się, że system nie nadąża, mimo że ponad połowa mocy obliczeniowej NPU pozostaje dostępna. Poniższe ograniczenia są typowymi wąskimi gardłami w systemach wizyjnych.
Podczas wnioskowania AI, NPU stale odczytuje obrazy i wagi modeli z pamięci i zapisuje pośrednie mapy cech z powrotem do pamięci. Przepustowość DDR decyduje o szybkości tych transferów. Gdy przepustowość jest niewystarczająca, nawet NPU o dużej mocy obliczeniowej musi czekać na dane, co uniemożliwia poprawę liczby klatek na sekundę. W większości projektów wielokamerowych na platformach RK przepustowość ulega nasyceniu, gdy wykorzystywana jest tylko niewielka część mocy NPU.
Bufory obrazów, wagi modeli AI i mapy cech pośrednich zużywają pamięć. Zużycie pamięci znacznie wzrasta, gdy wiele kanałów działa jednocześnie. Niedobór pamięci może spowodować awarię aplikacji. Urządzenia wbudowane zazwyczaj nie mają wystarczającej ilości pamięci wirtualnej, więc brak pamięci (OOM) może spowodować zatrzymanie urządzenia.
Obrazy RAW rejestrowane przez kamery wymagają kadrowania, skalowania i konwersji przestrzeni barw. Część przetwarzania wstępnego jest wykonywana przez sprzęt ISP, a część wykorzystuje zasoby procesora. Akwizycja z wielu kamer zwiększa zapotrzebowanie na przetwarzanie wstępne i może powodować opóźnienia w całym procesie, nawet gdy jednostka NPU jest bezczynna.
Deklarowany szczytowy TOPS układu odpowiada szczytowemu poborowi mocy. Większość urządzeń wbudowanych nie ma wentylatora i nie jest w stanie utrzymać pełnego obciążenia NPU przez długi czas. Nawet przy wysokiej teoretycznej mocy obliczeniowej, warunki termiczne ograniczają dostępną moc do ciągłej pracy.
Jeśli model sztucznej inteligencji (AI) zawiera operatory specjalne, których NPU nie może przyspieszyć, następuje powrót do wykonywania przez procesor (CPU). Przetwarzanie AI przez procesor (CPU) jest powolne i może poważnie spowolnić potok, nawet gdy wydajność NPU jest wystarczająca. Przed wyborem platformy należy sprawdzić obsługę przyspieszenia operatorów.
1. Określ poziom bazowy obciążenia i tryb działania. Zdefiniuj potok AI: rozdzielczość, liczbę klatek na sekundę, liczbę kanałów, strategię wyzwalania (ciągłą lub sterowaną zdarzeniami), wykonywanie równoległe lub współdzielone w czasie, listę modeli i precyzję wdrożenia. Zwróć szczególną uwagę na sposób planowania wielu kanałów.
2. Określ ilościowo obciążenia modelu i wyeksportuj GMAC/s. Użyj narzędzi do eksportu GMAC/s dla każdego modelu, oddzielając obliczenia przyspieszane przez NPU od postprocessingu procesora.
3. Dokonaj pomiarów na płycie docelowej, aby określić wydajność wykonania. Przekształć modele w format platformy na potencjalnych układach SoC, takich jak RK3576 lub RK3588. Zmierz czas wnioskowania na klatkę, aby określić rzeczywistą przepustowość danego modelu na danym NPU. To najważniejszy krok w celu wyeliminowania rozbieżności w szacunkach papierowych: wszystkie szacunki muszą być skalibrowane względem pomiarów na poziomie płyty, a nie ogólnych wzorów.
4. Agregacja obciążeń wielokanałowych i ocena wąskich gardeł systemu. Ocena zarówno normalnej pracy w stanie ustalonym, jak i najgorszego szczytu, gdy wszystkie kanały są aktywowane jednocześnie. Jednoczesna kontrola przepustowości DDR i wykorzystania pamięci. Wiele projektów wielokamerowych RK wyczerpuje przepustowość, podczas gdy moc obliczeniowa pozostaje dostępna.
5. Zarezerwuj odpowiedni zapas i ustal limity. Użyj marginesu 1,1–1,2 dla produktów krótkoterminowych z w dużej mierze stałymi algorytmami oraz 1,3–1,4 dla produktów, dla których przewiduje się aktualizacje modelu. Zapas powinien obejmować ewolucję modelu, scenariusze szczytowe i narzut harmonogramu, a nie arbitralne nadmierne alokowanie. Ustaw jednocześnie koszt BOM i limity mocy.
6.1 Korzystanie wyłącznie z TOPS-ów chipów i stałego współczynnika wykorzystania
Zastosowanie stałego wskaźnika wykorzystania na poziomie 40% do reklamowanego TOPS może kilkukrotnie zawyżać wymagania obliczeniowe i znacząco odbiegać od rzeczywistych warunków inżynieryjnych. Wykorzystanie znacznie różni się w zależności od modelu i architektury NPU.
6.2 Mnożenie przez liczbę kanałów i ignorowanie podziału czasu
W trybie współdzielenia czasu, NPU przetwarza kanały po kolei, a jego moc obliczeniowa jest ponownie wykorzystywana. Samo pomnożenie liczby kanałów przez zapotrzebowanie na moc obliczeniową pojedynczego kanału może znacznie przeszacować wymagania, co skutkuje powstaniem układu o zbyt dużej mocy obliczeniowej i niepotrzebnie drogiego.
6.3 Ocena mocy obliczeniowej NPU z ignorowaniem przepustowości DDR
Wąskie gardła przepustowości są znacznie częstsze niż wąskie gardła obliczeniowe w projektach wizyjnych z wieloma kamerami. Jednostka NPU może dysponować znaczną pojemnością, ale transfery danych nie nadążają, co ogranicza liczbę klatek na sekundę. W projektach z wieloma kamerami należy najpierw ocenić przepustowość.
6.4 Uwzględnianie obciążenia średniego, ale ignorowanie szczytów przejściowych
Produkt może działać przy niskim obciążeniu przez większość czasu, ale doświadczać chwilowych szczytów obciążenia, gdy wszystkie kamery jednocześnie uruchamiają AI. Projekt musi uwzględniać te szczyty, ale kolejka zadań może łagodzić chwilowe zapotrzebowanie, więc rozmiar układu scalonego nie musi być koniecznie dostosowywany bezpośrednio do szczytowego zapotrzebowania na moc obliczeniową.
6.5 Obliczenia modelu zliczającego tylko i ignorującego obciążenie systemu
Wiele szacunków uwzględnia jedynie GMAC szkieletu AI, ignorując wstępne przetwarzanie ISP, kopiowanie obrazu i postprocesowanie procesora. Nawet przy wystarczającej wydajności NPU, te obciążenia zwiększają opóźnienia i uniemożliwiają osiągnięcie oczekiwanej liczby klatek na sekundę.
Wypisz wszystkie parametry kamery: rozdzielczość, liczbę klatek na sekundę i liczbę kanałów. Sprawdź, czy kanały korzystają z harmonogramowania równoległego, czy współdzielonego czasowo.
Eksportuj GMAC dla każdego modelu i rozróżnij obliczenia NPU od przetwarzania końcowego CPU.
Zmierz czas wnioskowania pojedynczego modelu na platformach kandydujących, aby ustalić rzeczywistą wydajność wykonania.
Agreguj obciążenia wielokanałowe i oceniaj wykorzystanie mocy obliczeniowej NPU w warunkach ustalonych i szczytowych.
Zmierz przepustowość DDR i wykorzystanie pamięci, aby ustalić, czy przepustowość stanowi wąskie gardło.
Sprawdź poprawność operatorów modelu i potwierdź obsługę sprzętowego przyspieszenia NPU w celu uniknięcia spadku wydajności procesora.
Zarezerwuj przestrzeń obliczeniową zgodnie z harmonogramem aktualizacji produktu i ustaw koszty BOM oraz limity mocy.
Przeprowadź rozszerzone testy obciążeniowe z jednoczesnym wyzwalaniem wielokanałowym. Sprawdź wahania liczby klatek na sekundę i awarie spowodowane wyczerpaniem pamięci.

Określenie pojemności NPU dla wbudowanego systemu wizyjnego nie jest prostym zadaniem matematycznym polegającym na zastosowaniu wzoru TOPS. Szacunki zawarte w publikacjach stanowią jedynie punkt odniesienia na wczesnym etapie planowania. Ostateczna walidacja musi zostać przeprowadzona na płycie rozwojowej układu docelowego.
Pełna ocena przebiega następująco: określ, czy wąskim gardłem są zasoby obliczeniowe → potwierdź równoległe lub współdzielone harmonogramowanie → zmierz model GMAC → ustal priorytety oceny przepustowości DDR → skalibruj za pomocą testów na poziomie płyty → zarezerwuj odpowiedni zapas mocy obliczeniowej.
Celem jest zrównoważenie wydajności, zużycia energii i kosztów. Wybierz wystarczającą wydajność do danego zadania, zamiast dążyć do coraz wyższych szczytowych wartości NPU TOPS.


Nasz MV11 to czterokamerowa, sprzętowo zsynchronizowana platforma obliczeniowa do łączenia wizji i nawigacji bezwładnościowej, oparta na wydajnym procesorze Rockchip RK3576. Zawiera ona 6-rdzeniowy układ NPU TOPS i 4 GB pamięci LPDDR4 oraz obsługuje synchronizację na poziomie mikrosekund między czterema kamerami. Odpowiednie zastosowania obejmują rozpoznawanie i detekcję robotów, VIO, SLAM oraz zbieranie danych z wielu kamer EGO. Może służyć jako platforma sprzętowa do obliczeń na poziomie płyty głównej, testów przepustowości i harmonogramowania wielokanałowego, opisanych powyżej. Dostępne są próbki do wstępnej oceny projektu, a kompletne rozwiązania wizyjne można dostosować do potrzeb wdrożenia. Skontaktuj się z nami pod adresem [email protected].
Gorące wiadomości2026-10-24
2026-10-23
2026-10-20
2026-10-19
2026-10-16
2026-10-12