Czym jest Procesor przetwarzania wizji (Vision Processing Unit, VPU)?
Procesor przetwarzania wizji, w skrócie VPU, to wyspecjalizowany układ scalony zaprojektowany do przyspieszania obliczeń związanych z analizą obrazu i wideo za pomocą modeli uczenia maszynowego. W odróżnieniu od uniwersalnych procesorów graficznych (GPU) czy centralnych (CPU), VPU udostępnia wbudowane akceleratory macierzowe, pamięci o niskich opóźnieniach oraz magistrale zoptymalizowane pod strumieniowanie danych pikselowych, dzięki czemu pozwala wykonywać złożone operacje konwolucyjne, ekstrakcję cech i wnioskowanie sieci neuronowych przy minimalnym poborze energii.
Krótki kontekst historyczny
Początki tej klasy układów sięgają roku 2010, kiedy to irlandzka firma Movidius (później przejęta przez Intel w 2016 r.) zaprezentowała platformę Myriad skupioną na mobilnym rozpoznawaniu gestów. W 2014 r. powstał pierwszy masowo produkowany VPU – Myriad 2, zastosowany w kamerach DJI Phantom 4. Równolegle swoje rozwiązania rozwijały Google (Edge TPU), Intel (Keem Bay) czy soczewkowy start-up Hailo, co zainicjowało wyraźny trend przenoszenia obliczeń wizualnych z chmury do urządzeń brzegowych.
Jak dokładnie działa Procesor przetwarzania wizji (Vision Processing Unit, VPU)
Rdzeń VPU składa się z wielu niewielkich jednostek wektorowych rozlokowanych w architekturze siatki, które komunikują się przez lokalne bufory SRAM. Dzięki temu zestaw filtrów konwolucyjnych może być przesuwany nad obrazem bez konieczności wielokrotnego odczytu danych z pamięci DRAM, co znacząco zmniejsza zużycie energii. Mechanizm tiling dzieli klatki wideo na fragmenty, które trafiają do niezależnych silników obliczeniowych, a następnie łączone są w pamięci współdzielonej. Całość nadzoruje sterownik DMA sprzętowo sortujący kolejki zadań, pozwalając aplikacjom uruchamiać sieci CNN, RNN czy transformery w czasie zbliżonym do rzeczywistego na urządzeniach pozbawionych aktywnego chłodzenia.
Porównanie z GPU i CPU
GPU, mimo ogromnej mocy obliczeniowej, zużywa relatywnie dużo energii z uwagi na uniwersalny charakter swoich rdzeni. CPU natomiast jest elastyczny, ale wykonuje operacje macierzowe wolniej. VPU łączy najlepsze cechy obu: ma wysoki współczynnik wydajności na wat i jednocześnie oferuje sprzętowe dekodery obrazu oraz jednostki ISP, eliminując konieczność przesyłania surowych danych pomiędzy różnymi układami.
Zastosowania w praktyce
Najczęstsze wdrożenia obejmują bezzałogowe statki powietrzne, kamery monitoringu z funkcją detekcji twarzy na krawędzi sieci, gogle AR, mikroskopy cyfrowe analizujące preparaty w czasie rzeczywistym czy systemy ADAS w motoryzacji. W przypadku drona inspekcyjnego VPU na pokładzie potrafi wykryć uszkodzenia infrastruktury energetycznej przy zużyciu energii niższym niż 2 W, co pozwala wydłużyć lot nawet o kilkanaście minut w porównaniu z rozwiązaniem GPU.
Zalety i ograniczenia
Największym atutem VPU jest relacja mocy obliczeniowej do poboru energii, sięgająca kilkuset GOPS/W. Układ jest także pozbawiony licencji sterowników charakterystycznych dla GPU, co upraszcza integrację w urządzeniach medycznych i przemysłowych. Ograniczeniem pozostaje stosunkowo mała pamięć wewnętrzna, która w praktyce narzuca użycie skompresowanych modeli i technik kwantyzacji, a tym samym wymaga dodatkowych etapów przygotowania sieci.
Na co uważać?
Implementacja VPU wymaga dopasowania łańcucha narzędziowego. Modele trenowane w TensorFlow czy PyTorch należy przekonwertować do formatu IR udostępnianego przez producenta, często przy użyciu restrykcyjnego zestawu operatorów. Warto także zweryfikować, czy dany układ obsługuje precyzję FP16 lub INT8, aby uniknąć degradacji jakości predykcji. Kolejnym aspektem jest chłodzenie pasywne: mimo niskiego TDP, niektóre scenariusze, takie jak przetwarzanie 4K60fps, mogą generować pik mocy wymagający rozproszenia ciepła przez radiatory.
Dodatkowe źródła
Szczegółowe omówienie architektury Myriad X znajduje się w artykule An Analysis of Myriad Architecture. Podstawową definicję VPU można przeczytać w haśle Vision Processing Unit w encyklopedii Wikipedia. Aktualne dane dotyczące zużycia energii w układach brzegowych prezentuje raport Edge AI Benchmark.


