W ciągu ostatnich dwóch lat sztuczna inteligencja zmieniła się z akademickiego cudu i ciekawostki w globalny megatrend w wielu dziedzinach technologii. Uczenie maszynowe w jakiejś formie ma zrewolucjonizować prawie wszystko - sektory elektroniki konsumenckiej, motoryzacyjnen, automatykę przemysłową... a ponadto systemy AI mają wpłynąć na społeczeństwo i nasze życie w sposób - w jaki sposób? tego jeszcze nie wiemy.
Dla branży oznacza to, że praktycznie każdy dostawca procesorów zidentyfikował uczenie maszynowe jako gęś, która złoży złote jaja. Obecnie trwa wyścig, który ma na celu ustalić jakie podejście jest właściwe do rozwiązanie zagadnienia przyspieszenia określonych obciążeń w obszarze o największym potencjale: uczenie maszynowe poza centrum danych czyli sztuczna inteligencja na krawędzi.
Sztuczna inteligencja na krawędzi jest bardzo obiecującym trendem, ponieważ można ją zastosować w praktycznie każdym urządzeniu elektronicznym, od pojazdów autonomicznych, które widzą pieszych na drodze, po ekspresy do kawy reagujące na polecenia głosowe. Aplikacje wymagające dowolnej kombinacji niskiego opóźnienia, prywatności danych, niskiej pobieranej mocy i niskich kosztów ostatecznie zostaną przeniesione do wnioskowania AI na krawędzi (zwróćcie uwagę, że „Edge AI” jest jedynym punktem na wykresie Gartnera (po lewej stronie), który jest bliżej niż za pięć lat od nas).
Obciążenia dla wnioskowania AI są specyficzne: Wymagają masowego, równoległego przetwarzania ogromnych ilości danych o dosyć niskiej precyzji, a dostęp do pamięci staje się tutaj wąskim gardłem. Większość, jeśli nie wszystkie, typy procesorów próbują nagiąć się, aby spełnić właśnie takie wymagania.
Obecną wiodącą technologią jest procesor graficzny - obecnie jest to segment jednego przedsiębiorstwa. Szczęśliwie, architektura GPU z jedną instrukcją i wieloma danymi (SIMD), opracowana w celu przyspieszenia grafiki komputerowej, okazała się bardzo dobrym rozwiązaniem dla obciążeń uczenia maszynowego. Nvidia leci na tej fali na tyle, na ile to możliwe, opracowując superkomputery AI dla centrów danych i systemów autonomicznej jazdy, a także zmniejszone wersje dla urządzeń brzegowych. Nie może to jednak trwać w nieskończoność.
Inne firmy także chcą kawałek tego rynku. Dostawcy układów programowalnych (FPGA), od dawna wykorzystywanych do przyspieszania algorytmów matematycznych, udoskonalają swoją ofertę, aby dopasować ją do zaawansowanego przetwarzania w systemach uczenia maszynowego. Xilinx przyjmuje koncepcję architektury specyficznej dla domeny i działa z nią, łącząc programowalną logikę z innymi typami układów do obliczeń, aby umożliwić dostosowanie przepływów danych w tych systemach do nowych typów obciążeń. Tymczasem Lattice ukierunkowuje się na przetwarzanie obrazu w urządzeniach o niskiej mocy.
Istnieją również dziesiątki startupów, które przedstawiają swoje nowatorskie architektury jako kolejną wielką rzecz. Obejmują one techniki od procesora (Mythic, Syntiant, Gyrfalcon) po procesory blisko związane z pamięciami (Hailo); od logiki programowalnej (Flex Logix) do rdzeni RISC-V (Esperanto, GreenWaves); i od bardzo małego (Eta Compute) do hiperskali (Cerebras, Graphcore). Większość tych pomysłów dotyczy systemów sztucznej inteligencji na krawędzi. Czy jest wystarczająco dużo nisz, aby pomieścić ich wszystkich, gdy walczą z takimi gigantami jak Nvidia i Intel? Tylko czas to zweryfikuje.
Istnieje również szereg startupów, które podchodzą do problemu z innej strony: dostosowują algorytmy AI do wydajniejszego działania na tradycyjnym sprzęcie, takim jak mikrokontrolery. Firmy takie jak PicoVoice i Xnor znajdują nowe sposoby wykorzystania zestawów instrukcji istniejących już urządzeń do przeprowadzania np. mnożenia macierzy – elementu bardzo wielu algorytmów uczenia maszynowego. W połączeniu z pracą Google nad TensorFlow Lite - kompilatorem, który zmniejsza modele uczenia maszynowego do punktu, w którym można je zmieścić do zwykłego mikrokontrolera - bez wątpienia otworzy to drogę do nowej klasy urządzeń takich jak aktywowane głosem systemy sterowania, które nie muszą być podłączone do systemu w chmurze, aby przeprowadzać wnioskowanie.
Deweloperzy, w obliczu nowatorskich akceleratorów AI, będą musieli nauczyć się je obsługiwać. Oprogramowanie to ogromny kawałek tej układanki. Tutaj widać ogromną przewagę klasycznego podejścia z tradycyjnym CPU lub mikrokontrolerem.
Chociaż zbudowanie społeczności programistów wokół nowej platformy nie jest niemożliwe, nie jest to łatwe. Nvidii zajęło to dekadę, aby stworzyć i spopularyzować platformę oprogramowania GPU – CUDA. Dzisiaj nikt nie wyobraża sobie systemów AI bez tej technologii. Każdy obecny w tej przestrzeni będzie musiał stworzyć własne biblioteki i zestawy narzędzi, a także pracować nad edukacją programistów poprzez konferencje i fora, takie jak Nasze. Tak ogromne zadanie może przerosnąć ograniczone zasoby start-upu.
Elastyczność jest kolejnym ważnym składnikiem przepisu na sukces. Podczas gdy dzisiejsze modele przetwarzania obrazu opierają się na splotowych sieciach neuronowych (CNN), różne inne typy sieci neuronowych nadają się do zastosowań, takich jak rozpoznawanie mowy Społeczność akademicka cały czas opracowuje nowe koncepcje sieci neuronowych. Zaawansowane sieci mogą wymagać bardziej złożonych schematów przepływu danych niż stosuje się obecnie. Istnieje niebezpieczeństwo, że sprzęt opracowany w celu przyspieszenia dzisiejszych sieci CNN będzie zbyt specjalistyczny, aby przyspieszyć przyszłe platformy sieciowe. Charakter obciążeń związanych z uczeniem maszynowym należy zatem uznać za ruchomy cel – nie można skupiać się na jednym rodzaju zadań i należy zachować równowagą elastyczności i wydajności. Dzięki temu systemy te będą gotowe na przyszłość.
Bitwa o tę przestrzeń dopiero się zaczyna. Zwycięzcami będą firmy, które wybiorą właściwą dla siebie niszę i pójdą za ciosem, zainwestują nie tylko w rozwój sprzętu, ale także w stworzenie odpowiedniego oprogramowania i edukację branżę. Jednocześnie firmy te muszą utrzymać element elastyczności w tym szybko rozwijającym się sektorze. I to wszystko oczywiście we właściwej – niskiej – cenie.
Źródło: https://www.eetimes.eu/the-battle-for-ai-at-the-edge-is-just-beginning/
Dla branży oznacza to, że praktycznie każdy dostawca procesorów zidentyfikował uczenie maszynowe jako gęś, która złoży złote jaja. Obecnie trwa wyścig, który ma na celu ustalić jakie podejście jest właściwe do rozwiązanie zagadnienia przyspieszenia określonych obciążeń w obszarze o największym potencjale: uczenie maszynowe poza centrum danych czyli sztuczna inteligencja na krawędzi.
Sztuczna inteligencja na krawędzi jest bardzo obiecującym trendem, ponieważ można ją zastosować w praktycznie każdym urządzeniu elektronicznym, od pojazdów autonomicznych, które widzą pieszych na drodze, po ekspresy do kawy reagujące na polecenia głosowe. Aplikacje wymagające dowolnej kombinacji niskiego opóźnienia, prywatności danych, niskiej pobieranej mocy i niskich kosztów ostatecznie zostaną przeniesione do wnioskowania AI na krawędzi (zwróćcie uwagę, że „Edge AI” jest jedynym punktem na wykresie Gartnera (po lewej stronie), który jest bliżej niż za pięć lat od nas).
Obciążenia dla wnioskowania AI są specyficzne: Wymagają masowego, równoległego przetwarzania ogromnych ilości danych o dosyć niskiej precyzji, a dostęp do pamięci staje się tutaj wąskim gardłem. Większość, jeśli nie wszystkie, typy procesorów próbują nagiąć się, aby spełnić właśnie takie wymagania.
Obecną wiodącą technologią jest procesor graficzny - obecnie jest to segment jednego przedsiębiorstwa. Szczęśliwie, architektura GPU z jedną instrukcją i wieloma danymi (SIMD), opracowana w celu przyspieszenia grafiki komputerowej, okazała się bardzo dobrym rozwiązaniem dla obciążeń uczenia maszynowego. Nvidia leci na tej fali na tyle, na ile to możliwe, opracowując superkomputery AI dla centrów danych i systemów autonomicznej jazdy, a także zmniejszone wersje dla urządzeń brzegowych. Nie może to jednak trwać w nieskończoność.
Inne firmy także chcą kawałek tego rynku. Dostawcy układów programowalnych (FPGA), od dawna wykorzystywanych do przyspieszania algorytmów matematycznych, udoskonalają swoją ofertę, aby dopasować ją do zaawansowanego przetwarzania w systemach uczenia maszynowego. Xilinx przyjmuje koncepcję architektury specyficznej dla domeny i działa z nią, łącząc programowalną logikę z innymi typami układów do obliczeń, aby umożliwić dostosowanie przepływów danych w tych systemach do nowych typów obciążeń. Tymczasem Lattice ukierunkowuje się na przetwarzanie obrazu w urządzeniach o niskiej mocy.
Istnieją również dziesiątki startupów, które przedstawiają swoje nowatorskie architektury jako kolejną wielką rzecz. Obejmują one techniki od procesora (Mythic, Syntiant, Gyrfalcon) po procesory blisko związane z pamięciami (Hailo); od logiki programowalnej (Flex Logix) do rdzeni RISC-V (Esperanto, GreenWaves); i od bardzo małego (Eta Compute) do hiperskali (Cerebras, Graphcore). Większość tych pomysłów dotyczy systemów sztucznej inteligencji na krawędzi. Czy jest wystarczająco dużo nisz, aby pomieścić ich wszystkich, gdy walczą z takimi gigantami jak Nvidia i Intel? Tylko czas to zweryfikuje.
Istnieje również szereg startupów, które podchodzą do problemu z innej strony: dostosowują algorytmy AI do wydajniejszego działania na tradycyjnym sprzęcie, takim jak mikrokontrolery. Firmy takie jak PicoVoice i Xnor znajdują nowe sposoby wykorzystania zestawów instrukcji istniejących już urządzeń do przeprowadzania np. mnożenia macierzy – elementu bardzo wielu algorytmów uczenia maszynowego. W połączeniu z pracą Google nad TensorFlow Lite - kompilatorem, który zmniejsza modele uczenia maszynowego do punktu, w którym można je zmieścić do zwykłego mikrokontrolera - bez wątpienia otworzy to drogę do nowej klasy urządzeń takich jak aktywowane głosem systemy sterowania, które nie muszą być podłączone do systemu w chmurze, aby przeprowadzać wnioskowanie.
Deweloperzy, w obliczu nowatorskich akceleratorów AI, będą musieli nauczyć się je obsługiwać. Oprogramowanie to ogromny kawałek tej układanki. Tutaj widać ogromną przewagę klasycznego podejścia z tradycyjnym CPU lub mikrokontrolerem.
Chociaż zbudowanie społeczności programistów wokół nowej platformy nie jest niemożliwe, nie jest to łatwe. Nvidii zajęło to dekadę, aby stworzyć i spopularyzować platformę oprogramowania GPU – CUDA. Dzisiaj nikt nie wyobraża sobie systemów AI bez tej technologii. Każdy obecny w tej przestrzeni będzie musiał stworzyć własne biblioteki i zestawy narzędzi, a także pracować nad edukacją programistów poprzez konferencje i fora, takie jak Nasze. Tak ogromne zadanie może przerosnąć ograniczone zasoby start-upu.
Elastyczność jest kolejnym ważnym składnikiem przepisu na sukces. Podczas gdy dzisiejsze modele przetwarzania obrazu opierają się na splotowych sieciach neuronowych (CNN), różne inne typy sieci neuronowych nadają się do zastosowań, takich jak rozpoznawanie mowy Społeczność akademicka cały czas opracowuje nowe koncepcje sieci neuronowych. Zaawansowane sieci mogą wymagać bardziej złożonych schematów przepływu danych niż stosuje się obecnie. Istnieje niebezpieczeństwo, że sprzęt opracowany w celu przyspieszenia dzisiejszych sieci CNN będzie zbyt specjalistyczny, aby przyspieszyć przyszłe platformy sieciowe. Charakter obciążeń związanych z uczeniem maszynowym należy zatem uznać za ruchomy cel – nie można skupiać się na jednym rodzaju zadań i należy zachować równowagą elastyczności i wydajności. Dzięki temu systemy te będą gotowe na przyszłość.
Bitwa o tę przestrzeń dopiero się zaczyna. Zwycięzcami będą firmy, które wybiorą właściwą dla siebie niszę i pójdą za ciosem, zainwestują nie tylko w rozwój sprzętu, ale także w stworzenie odpowiedniego oprogramowania i edukację branżę. Jednocześnie firmy te muszą utrzymać element elastyczności w tym szybko rozwijającym się sektorze. I to wszystko oczywiście we właściwej – niskiej – cenie.
Źródło: https://www.eetimes.eu/the-battle-for-ai-at-the-edge-is-just-beginning/
Fajne? Ranking DIY
