Czym jest edge AI? Definicja i zastosowanie z Google Coral

Blog. Odkryj świat AI.

Co to jest edge AI?

Agata Chudzińska team leader

Agata Chudzińska,
AI Team Leader
1 Kwietnia 2019

Wiele mówi się ostatnio o tzw. edge AI. To w tej technologii widzi się przyszłość sztucznej inteligencji. Dlatego też postanowiliśmy wyjaśnić ten fenomen i opisać najnowsze dostępne na rynku technologie.

Z tego artykułu dowiesz się:

  1. Czym jest edge AI?
  2. Jakie ma zastosowanie?
  3. Jakie są najnowsze przykłady urządzeń z tego zakresu? [z uwzględnieniem Google Coral i Nvidia Jetson]

Czym jest edge AI?

Edge AI to rozwiązanie, w którym algorytmy sztucznej inteligencji implementuje się bezpośrednio na urządzeniu zbierającym dane. Przykładowo, może to być dron, kamera lub okulary rozszerzonej rzeczywistości. W przeciwieństwie do klasycznych sposobów, w tym przypadku nie ma potrzeby przesyłania danych na serwer lub do chmury.

Zastosowanie edge AI

Zmiana miejsca przetwarzania danych na urządzenie końcowe okazuje się szczególnie ważna kiedy:

  • Szybkość przetwarzania danych ma kluczowe znaczenie i nie możemy pozwolić sobie nawet na opóźnienia rzędu milisekund związane z przesyłaniem danych.
  • Występują problemy ze stabilnym dostępem do sieci. Taka sytuacja może mieć miejsce np. w mniej zaludnionych terenach lub pomieszczeniach celowo blokujących sygnał.
  • Pracujemy na danych bardzo wrażliwych, które nie powinny opuścić urządzenia.
  • Zależy nam na niskim zużyciu energii. Nie musimy nieustannie przesyłać danych do chmury, więc automatycznie minimalizujemy wykorzystanie baterii.

Scenariusze zastosowań edge AI są bardzo szerokie.

Możemy do nich zaliczyć między innymi pojazdy autonomiczne oraz drony. Element wspólny stanowi tu potrzeba podejmowania decyzji w czasie rzeczywistym. W związku z tym nie ma czasu wysyłać danych na chmurę w celu ich późniejszego przetworzenia.

Edge AI znajduje również wykorzystanie w technologiach ubieralnych (wearables). Inteligentne zegarki i opaski zbierają coraz dokładniejsze pomiary parametrów życiowych. Te informacje, połączone z algorytmami sztucznej inteligencji, umożliwiają coraz lepsze planowanie treningów, dbanie o zdrowie czy opiekę nad starszymi osobami.

Edge AI pomaga też wdrażać założenia Przemysłu 4.0, umożliwiając między innymi szybkie wykrywanie przyszłych usterek maszyn na podstawie odczytów z sensorów, które badają mi.in. wibracje, temperaturę czy ultradźwięki. Wspiera też postępującą automatyzację procesu produkcji oraz kontroli jakości. W tym przypadku, stosuje się algorytmy przetwarzania obrazu do rozpoznawania, klasyfikacji czy śledzenia obiektów znajdujących się w pobliżu urządzeń.

Tego typu przykłady można mnożyć w nieskończoność. Zaliczają się do nich wszystkie miejsca i sytuacje, dla których istotne są wymienione wyżej powody dla zastosowania edge AI. Wystarczy pomyśleć o inteligentnych domach, smartfonach, okularach rozszerzonej rzeczywistości… A to dopiero początek, bo te technologie coraz bardziej wkraczają do naszego życia i biznesu.

Technologie wspierające edge AI

Rynek edge AI rozwija się bardzo dynamicznie. W ostatnim czasie pojawia się coraz więcej urządzeń, które umożliwiają uruchamianie głębokich sieci neuronowych bezpośrednio na nich.

Wiele z nich występuje w formie akceleratorów AI, które podłącza się do urządzenia przez USB bądź w postaci całych płytek, do których można podpiąć kamery i dodatkowe sensory.
Dzisiaj chcemy jednak poświęcić uwagę możliwościom oferowanym przez dwa szczególnie ciekawe rozwiązania:

  • wypuszczony właśnie na rynek Google Coral Beta
  • oraz urządzeniom Nvidii z serii Jetson, ze szczególnym uwzględnieniem zapowiedzianego na konferencji Nvidia GTC 2019, Jetsona Nano.

Edge AI w praktyce - Google Coral

Ostatnio mieliśmy okazję przetestować najnowsze rozwiązanie Google’a w zakresie edge AI – Google Coral.
Jest to pierwsze urządzenie typu edge TPU (and. Tensor Processing Unit). Wykorzystuje ono opracowaną przez Google’a technologię wspierającą uruchamianie algorytmów machine learning z wykorzystaniem dedykowanego układu scalonego. Do naszych testów wykorzystaliśmy rozwiązanie w formie akceleratora AI na USB, które podłączyliśmy do płytki Raspberry 3.

Zresztą, zobaczcie sami:

google coral rapsberry pi 3 image processing

Google Coral podczas testów z wykorzystaniem Raspberry Pi3 z podłączoną kamerą.

Coral Beta (ta wersja wyszła na rynek w tym miesiącu) koncentruje się na scenariuszach związanych z przetwarzaniem obrazu. Umożliwia budowanie rozwiązań związanych z wykrywaniem i klasyfikacją obiektów na zdjęciach i obrazie z kamery. Przykładowe dedykowane modele pozwalają np. na rozpoznawanie twarzy, gatunków ptaków czy tysiąca obiektów codziennego użytku.
Google Coral umożliwia pracę z modelami Tensorflow Lite. Konieczne jest jednak odpowiednie skompilowanie go, tak aby mógł korzystać z technologii Edge TPU. Obecnie kompilator umożliwia pracę z 4 typami architektur sieci neuronowych, do których należą:

  • Inception V3/V4: 299×299 fixed input size,
  • Inception V1/V2: 224×224 fixed input size,
  • MobileNet SSD V1/V2: 320×320 max input size; 1.0 max depth multiplier,
  • Oraz MobileNet V1/V2: 224×224 max input size; 1.0 max depth multiplier.

Modele .tflite dostarczone do kompilatora nie powinny jednak przekraczać 100MB.
Dużym plusem dostarczanego z Edge TPU API dla Pythona jest możliwość zastosowania Transfer Learningu, czyli wykorzystania wyuczonego modelu i do trenowania go na własnych danych. Może się ono odbywać bezpośrednio na urządzeniu.
Z uwagi na prace z dość ciężkimi danymi (obrazy) i długi czas ich przetwarzania, przeuczanie modelu w naszym przypadku lepiej było wykonać na komputerze i następnie przerzucić wytrenowany model z powrotem na urządzenie.

Nvidia Jetson

Karty graficzne są powszechnie wykorzystywane do trenowania modeli deep learning. Dlatego też Nvidia postanowiła wykorzystać swoją wieloletnią pozycję lidera w tej dziedzinie i wkroczyć na rynek sztucznej inteligencji.

Ta firma odgrywa też znaczącą rolę na rynku edge AI dzięki linii produktów Jetson. Wykorzystuje się je szczególnie często w zakresie robotyki i dronów. Seria Jetson, ze swoimi modelami takimi jak TX2 czy ostatnią wersją AGX Xavier, zapewnia świetne parametry techniczne, które umożliwiają uruchamianie nawet bardzo intensywnych obliczeniowo algorytmów bezpośrednio na urządzeniu.

Na ubiegłotygodniowej konferencji GTC NVidia zaprezentowała też nowego członka rodziny Jetson – Jetson Nano. Jest on dużo mniejszy i tańszy niż pozostałe produkty z tej serii, zapewniając przy tym dosyć imponujące parametry techniczne. Ma ono też umożliwiać korzystanie z szerokiego wachlarza architektur sieci neuronowych oraz znanych frameworków machine learning, takich jak TensorFlow, PyTorch, Keras, Caffe.
Ciekawym dodatkiem będzie tu też możliwość skorzystania ze zbioru dedykowanych dla serii Jetson bibliotek CUDA-X wspomagających wykorzystanie pełnego potencjału GPU.

Z niecierpliwością czekamy na możliwość przetestowania Jetsona Nano i sprawdzenia jak radzi sobie w bardziej zaawansowanych zastosowaniach, czyli przykładowo segmentacji obrazu czy pose estimation.

Nvidia Jetson Nano kontra Google Coral - porównanie możliwości

Nvidia wykonała ciekawe zestawienie osiągów Jetsona Nano w porównaniu do konkurencyjnych Google Corala oraz Neural Compute Sticka od Intela w zakresie procesowania video.

Jak widać na załączonym wykresie, Coral osiąga lepsze rezultaty dla architektury MobileNet, jednakże Jetson Nano oferuje znacznie szersze możliwości w zakresie dostępnych architektur sieci oraz frameworków.
Bardziej szczegółowe porównanie możecie znaleźć tutaj.

Ciekawi Cię jak możesz wykorzystać edge AI w swojej firmie?