Istnieją jednostki centralne (CPU), jednostki przetwarzania grafiki (GPU), a choćby jednostki przetwarzające dane (DPU) – wszystkie są w tej chwili dobrze znane i powszechne. W szczególności procesory graficzne zyskały ostatnio na znaczeniu wraz z pojawieniem się sztucznej inteligencji (AI).
Być może słyszałeś także o jednostkach przetwarzających tensor (TPU), które są dziełem Google i są dostępne wyłącznie za pośrednictwem ich usług w chmurze.
Ale czym są TPU i dlaczego możesz ich potrzebować?
Krótko mówiąc, są to jednostki przetwarzające dostosowane do użytku z materiałami wielowymiarowymi dane znalezione podczas operacji przetwarzania AI. Zanim jednak szczegółowo przedstawimy ich cechy, zobaczmy, jak mają się one do innych form procesorów.
Procesory, jak wszyscy prawdopodobnie wiemy, stanowią rdzeń wszelkich obliczeń. Rdzeń jest w tej chwili słowem operacyjnym, ponieważ wiele rdzeni – innymi słowy indywidualnych jednostek przetwarzających w procesorze – obsługuje wiele funkcji obliczeniowych.
Procesory są w rzeczywistości procesorami ogólnego przeznaczenia w świecie komputerów. Obsługują przychodzące instrukcje i wiadomości wychodzące do innych części systemu oraz ogólną orkiestrację zdarzeń. Dzieje się tak dlatego, iż potrafią obsługiwać wiele zestawów funkcji jednocześnie i są w tym dobrzy.
Jednak odkąd pojawiły się procesory, pojawiła się także potrzeba przeniesienia operacji obciążających przetwarzanie na bardziej wyspecjalizowane układy.
Jaki pożytek z TPU, skoro istnieją procesory graficzne?
I tak, Pojawiły się procesory graficzne. Pierwotnie były, jak sama nazwa wskazuje, zbudowane do obsługi przetwarzania grafiki w grach, ale później zaczęły znajdować zastosowanie w sztucznej inteligencji. Dzieje się tak, ponieważ przetwarzanie grafiki opiera się na operacjach macierzowych. Innymi słowy, w obliczeniach obejmujących macierze – na przykład wielowymiarowe – okazało się, iż są one dostosowane do Operacje AI Również.
Chociaż procesory graficzne mogą obsługiwać operacje na matrycach, nie są one tak dostosowane do tego zadania jak TPU, jak się przekonamy.
Nvidia stała się w pewnym sensie synonimem z rynkiem procesorów graficznych do zastosowań AI, ale są one również dostępne u innych dostawców.
Co robią DPU?
Istnieją również jednostki DPU wdrażane w serwerach w celu obsługi przesyłania danych, redukcji danych, bezpieczeństwa i analityki. Tutaj zadania te są odciążane od procesorów dzięki jednostek DPU, aby zapewnić większą specjalizację zaangażowanym zadaniom, uwalniając procesor do bardziej ogólnych obowiązków i orkiestracji.
DPU są dostępne u firm Intel, Nvidia, Marvell i AMD, a także w chmurze, na przykład w Amazon Web Services, z kartami Nitro.
Co jest specjalnego w TPU?
TPU po raz pierwszy zastosowano około 2016 roku. Są to, jak wspomniano powyżej, jednostki przetwarzające tensor. Tensor to forma macierzy lub liczby wielowymiarowej, najważniejszy element przetwarzania AI, który przypisuje i wykorzystuje liczby wielowymiarowe do obiektów w celu ich przetwarzania.
Niezależnie od tego, czy w układach TPU Google zastosowano specjalnie tensory matematyczne, kluczową cechą, która je charakteryzuje, jest to, iż są zbudowane wokół układów ASIC dostosowanych do obliczeń obejmujących liczby wielowymiarowe. ASIC oznacza układ scalony specyficzny dla aplikacji. Oznacza to, iż chip został zaprojektowany specjalnie do określonych operacji. W szczególności układy ASIC w TPU nazywane są jednostkami mnożenia macierzy (MXU).
To właśnie odróżnia TPU od procesorów, które są procesorami ogólnego przeznaczenia. Jednostki DPU i procesory graficzne można budować w oparciu o układy ASIC lub programowalne macierze bramek (FPGA), które nie są zaprojektowane do jednego zadania, ale można je skonfigurować w razie potrzeby do szerokiego zakresu zastosowań.
Tensor ASIC firmy Google w jej TPU został zaprojektowany do użytku z otwartym kodem źródłowym Struktura systemu TensorFlow AIktóry pomaga w uruchamianiu zaawansowanych modeli analitycznych AI, w których dane są ułożone dzięki wielowymiarowych wzorców.
TPU są dostępne od Google i dostarczane jako usługa. Najnowsza wersja, TPU v5p, pozwala na maksymalne obliczenia 459 operacji zmiennoprzecinkowych na sekundę (teraflopy). Obecnie, oprócz TensorFlow, procesory Google TPU obsługują inne platformy AI, takie jak PyTorch i Jax, z możliwością klasyfikacji i generowania obrazów oraz możliwością operacji na modelach w dużych językach.
Powiedziawszy to wszystko o specjalizacji TPU, każdy, kto myśli o zbudowaniu własnych systemów AI we własnym zakresie, i tak nie będzie mógł ich kupić. Procesory graficzne wykonają to zadanie równie dobrze, a jury nie zastanawia się, czy TPU zapewnia przewagę wydajności. Tyle, iż jeżeli chcesz pracować w chmurze (Google), TPU będą dobrze współpracować z dostępnym tam stosem systemu AI.