reklama
reklama
reklama
reklama
© eskymaks dreamstime.com
Analizy |

Szczegóły architektury TPU od Google

Wcześniej niż się spodziewano Google ujawniło szczegóły na temat opracowanej architektury TPU (Tensor Processing Unit) dla uruchamiania sztucznych sieci neuronowych (NN).

Przeprowadzone w ostatnim czasie badania porównawcze pomiędzy TPU a układami GPU Nvidii K80 i CPU Haswella E5-2699 v3, wykazały od 15X do 30X lepszą szybkość wnioskowania od konkurencji. TPU osiąga również znacznie większą wydajność energetyczną, uzyskując od 30X do 80X lepsze pomiary mocy obliczeniowej TOPS/Watt (Tera-FLOPS/Watt). Co więcej, wykorzystując pamięć GDDR5 można potroić TOPS i zwiększyć TOPS/Watt do 70X dla GPU i 200X dla CPU. W ten sposób nowa architektura staje się niekwestionowanym liderem w uruchamianiu sztucznych sieci neuronowych. Motywacja do powstania autorskiego układu ASIC (Application Specific Integrated Circuit) pochodziła z przewidywań dotyczących wymaganych obliczeń do obsługi systemu tłumaczenia mowy w chmurze Cloud Translation API. Biorąc pod uwagę, że użytkownik telefonu skorzysta z tej usługi tylko przez trzy minuty dziennie, to należałoby zapewnić do obsługi takiej ilości informacji dziesiątki dodatkowych centrów danych. Google postanowiło pójść inną drogą i stworzyć układ, który pozwoli na optymalizację uczenia maszynowego. Tak powstało TPU pierwszej generacji, które od 2015 roku jest wykorzystywane w centrach danych Google. Działanie TPU polega na prymitywnym mnożeniu matryc. Dzięki wykorzystaniu jednostki mnożącej, pamięci i systemu buforowania, możliwe jest przetwarzanie wiele warstw sieci neuronowych. Obejmuje to zachowanie stanu wyjścia perceptronu pomiędzy warstwami, który jest wykorzystywany w dużym stopniu przez MLP (Multilayer Perceptron) i splotowe sieci nuronowe CNN (Convolutional Neural Network). TPU pierwszej generacji nie jest wykorzystywane do szkolenia sieci neuronowych. Sercem TPU jest jednostka Matrix Multiply Unit. Zawiera 256x256 operacji MAC, które mogą wykonać 8-bitowe mnożenie z sumowaniem na liczbach całkowitych i ułamkowych. TPU jest programowalny jak CPU i GPU oraz uniwersalny, co oznacza, że nie jest przeznaczony tylko do realizacji jednego typu sieci neuronowych. Oferuje szczytową przepustowość rzędu 92 TOPS z wewnętrzną pamięcią 28MiB (MebiBajtów). TPU wykorzystuje opracowane biblioteki sztucznej inteligencji TensorFlow. Całą architekturę opisano dokładnie w ujawnionym raporcie: In-Datacenter Performance Analysis of a Tensor Processing Unit, który opracowywało ponad 70 inżynierów. Dokument przygotowano na 44 Międzynarodowe Sympozjum dotyczące Architektury Komputerowej (ISCA), które odbędzie się 26 czerwca 2017 roku w Toronto (Kanada). © Google Rysunek 1. Plan układu TPU z procentową ilością miejsca zajmowaną przez poszczególne obszary Ciekawe jest to, że pomimo niewielkich wymiarów chipu TPU oraz redukcji o rząd wielkości zapotrzebowania na energię, to wykonuje on 25 razy więcej (65,536 8-bitowych vs 2,496 32-bitowych) operacji MAC (multiplier–accumulator) i posiada 3,5-razy więcej pamięci (28MiB) niż GPU Nvidii K80 (8MiB). Te niezwykłe cechy konstrukcji mogą w najbliższej przyszłości doprowadzić do tego, że architektura TPU stanie się wzorcem do budowy innych układów. Obecnie trwają prace nad TPU drugiej generacji, które będą przeznaczone dla usługi Google Cloud i pozwolą na wykorzystanie uczenia maszynowego w szerszym zakresie. Tym razem TPU będzie wykorzystywane zarówno w szkoleniu sieci neuronowych jak i wnioskowaniu. © Google Zdjęcie 2. Płytka z TPU2 Zespoły badawcze i inżynierowie w Google wykorzystując jedynie łatwo dostępny sprzęt dokonały wielkiego postępu tworząc TPU pierwszej generacji. Jednak to nie wystarczy, aby zaspokoić rosnące potrzeby. W celu wyeliminowania wąskich gardeł i maksymalizacji ogólnej wydajności Google zaprojektowało zupełnie nowy system uczenia maszynowego. W sercu tego systemu jest TPU drugiej generacji, dzięki czemu możliwe stało się uruchomienie obu modeli uczenia maszynowego: szkolenia i wnioskowania. Każde z nowych urządzeń dostarcza wydajności rzędu 180 TOPS. Zaprojektowano je tak żeby mogły działać razem w sieci. W ten sposób mogą tworzyć tzw. superkomputery do maszynowego uczenia, nazwane przez Google – „TPU pods”. System TPU pods zawiera 64 TPU drugiej generacji co gwarantuje wydajność 11,5 PFLOPS (Peta-Flops)! W ostatnich latach jesteśmy świadkami ogromnego postępu w uczeniu maszynowym. Firma Google tworząc kolejną generację TPU chce uzyskać dużą przewagę nad konkurencją. Celem jest zbudowanie najlepszego możliwego systemu uczenia maszynowego, od góry do dołu. Z dużą niecierpliwością czekamy na więcej.

reklama
Załaduj więcej newsów
March 15 2024 14:25 V22.4.5-2