Wszystko o akceleratorze USB Google Coral
W jednym z naszych filmów na YouTube na temat sztucznej inteligencji komentujący napisał, że nie jest zainteresowany tajemniczym pudełkiem AI. Zainspirowało mnie to do napisania artykułu wyjaśniającego tę tajemnicę. Oto wszystko, co musisz wiedzieć o Google Coral USB Accelerator.
Akcelerator Coral USB został zaprojektowany przede wszystkim z myślą o aplikacjach brzegowych AI o niskim poborze mocy.
Nadaje się do zadań takich jak analiza obrazu i wideo, wykrywanie obiektów i rozpoznawanie mowy na urządzeniach takich jak Raspberry Pi lub laptopy.
Przegląd
W skrócie, Google Coral USB Accelerator to procesor wykorzystujący Tensor Processing Unit (TPU), czyli układ scalony, który naprawdę dobrze radzi sobie z mnożeniem i dodawaniem macierzy.
Mnożenie macierzy to rzecz potrzebna do budowania sieci neuronowych.
I zdecydowanie nie zajdziesz daleko, jeśli spróbujesz zbudować sieci neuronowe na swoim Raspberry Pi.
W związku z tym akcelerator dodaje kolejny procesor, który jest dedykowany specjalnie do wykonywania algebry liniowej wymaganej do uczenia maszynowego.
Jak zapewne wiesz, ideą uczenia maszynowego jest opracowywanie modeli, które analizują i uczą się wzorców ze zbioru danych. Ten zbiór danych ma różne dane wejściowe i odpowiadające im dane wyjściowe. Następnie, po przeszkoleniu, modele te mogą przyjmować nowe dane wejściowe, syntetyzować wyuczone wzorce i generować odpowiednie dane wyjściowe lub prognozy.
TPU działają znacznie szybciej i zużywają znacznie mniej energii niż procesory do uczenia maszynowego, ponieważ nie uruchamiają innych programów i nie muszą uzyskiwać dostępu do pamięci współdzielonej.
TPU w Coral USB Accelerator wykorzystuje TensorFlow Lite, który jest zmodyfikowaną wersją dla mniejszych urządzeń.
Korzystanie z akceleratora Coral USB
To, co jest w nim szczególnie wspaniałe, to przystępność, z jaką umożliwia rozwój sztucznej inteligencji.
Rozpoczęcie pracy jest bardzo proste.
Tak naprawdę wszystko, czego potrzebujesz, to Google Coral USB Accelerator (oczywiście) i komputer z jednym wolnym portem USB oraz Python 3.5 lub nowszy.
Warto też wspomnieć, że współpracuje z systemami Mac, Windows i Linux (w szczególności z systemami operacyjnymi opartymi na Debianie, takimi jak Ubuntu lub Raspberry Pi OS). Więc na pewno uda ci się go uruchomić.
Podczas konfiguracji musisz zdecydować, czy chcesz, aby działał z maksymalną częstotliwością taktowania, czy ze zmniejszoną częstotliwością taktowania. Oczywiście maksymalna częstotliwość taktowania jest bardziej wydajna, ale będzie też zużywać więcej energii. I może się niewiarygodnie nagrzewać.
Uruchamianie modelu rozpoznawania obrazu
Na Strona internetowa Google Coral, oferują wspaniały test, aby pokazać, jak działa Coral USB Accelerator. W ich przykładzie jest on w stanie rozpoznać różne ptaki z niezwykłą dokładnością.
Oto jak uruchomić model rozpoznawania obrazu na Raspberry Pi. Będzie to działać doskonale przy zmniejszonej częstotliwości taktowania.
Nie wciskaj jeszcze pedału gazu.
Najpierw należy przejść do terminala i wpisać następujący kod, aby dodać repozytorium Edge TPU:
echo "deb https://packages.cloud.google.com/apt coral-edgetpu-stable main" | sudo tee /etc/apt/sources.list.d/coral-edgetpu.list
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
sudo apt-get update
Następnie zainstaluj środowisko uruchomieniowe:
sudo apt-get install libedgetpu1-std
Teraz możesz podłączyć akcelerator, aby wszystko było zsynchronizowane. Po podłączeniu należy zainstalować PyCoral:
sudo apt-get install python3-pycoral
A teraz możesz uruchomić model. Najpierw należy pobrać kod:
mkdir coral && cd coral
git clone https://github.com/google-coral/pycoral.git
cd pycoral
Następnie uruchom następujące polecenie:
bash examples/install_requirements.sh classify_image.py
Na koniec uruchamiamy model:
python3 examples/classify_image.py \
--model test_data/mobilenet_v2_1.0_224_inat_bird_quant_edgetpu.tflite \
--labels test_data/inat_bird_labels.txt \
--input test_data/parrot.jpg
Wynik wygląda mniej więcej tak:
Widać, że dane wejściowe to "parrot.jpg", a model poprawnie odczytał je jako Scarlet Macaw, z dokładnością do 0,75.
Znalazłem zdjęcie północnego kardynała, przepuściłem je przez model i oto, co otrzymałem.
Jak widać, dał on bardzo dokładny odczyt z ufnością .91.
Chciałem więc sprawdzić, co by się stało, gdybym nakarmił go zdjęciem kota.
Chociaż całkowicie rozumiem, dlaczego myślał, że kot jest wielką rogatą sową, byłem zaskoczony jego poziomem pewności siebie.
Próbowałem zmusić go do rozpoznawania zdjęć ludzi i określania, jakie to ptaki, ale niestety nie chciał współpracować.
Ale nie krępuj się eksperymentować i zobacz, co możesz z tego wyciągnąć. Skomentuj poniżej wyniki!
Wniosek
No i proszę. Chociaż jego ultra elegancki wygląd zewnętrzny może dawać pewne poczucie tajemniczości, Google Coral USB Accelerator nie jest tajemniczym pudełkiem.
Jest to potężny procesor, który może wprowadzić sztuczną inteligencję do urządzeń brzegowych.
Tak więc, niezależnie od tego, czy zajmujesz się IoT, robotyką, czy też masz pomysł na wprowadzenie sztucznej inteligencji do urządzeń codziennego użytku, Coral USB Accelerator jest Twoim biletem na przejażdżkę. Chociaż podałem przykład modelu rozpoznawania obrazu, akcelerator może pójść znacznie dalej - rozpoznawanie wideo, wykrywanie obiektów, uczenie się transferu na urządzeniu itp.
Mamy również zestaw AIY Maker Kit, który to wszystko umożliwia - zobacz ten film:
Jeśli jesteś zainteresowany sztuczną inteligencją, możesz sprawdzić nasze Wprowadzenie do sztucznej inteligencji.
A jeśli jesteś zainteresowany samodzielnym tworzeniem projektów AI, możesz sprawdzić kilka projektów wykorzystujących AI w nasza seria Paragon Projects.
Co planujesz zrobić z akceleratorem?
lubie jak w artykule są przykłady z życia wzięte. dobry fachowy artykuł 🙂
Dzięki!
hola, masz pomysł, czy to miejsce USB może przyspieszyć komputer, na którym zainstalowano jakieś GenAI, takie jak ollama? z jakimś wolnym modelem, takim jak llama 3.1 lub Gemma? używając ollamy? dzięki.
"komentujący napisał, że nie jest zainteresowany tajemniczym pudełkiem AI" - wydaje mi się, że komentujący wyraził jakieś konkretne powody.
Najbardziej niepokojące powody to brak danych wyjściowych z ML i niezdolność do zapewnienia takich danych na potrzeby ewentualnych regulacji.
Miejsce uruchomienia ML nie zapewnia niczego w tym zakresie.
korekta:
"komentujący napisał, że nie jest zainteresowany tajemniczym pudełkiem AI" - wydaje mi się, że komentujący nie podał żadnych konkretnych powodów.
Najbardziej niepokojące powody to brak danych wyjściowych z ML i niezdolność do zapewnienia takich danych na potrzeby ewentualnych regulacji.
Miejsce uruchomienia ML nie zapewnia niczego w tym zakresie.
Interesująca uwaga, David.
а что быстрее: GPU czy TPU???
Для искусственного интеллекта, TPU. Безусловно, быстрее.
Byłoby świetnie, gdyby nie rozłączał się po godzinie i wymagał ponownego uruchomienia lub odłączenia i podłączenia, aby ponownie działał.
Посмотрите опенсорсный fregata NVR, особенно последню beta3