AI w czasie rzeczywistym. Microsoft uruchamia Project Brainwave

AI w czasie rzeczywistym. Microsoft uruchamia Project Brainwave

Autor: Krzysztof Sulikowski

Opublikowano: 8/23/2017, 2:17 AM

Liczba odsłon: 3075

Dziś w na sympozjum Hot Chips 2017 zespół z Microsoft zaprezentował nową deep learningową platformę akceleracyjną o nazwie Project Brainwave. Ma ona być znacznym krokiem naprzód, zarówno jeśli chodzi o wydajność, jak i elastyczność w obsłudze modeli opartych na chmurze. System został zaprojektowany do obsługi AI w czasie rzeczywistym, co ma oznaczać, że obiera i przetwarza on żądania niesamowicie szybko, z wyjątkowo niską latencją. Praktycznie jedynym ograniczeniem szybkości w nawet najbardziej złożonych modelach jest przepustowość łącza użytkownika.

Project Brainwave

Sztuczna inteligencja obsługiwana w czasie rzeczywistym staje się coraz ważniejsza, ponieważ w czasie rzeczywistym funkcjonuje sama infrastruktura chmury, która przetwarza strumienie danych, wliczając w to zapytania, filmy, strumienie pochodzące z czujników czy interakcje z użytkownikami. Rośnie też potrzeba posiadania infrastruktury, która zdolna jest przetwarzać ogromne pakiety danych (np. telemetrii z samochodów autonomicznych), tworzyć prognozy i podejmować decyzje, w których liczy się każdy ułamek sekundy.

Project Brainwave składa się z trzech zasadniczych warstw:

  1. Wysoko wydajnej, rozproszonej architektury systemu;
  2. Sprzętowego silnika DNN utworzonego na bazie FPGA;
  3. Kompilatora i środowiska uruchomieniowego dla płynnego wdrażania modeli treningowych.

Project Brainwave korzysta z ogromnej infrastruktury FPGA, którą Microsoft budował przez ostatnich kilku lat. Dzięki włączeniu wydajnych układów FPGA do sieci centrów danych, możliwa stała się obsługa DNN jako sprzętowych mikroserwisów. Taka architektura znacząco redukuje opóźnienia, bowiem zwalnia procesor z konieczności przetwarzania żądań przychodzących. Ponadto system cechuje bardzo dużą przepustowość - żądania przetwarzania FPGA są praktycznie tak szybkie, jak szybko zdolna jest je przesyłać sieć. Project Brainwave używa potężnej, "miękkiej" jednostki obliczeniowej DNN (lub DPU), zsyntetyzowanej na dostępnych na rynku układach FPGA. Wiele firm buduje tzw. utwardzone DPU. Chociaż niektóre z tych układów mają wysoką wydajność, muszą one mieć ustalone typy danych i operatorów już w czasie projektowania, co ogranicza ich elastyczność. Project Brainwave charakteryzuje inne podejście. Jego design zakłada użycie całego spektrum typów danych, które mogą być później wybierane. Ostatnią ważną składową projektu jest warstwa oprogramowania, zaprojektowana z myślą o wykorzystaniu przez popularne frameworki deep learningowe. Na chwilę obecną wsparcie posiada Microsoft Cognitive Toolkit i Google Tensorflow. Microsoft ogłosił ponadto, że zdefiniował opartą na technologii graph reprezentację pośredniczącą, do której przekonwertuje modele trenowane w popularnych frameworkach, a następnie skompiluje je w wysoko wydajnej infrastrukturze.

Project Brainwave

Na sympozjum Hot Chips 2017 implementację Project Brainwave zaprezentowano na nowym Stratix 10 FPGA w architekturze 14 nm. System działał z wydajnością 39,5 teraflopów, wykonując ponad 130 tysięcy operacji obliczeniowych na cykl. Każde żądanie przetwarzane jest w mniej niż 1 milisekundę. "Uruchamiając się na Stratix 10, Project Brainwave osiąga bezprecedensowy poziom wydajności w ekstremalnie wymagających modelach AI w czasie rzeczywistym. Gdy dostroimy system w ciągu najbliższych kwartałów, spodziewamy się jeszcze lepszych wyników" - pisze Doug Burger, starszy inżynier z Microsoft.

Już wkrótce z potężnych systemów AI w czasie rzeczywistym będą mogli korzystać użytkownicy Microsoft Azure bezpośrednio poprzez Project Brainwave, a pośrednio - za pomocą innych usług Microsoftu, takich jak Bing. Firma zapowiedziała, że niebawem podzieli się kolejnymi szczegółami dotyczącymi uruchamiania najbardziej złożonych modeli deep learningowych przy zachowaniu rekordowej wydajności. W ten sposób Azure stanie się niekwestionowanym liderem, jeśli chodzi o obsługę AI w czasie rzeczywistym. Cóż, teraz trzeba tylko zadbać o odpowiednio szybkie łącza!