Platforma TensorFlow firmy Google pozwala użytkownikom trenować sztuczną inteligencję, zapewniając narzędzia i zasoby do uczenia maszynowego. Przez długi czas inżynierowie sztucznej inteligencji wykorzystywali tradycyjne procesory i karty graficzne do trenowania sztucznej inteligencji. Chociaż te procesory mogą obsługiwać różne procesy uczenia maszynowego, nadal są sprzętem ogólnego przeznaczenia używanym do różnych codziennych zadań.

Aby przyspieszyć szkolenie AI, Google opracował układ scalony do konkretnych zastosowań (ASIC) znany jako jednostka przetwarzania tensora (TPU). Ale czym jest tensor Processing Unit i jak przyspieszają programowanie AI?

Czym są jednostki przetwarzające tensor (TPU)?

Tensor Processing Units należą do Google ASIC do uczenia maszynowego. TPU są specjalnie używane do uczenia głębokiego w celu rozwiązywania złożonych operacji na macierzach i wektorach. Jednostki TPU są usprawnione, aby rozwiązywać operacje na macierzach i wektorach przy bardzo wysokich prędkościach, ale muszą być sparowane z procesorem, aby wydawać i wykonywać instrukcje. Z TPU można używać tylko z Google

instagram viewer
Platforma TensorFlow lub TensorFlow Lite, czy to za pośrednictwem chmury obliczeniowej, czy jej wersji Lite na lokalnym sprzęcie.

Aplikacje dla TPU

Źródło obrazu: Element5 cyfrowy/ Unsplash 

Google używa TPU od 2015 roku. Potwierdzili również użycie tych nowych procesorów do przetwarzania tekstu Google Street View, Zdjęć Google i wyników wyszukiwania Google (Rank Brain), ponieważ a także stworzyć sztuczną inteligencję znaną jako AlphaGo, która pokonała najlepszych graczy Go i system AlphaZero, który wygrał z wiodącymi programami w Chess, Go i Shogi.

TPU może być używany w różnych aplikacjach głębokiego uczenia, takich jak wykrywanie oszustw, wizja komputerowa, język naturalny przetwarzanie, autonomiczne samochody, wokalna sztuczna inteligencja, rolnictwo, wirtualni asystenci, handel akcjami, e-commerce i różne społecznościowe przewidywania.

Kiedy używać TPU

Ponieważ TPU to wysoce wyspecjalizowany sprzęt do głębokiego uczenia, traci wiele innych funkcji, których zwykle można oczekiwać od procesora ogólnego przeznaczenia, takiego jak procesor. Mając to na uwadze, istnieją określone scenariusze, w których korzystanie z TPU przyniesie najlepsze wyniki podczas trenowania sztucznej inteligencji.

Najlepszy czas na użycie TPU to operacje, w których modele w dużym stopniu opierają się na obliczeniach macierzowych, takich jak systemy rekomendacji dla wyszukiwarek. TPU zapewniają również świetne wyniki w modelach, w których sztuczna inteligencja analizuje ogromne ilości punktów danych, których ukończenie zajmie kilka tygodni lub miesięcy. Inżynierowie AI używają TPU w instancjach bez niestandardowych modeli TensorFlow i muszą zacząć od zera.

Kiedy nie używać TPU

Jak wspomniano wcześniej, optymalizacja jednostek TPU powoduje, że te typy procesorów działają tylko przy określonych operacjach obciążenia. Dlatego zdarzają się przypadki, w których wybór tradycyjnego procesora i karty graficznej przyniesie szybsze wyniki. Te przypadki obejmują:

  • Szybkie prototypowanie z maksymalną elastycznością
  • Modele ograniczone dostępnymi punktami danych
  • Modele, które są proste i można je szybko trenować
  • Modele zbyt uciążliwe, by je zmienić
  • Modele oparte na niestandardowych operacjach TensorFlow napisane w C++

Wersje i specyfikacje TPU

Źródło obrazu:Zinskauf/ Wikimedia Commons

Odkąd Google ogłosił swoje TPU, opinia publiczna jest stale informowana o najnowszych wersjach TPU i ich specyfikacjach. Poniżej znajduje się lista wszystkich wersji TPU wraz ze specyfikacjami:

TPUv1 TPUv2 TPUv3 TPUv4 Krawędźv1
Data wprowadzenia 2016 2017 2018 2021 2018
Węzeł procesu (nm) 28 16 16 7
Rozmiar matrycy (mm²) 331 <625 <700 <400
Pamięć na chipie 28 32 32 144
Szybkość zegara (MHz) 700 700 940 1050
Najmniejsza konfiguracja pamięci (GB) 8 DDR3 16 HBM 32 HBM 32 HBM
TDP (Waty) 75 280 450 175 2
TOPS (Operacje Tera na sekundę) 23 45 90 ? 4
TOPY/W 0.3 0.16 0.2 ? 2

Jak widać, szybkości zegara TPU nie wydają się aż tak imponujące, zwłaszcza gdy współczesne komputery stacjonarne mogą mieć szybkości zegara 3-5 razy szybsze. Ale jeśli spojrzysz na dwa dolne rzędy tabeli, zobaczysz, że TPU może przetwarzać 23-90 teraoperacji na sekundę, zużywając tylko 0,16-0,3 wata mocy. Szacuje się, że TPU jest 15–30 razy szybsze niż nowoczesne procesory i GPU przy korzystaniu z interfejsu sieci neuronowej.

W każdej wydanej wersji nowsze TPU wykazują znaczące ulepszenia i możliwości. Oto kilka najważniejszych informacji dla każdej wersji.

  • TPUv1: Pierwszy publicznie ogłoszony TPU. Zaprojektowany jako 8-bitowy silnik mnożenia macierzy i ogranicza się do rozwiązywania tylko liczb całkowitych.
  • TPUv2: Ponieważ inżynierowie zauważyli, że TPUv1 ma ograniczoną przepustowość. Ta wersja ma teraz dwukrotnie większą przepustowość pamięci dzięki 16 GB pamięci RAM. Ta wersja może teraz rozwiązywać zmiennoprzecinkowe, dzięki czemu jest przydatna do treningu i wnioskowania.
  • TPUv3: Wydany w 2018 r. TPUv3 ma dwa razy więcej procesorów i jest wdrażany z czterokrotnie większą liczbą chipów niż TPUv2. Uaktualnienia pozwalają tej wersji na ośmiokrotnie wyższą wydajność w porównaniu z poprzednimi wersjami.
  • TPUv4: to najnowsza wersja TPU ogłoszona 18 maja 2021 r. CEO Google zapowiedział, że ta wersja będzie miała ponad dwukrotnie większą wydajność niż TPU v3.
  • Krawędź TPU: Ta wersja TPU jest przeznaczona do mniejszych operacji zoptymalizowanych pod kątem zużywania mniej energii niż inne wersje TPU w ogólnym działaniu. Chociaż zużywa tylko dwa waty mocy, Edge TPU może rozwiązać do czterech operacji terra na sekundę. Edge TPU można znaleźć tylko na małych urządzeniach przenośnych, takich jak smartfon Google Pixel 4.

Jak uzyskać dostęp do TPU? Kto może ich używać?

TPU to zastrzeżone jednostki przetwarzania zaprojektowane przez Google do użytku z platformą TensorFlow. Dostęp stron trzecich do tych procesorów jest dozwolony od 2018 roku. Obecnie do TPU (z wyjątkiem Edge TPU) można uzyskać dostęp tylko przez Google usługi obliczeniowe przez chmurę. Podczas gdy sprzęt Edge TPU można kupić za pośrednictwem smartfona Google Pixel 4 i jego zestawu prototypowego znanego jako Coral.

Coral to akcelerator USB, który wykorzystuje USB 3.0 typu C do przesyłania danych i zasilania. Zapewnia Twojemu urządzeniu przetwarzanie Edge TPU zdolne do 4 TOPS na każde 2 W mocy. Ten zestaw może działać na komputerach z systemem Windows 10, macOS i Debian Linux (może również współpracować z Raspberry Pi).

Inne wyspecjalizowane akceleratory AI

Ponieważ sztuczna inteligencja jest modna przez ostatnią dekadę, Big Tech nieustannie poszukuje sposobów, aby uczenie maszynowe było tak szybkie i wydajne, jak to tylko możliwe. Chociaż TPU firmy Google jest prawdopodobnie najpopularniejszym ASIC opracowanym dla głębokiego uczenia, inne firmy technologiczne, takie jak Intel, Microsoft, Alibaba i Qualcomm, również opracowały własne akceleratory AI. Należą do nich Microsoft Brainwave, Intel Neural Compute Stick oraz IPU (Intelligence Processing Unit) firmy Graphicore.

Ale podczas gdy coraz więcej sprzętu AI jest opracowywanych, niestety większość z nich nie jest jeszcze dostępna na rynku, a wielu nigdy nie będzie. W chwili pisania, jeśli naprawdę chcesz kupić sprzęt akceleratora AI, najpopularniejsze opcje to zakup zestawu prototypowego Coral, Intel NCS, Graphicore Bow Pod lub Asus IoT AI Accelerator. Jeśli potrzebujesz tylko dostępu do specjalistycznego sprzętu AI, możesz skorzystać z usług przetwarzania w chmurze Google lub innych alternatyw, takich jak Microsoft Brainwave.