Inne
Artykuł
Maciej Zabłocki, Piątek, 8 września 2017, 17:00

Tensor Processing Unit – skąd się wzięły i do czego służą?

Zacznijmy od tego, czym jest specjalizowany układ scalony (ang. application-specific integrated circuit, ASIC). To układ zaprojektowany do określonego zadania. Od układów ogólnego przeznaczenia odróżnia go to, że może wykonać swoją pracę nie tylko niezawodnie, zgodnie z wolą i pomysłem projektanta, ale także taniej, szybciej i przy mniejszym zużyciu energii. Największe wady specjalizowanych układów scalonych to koszt ich wytworzenia i mniejsza uniwersalność od układów scalonych ogólnego przeznaczenia (a takimi są na przykład „zwykłe” procesory).

Tak wygląda pierwsza płytka drukowana z jednostkami Tensor – prosto od Google

Tensor Processing Unit (TPU) to nic innego jak specjalizowany układ scalony, zaprojektowany z myślą o rozwoju uczenia maszynowego, czyli nauk zajmujących się sztuczną inteligencją. Jej początki sięgają 1952 roku, kiedy to Arthur Samuel z firmy IBM rozpoczął prace nad programem do szkolenia zawodników szachowych. Prawdziwym przełomem był projekt powstały na Uniwersytecie Stanforda w 1965 roku, o nazwie Dendral, dotyczący automatyzowania analizy i identyfikacji molekuł związków organicznych. Wyniki przeprowadzonych wtedy badań zapisały się w historii świata jako pierwsze odkrycie dokonane przez komputer.

Badania nad uczeniem maszynowym ruszyły pełną parą na początku lat 90., gdy Gerald Tesauro stworzył program TD-Gammon. Rywalizował on z najlepszymi graczami w planszowej grze backgammon (inaczej tryktrak). Program, żeby osiągnąć tak wysoki poziom, musiał rozegrać ponad milion gier, ale z każdej wyciągał wnioski. Później pojawiły się komputery, które potrafiły pokonać mistrzów szachowych. Najpierw w 1997 roku uczynił to Deep Blue, który zwyciężył z ówczesnym mistrzem świata Garrim Kasparowem. W 2006 roku ogólnodostępny program szachowy Fritz 10 pokonał mistrza świata Władimira Kramnika. 

Władimir Kramnik podczas pojedynku z programem Fritz 10

Koniec lat 90. przyniósł rozwój uczenia maszynowego pod kątem wyszukiwarek internetowych dla Google, Yahoo czy Binga. Dziś powszechnie stosuje się zaawansowane algorytmy w celu optymalizacji wyników wyszukiwania czy dopasowania reklam pod określone zainteresowania konsumenta.

Żeby zrozumieć ideę, która stoi za rdzeniami Tensor, trzeba wiedzieć, na czym dokładnie polega uczenie maszynowe. Zostało ono wielokrotnie opisane przez różnych uczonych z całego świata. W skrócie polega na osiągnięciu określonych rezultatów opartych na wiedzy fragmentarycznej, doskonaleniu się, tworzeniu nowych pojęć i wnioskowaniu indukcyjnym.

Dobrze opisują to słowa Donalda Michiego z 1991 roku:

„System uczący się wykorzystuje zewnętrzne dane empiryczne w celu tworzenia i aktualizowania podstaw do udoskonalonego działania na podobnych danych w przyszłości oraz wyrażania tych podstaw w zrozumiałej i symbolicznej postaci”.

Dzięki (głębokiemu) uczeniu maszynowemu naukowcy mogą znacznie szybciej i dokładniej zgłębiać zagadnienia, które wcześniej były niezrozumiałe dla człowieka. O wiele szybciej analizują wszelkie bazy danych, szukając w nich zależności, i ułatwiają sobie zrozumienie, zbadanie i opracowanie rozwiązań bardzo złożonych problemów. Możliwe zastosowania uczenia maszynowego są niezliczone, a dziś wykorzystuje się je między innymi w tłumaczach internetowych (takich jak Google Translate), w interaktywnych biurach obsługi (między innymi w firmach kurierskich), w kierowaniu pojazdami czy statkami kosmicznymi i automatyzowaniu wydobycia przeróżnych surowców. 

Dzięki tej wiedzy łatwiej Wam będzie wyobrazić sobie, do czego mogą służyć rdzenie Tensor. Publicznie zaprezentowano je po raz pierwszy w 2016 roku, podczas Google I/O (konferencji dla twórców oprogramowania). Firma poinformowała wtedy, że korzysta z TPU już od 12 miesięcy. W odróżnieniu od jednostek graficznych Tensory zostały opracowane w celu maksymalizacji wydajności obliczeń niskiej precyzji (8-bitowych), wyraźnie natomiast niedomagają podczas rasteryzacji czy mapowania tekstur. Nie nadają się więc do gier, ale nigdy nie miały do tego służyć (choć Nvidia mocno na tym polu kombinuje). Tensor Processing Unit opracowano w ramach struktury TensorFlow Google, co pozwala wykorzystać je między innymi w usłudze Google Street View. Firma użyła ich do przetwarzania tekstu zawartego w bazie danych Street View i skatalogowała wszystkie informacje w ciągu niespełna pięciu dni. TPU są także używane do przetwarzania blisko 100 milionów zdjęć każdej doby. 

Ocena artykułu:
Ocen: 22
Zaloguj się, by móc oceniać
Artykuły spokrewnione
Facebook
Ostatnio komentowane