Dostosowywanie sztucznej inteligencji do Twojej aplikacji

Utworzono: kwiecień 8, 2020
Zaktualizowano: kwiecień 9, 2020
Dostosowywanie sztucznej inteligencji do Twojej aplikacji

Technologia AI szybko zmienia sposób, w jaki urządzenia wchodzą w interakcję ze światem. Tradycyjnie programista musi z góry określić, jak system będzie reagował na różne i nieprzewidywalne okoliczności, które mogą pojawić się w rzeczywistych scenariuszach. Dzięki AI, można wytrenować model, który uchwyci pożądane reakcje w taki sposób, że model ten może niezawodnie dostarczać pożądane reakcje na okoliczności, których nigdy nie przewidziano.

Jednym z wyzwań dla deweloperów nowych w dziedzinie AI jest dostosowanie implementacji AI do swojej aplikacji. Chyba że konkretna aplikacja ma wystarczająco dużą objętość, aby uzasadnić własną implementację płyty, gotowe płyty AI zazwyczaj koncentrują się na ogólnej skuteczności. Będą miały zasoby i interfejsy, które nie są wymagane dla każdej aplikacji, co niepotrzebnie zwiększa koszty.

Na przykład zestawy deweloperskie takie jak Jetson Nano Developer Kit są świetnym sposobem na zapoznanie się z tworzeniem podstawowej implementacji AI. Jetson Nano jest wyposażony w różnorodne interfejsy, co ułatwia szybkie uruchomienie systemu testowego w bardzo krótkim czasie. Zestaw ten stanowi doskonały punkt wyjścia dla szerokiej gamy różnorodnych aplikacji, od przetwarzania sygnałów sensorowych po analizę wideo, przetwarzanie dźwięku i nie tylko.

Jednak gdy już zrozumiesz, jak zbudować ogólny system AI, będziesz chciał rozpocząć rozwój swojej aplikacji, używając prototypu, który będzie jak najbardziej przypominał ostateczny sprzęt produkcyjny. Jest to szczególnie ważne, gdy przenosisz AI na obrzeża.
Koszt, dostępność i skalowalność GPU w chmurze są niezwykle elastyczne. Jeśli nie uzyskujesz potrzebnej responsywności lub odkryjesz, że twój model potrzebuje więcej danych niż początkowo przypuszczano, aby efektywnie przetwarzać, możesz łatwo przydzielić więcej zasobów chmury.

Nie jest to jednak takie proste na obrzeżach. Na obrzeżach musisz określić optymalne połączenie zasobów, jeśli chcesz zrównoważyć koszty, wydajność i dokładność. Idealnie, potrzebujesz systemu, który łatwo skaluje się w dół bez konieczności przeprowadzania rozległych zmian sprzętowych.

Zauważ, że komponenty takie jak czujniki, kamery, interfejsy, pamięć i MCU, które tworzą resztę aplikacji, również wpływają na łatwość projektowania. Dzieje się tak, ponieważ w pewnym momencie musisz zintegrować swój system AI z resztą aplikacji.
Rozważ konieczność wprowadzenia kaskadowych zmian, jeśli odkryjesz, że musisz zwiększyć rozmiar obrazu wideo, aby osiągnąć pożądany efekt. Model AI teraz musi pracować z obrazem o innym rozmiarze, co całkowicie zmienia wydajność i wymagania dotyczące pamięci całego systemu. Ponadto, będziesz musiał zintegrować nową kamerę z istniejącym oprogramowaniem sprzętowym, mając nadzieję uniknąć potrzeby przepisywania firmware. Zbalansowanie, a następnie optymalizacja tej nowej kombinacji zasobów również zajmie czas. Wyobraź sobie teraz, że musisz dodać drugą kamerę i zwiększyć efektywną szybkość klatek.

Integracja na tym etapie może być niezwykle czasochłonna i frustrująca, jeśli musisz wykonać ją ręcznie. Na przykład, sterowniki kamer, nawet od tego samego dostawcy, często nie są wymienne; nadal będziesz musiał przeprowadzić obszerne testy, aby potwierdzić, że nowy sterownik działa dokładnie tak, jak poprzedni.

Podejście do projektowania oparte na niestandardowej platformie, takie jak Geppetto, może znacznie skrócić czas rozwoju. Dzięki Geppetto możesz przeciągać i upuszczać sprawdzone bloki funkcjonalności do swojej niestandardowej płyty. W przypadku aplikacji AI możesz zacząć od Jetson Nano i usunąć wszelkie funkcje, których nie potrzebujesz. Następnie możesz dodać czujniki, interfejsy, procesory i inne układy z obszernych bibliotek modułów, aby zbudować niestandardowy moduł zoptymalizowany pod kątem Twojej aplikacji.

Kluczową zaletą tego podejścia jest możliwość ekonomicznego wykonania kilku płyt do wstępnego rozwijania i testowania. Jeśli stwierdzisz, że potrzebujesz więcej mocy przetwarzania – lub mniej – możesz łatwo dostosować swój projekt, nie mając potrzeby projektowania całkowicie nowego systemu.

Ponadto, twoja niestandardowa płyta jest dostarczana z zintegrowanym systemem operacyjnym i sterownikami. Nie musisz dopasowywać wszystkich komponentów do pracy razem, ponieważ my już to dla Ciebie zrobiliśmy.

Technologia AI jest naprawdę tylko kilka kliknięć stąd. Odwiedź Gumstix, aby dowiedzieć się więcej.

Powiązane zasoby

Powrót do strony głównej
Thank you, you are now subscribed to updates.