Minikomputer BeagleBone AI do aplikacji sztucznej inteligencji
Rozwiązania wykorzystujące sztuczną inteligencję zdobywają sobie coraz większą popularność. Pojawiają się rozwiązania specjalnie przystosowane do wydajnych obliczeń w algorytmach AI. Przykładowo, ARM kilka tygodni temu ogłosił nawet powstanie nowego rdzenia – Cortex-M55 – przeznaczonego specjalnie do takich zastosowań. Na rynku pojawiają się również nowe komputery jednopłytkowe zaprojektowane specjalnie do wydajnych obliczeń w AI. Jednym z nich jest komputer jednopłytkowy BeagleBone AI.
Urządzenia z serii BeagleBone znane są amatorom elektroniki od bardzo dawna. W ciągu tego okresu oferta stopniowo rozszerzała się o komputery przeznaczone na różne rynki. Na przykład BeagleBone Black Industrial jest dostosowany do wymagań aplikacji przemysłowych, natomiast np. BeagleBone Blue – do rozwiązań wymagających komunikacji bezprzewodowej.
Najnowszy członek popularnej serii wygląda bardzo podobnie do pozostałych urządzeń. Ma niemalże identyczne wymiary, a na pierwszy rzut oka różni się jedynie obecnością radiatora na procesorze, a także złączem USB-C w miejsce tradycyjnego okrągłego złącza zasilania. Niezwykłość urządzenia tkwi jednak w zastosowanych podzespołach, a przede wszystkim w nowym wydajnym układzie SoC Sitara AM5729 z oferty Texas Instruments.
Szczegóły techniczne BeagleBone AI
Do tej pory w komputerach z serii BeagleBone zazwyczaj stosowano procesor Sitara AM3358 z jednym rdzeniem ARM Cortex-A8 o taktowaniu 1 GHz. Bardziej rozbudowany układ Sitara AM5729 wyposażono w dwa rdzenie Cortex-A15 o taktowaniu 1,5 GHz oraz dwa rdzenie ARM Cortex-M4 do aplikacji sterowania w czasie rzeczywistym. Dodatkowo układ wyposażono w całą gamę koprocesorów, w tym dwa rdzenie TI C66x VLIW do cyfrowego przetwarzania danych zmiennoprzecinkowych, 4 jednostki EVE do przetwarzania sygnałów wizyjnych, dwurdzeniowy procesor graficzny PowerVR SGX544, a także dwurdzeniową jednostkę PRU.
Rysunek 1. Schemat blokowy procesora Sitara AM5729
Do realizacji zadań AI mają służyć głównie koprocesory C66x oraz EVE. Ten pierwszy to jednostka znana z procesorów DSP produkowanych przez Texas Instruments. Zapewniają niezwykle wydajne przetwarzanie danych zmiennoprzecinkowych . Natomiast koprocesory EVE, pierwotnie zaprojektowane do aplikacji wizyjnych w systemach samochodowych, umożliwiają efektywną implementację systemów wizji maszynowej.
Wyposażenie płytki
Oprócz procesora, komputer został wyposażony w interfejs Gigabit Ethernet oraz wyjście microHDMI. Jest w stanie transmitować obraz w rozdzielczości 1080p w 60 fps. Na płytce zamontowano także po jednym złączu USB typu A oraz typu C. To drugie służy zarówno do zasilania komputera, jak i do szybkiego transferu danych. Dodatkowo urządzenie dysponuje komunikacją Wi-Fi w pasmach 2,4 GHz i 5 GHz, a także komunikacją Bluetooth 4.2/BLE. Pojemność pamięci RAM DDRL3 wynosi 1 GB. Na płytce wbudowano również pamięć eMMC o pojemności 16 GB. Ponadto, BeagleBone AI dysponuje też slotem na kartę microSD oraz anteną dołączoną do zestawu.
Rysunek 2. Rozłożenie złącz komputera BeagleBone AI
Nowe urządzenie dysponuje także złączem na płytki rozszerzeń znanym z poprzednich komputerów BeagleBone. Umożliwia to podłączenie do BeagleBone AI rozszerzeń znanych z poprzednich wersji komputera. Na złącze wyprowadzone są rozmaite interfejsy komunikacyjne, m.in. UART, I2C, SPI oraz 16-bitowy interfejs LCD. Co interesujące, na to złącze wyprowadzono również wejścia analogowe o napięciu do 1,8 V, co nie jest popularną praktyką w komputerach jednopłytkowych. Pozwala jednak podłączyć do urządzenia czujniki analogowe.
Rysunek 3. Złącze rozszerzeń BeagleBone
Warto zwrócić uwagę na układ TPS659037 odpowiedzialny za zarządzanie zasilaniem, przeznaczony specjalnie do systemów z Cortexem-A15. Dysponuje on siedmioma konfigurowalnymi przetwornicami step-down o wydajności prądowej do 6 A. Umożliwia to dostarczenie zasilania do pamięci, rdzenia procesora, magistrali wejść/wyjść, a także do oddzielnych stabilizatorów LDO. Układ może synchronizować się z zewnętrznym zegarem o częstotliwości z zakresu od 1,7 MHz do 2,7 MHz, a także korzystać z własnego taktowania o częstotliwości 2,2 MHz.
Oprogramowanie do BeagleBone AI
Fabrycznie do pamięci eMMC wgrany jest system Debian w wersji 9.9. Oznacza to, że komputer można uruchomić natychmiast po wyjęciu z pudełka, bez potrzeby nagrywania karty SD. Na urządzenie dostępne są również inne dystrybucje Linuxa, takie jak Amstong, yocto, a także dystrybucja opracowana przez Texas Instruments dla procesorów Sitara.
Algorytmy sztucznej inteligencji mogą być implementowane w BeagleBone AI dzięki bibliotece TIDL udostępnionej przez Texas Instruments. Jest to zestaw otwartych, zoptymalizowanych narzędzi służących do rozwoju projektów korzystających z głębokiego uczenia maszynowego. Wykorzystuje głównie moc obliczeniową koprocesorów EVE oraz C66x, co pozwala na zastosowanie rdzeni ARM do realizacji innych zadań.
Narzędzia obsługują pełen proces rozwoju sieci – od treningu sieci przez konwersję aż po obsługę interfejsów podczas pracy systemu. Biblioteka TIDL jest fabrycznie zainstalowana w systemie Debian na BeagleBone AI.
Rysunek 4. Schemat rozwoju aplikacji głębokiego uczenia w bibliotece TIDL
Kolejnym ważnym elementem ekosystemu programowego komputera jest otwarte środowisko programistyczne Cloud9. Środowisko jest dostępne na urządzeniu za pośrednictwem przeglądarki, także przez sieć lokalną. Wystarczy w pasek adresu wpisać numer IP BeagleBone’a, aby móc pisać kod aplikacji i uruchamiać ją na urządzeniu.
Rysunek 5. Ekran startowy środowiska Cloud9
Podsumowanie
BeagleBone AI to komputer, który na pewno bardzo wzmocni ofertę tej platformy. Dzięki nowemu wydajnemu układowi SoC z licznymi koprocesorami, komputer oferuje większą moc obliczeniową niż jego poprzednicy. Urządzenie jest specjalnie zorientowane do obsługi algorytmów sztucznej inteligencji, czyli z dziedziny bardzo przyszłościowej i szybko rozwijającej się. Komputery mogą znaleźć zastosowanie w systemach, w których uczenie maszynowe musi być realizowane w sprzęcie, w urządzeniach brzegowych. Pod uwagę można wziąć zwłaszcza systemy automatyki przemysłowej, domowej i komercyjnej. Dzięki dołączonemu oprogramowaniu, wykorzystanie algorytmów sztucznej inteligencji w urządzeniu nie będzie zadaniem trudnym.