r   e   k   l   a   m   a
r   e   k   l   a   m   a

TPU, czip Google do maszynowego uczenia, w wydajności deklasuje GPU

Strona główna AktualnościSPRZĘT

NVIDIA ma poważne kłopoty. W ostatnich kwartałach ogromny wzrost wartości firmy na giełdzie napędzała wcale nie niekwestionowana dominacja „zielonych” w dziedzinie gier, lecz ich rosnące znaczenie w dziedzinie sztucznej inteligencji i maszynowego przetwarzania obrazu. Nowe superszybkie mikroarchitektury GPU, w połączeniu z własnościowym i zarazem standardowym już dla branży frameworkiem CUDA sprawiły, że na tym polu firma nie miała konkurentów. A tu nagle pojawia się Google, przedstawiając swój własny czip do maszynowego uczenia się, który deklasuje w tych zastosowaniach najlepsze układy graficzne, przynosząc kilkunastokrotnie większą wydajność przy kilkudziesięciokrotnie mniejszym zużyciu energii.

Problem stał się widoczny jakieś cztery lata temu, gdy rozpoczęły się prace nad usługą rozpoznawania mowy w chmurze. Google zdało sobie sprawę, że gdyby wszyscy jego użytkownicy zechcieli skorzystać z tego systemu przez trzy minuty dziennie, to musiałoby podwoić liczbę wykorzystywanych centrów danych, tylko po to, by obsłużyć obciążenie wykorzystywanych w nich systemów maszynowego uczenia się, w większości bazujących na akceleratorach GPU. Zamiast jednak brać się do budowy nowych centrów danych, Google postanowiło spróbować sił w zaprojektowaniu czipu, którego architektura od podstaw będzie zoptymalizowana pod kątem maszynowego uczenia.

Ostatecznie więc zdecydowano się na zbudowanie autorskiego układu ASIC, który pomoże wypełnić gwałtownie rosnące potrzeby w zakresie wykorzystania głębokich sieci neuronowych. Miał on zajmować się inferencją, czyli uruchamianiem już wytrenowanych na GPU sieci neuronowych, i ostatecznie otrzymał nazwę Tensor Processing Unit (TPU), jako że skrojono go pod kątem równolegle rozwijanego oprogramowania – biblioteki TensorFlow, przeznaczonej do obliczeń numerycznych z wykorzystaniem grafów skierowanych.

r   e   k   l   a   m   a

O konstrukcji TPU możemy się dziś dowiedzieć więcej z artykułu In-Datacenter Performance Analysis of a Tensor Processing Unit, który właśnie został zgłoszony przez liczny zespół inżynierów Google’a na tegoroczne 44. międzynarodowe sympozjum architektury komputerowej (ISCA). Pokrótce mówiąc, w TPU mamy macierz 65536 8-bitowych jednostek wykonywania operacji MAC (mnożenie-akumulacja), które podłączone są do dużej (28 MiB), software’owo zarządzanej pamięci. Niczego specjalnego tam więcej nie ma, a choć cały układ to specjalizowany ASIC o ograniczonej liczbie wykonywanych instrukcji, Google twierdzi, że zachowało to pewną elastyczność układów FPGA, tak by można było dostosować TPU do różnych sieci neuronowych i różnych typów algorytmów maszynowego uczenia się.

Dość interesujące jest to, jak TPU komunikuje się z komputerem. Nie było czasu na integrację z procesorem, Google poszło po linii najmniejszego oporu. Czip wpinany jest po prostu w magistralę PCIe, w sumie tak samo, jak współczesne zewnętrzne karty graficzne. Jednak w przeciwieństwie do GPU samo nie pobiera instrukcji – to procesor musi wysłać mu rozkazy, co czyni go bardziej odpowiednikiem jednostki zmiennoprzecinkowej (FPU) niż procesora graficznego.

Najbardziej oczywiście interesujące są możliwości takiego układu. A te są oszałamiające, w praktyce czyniąc wykorzystanie CPU i GPU w uruchamianiu sieci neuronowych bezsensownymi. Google przedstawia dwie metryki, wydajność całkowitą na wat (uwzględniającą połączoną moc obliczeniową CPU i GPU lub TPU) oraz oraz wydajność przyrostową na wat (uwzględniającą jedynie moc dostarczoną przez GPU lub TPU). Wszystko to w odniesieniu do procesorów serwerowych Intela z rdzeniami Haswell oraz akceleratorów graficznych Tesla K80 Nvidii. I tak oto:

  • System z haswellowym CPU i akceleratorem Tesla K80, w stosunku do systemu z samym CPU oferuje całkowitą wydajność na wat od 1,2 od 2,1 razy większą. Wydajność przyrostowa Tesli K80 jest 1,7-2,9 razy większa względem CPU z rdzeniami Haswella.
  • Tymczasem system z haswellowym CPU i TPU w stosunku do systemu z samym CPU oferuje całkowitą wydajność na wat od 17 do 34 razy większą. Wydajność przyrostowa TPU jest zaś 41-83 razy większa względem CPU i 25-29 razy większa od Tesli K80.

Warto podkreślić, że to dopiero pierwsza generacja TPU, zbudowana w litografii 28 nm, wykorzystywana w praktyce w centrach danych Google’a od 2015 roku. Niebawem pojawi się druga generacja, wykorzystująca proces 14 nm, co powinno nawet dwukrotnie zwiększyć jej wydajność na wat.

Do tego dojdą ulepszenia logiki, mające przyspieszyć TPU o nawet 50% oraz lepsza infrastruktura serwerowa. Można zastanowić się nad szybszymi magistralami i szybszą pamięcią, które pozwolą nawet trzykrotnie zwiększyć wydajność tych jednostek tensorowych.

Na razie nie wiadomo w tej kwestii powie Nvidia. Rozwiązania Google’a nie są na sprzedaż, przynajmniej nie bezpośrednio – Google chce, byśmy korzystali z nich przez upublicznione interfejsy. Czy ktoś rzuci rękawicę firmie z Mountain View, oferując konkurencyjne architektury TPU, dostępne dla wszystkich na wolnym rynku? Jeśli nie, to w najbliższych latach Google osiągnie niemożliwą do wyrównania przewagę nad resztą świata w dziedzinie sztucznych inteligencji i maszynowego uczenia się. Pozostaje tylko czekać, aż mityczny Googlebot zastąpi cały zarząd korporacji, co by nie mówić potwornie ograniczony swoimi białkowymi mózgami.

© dobreprogramy
r   e   k   l   a   m   a
r   e   k   l   a   m   a

Komentarze

r   e   k   l   a   m   a
r   e   k   l   a   m   a
Czy wiesz, że używamy cookies (ciasteczek)? Dowiedz się więcej o celu ich używania i zmianach ustawień.
Korzystając ze strony i asystenta pobierania wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.   

Gratulacje!

znalezione maszynki:

Twój czas:

Ogól Naczelnego!
Znalazłeś(aś) 10 maszynek Wilkinson Sword
oraz ogoliłeś(aś) naszego naczelnego!
Przejdź do rankingu
Podpowiedź: Przyciśnij lewy przycisk myszki i poruszaj nią, aby ogolić brodę.