Procesor tensorowy (Tensor Processing Unit, TPU) to specjalizowany układ scalony (ASIC) zaprojektowany przez Google wyłącznie do jednego zadania: szybkiego liczenia operacji, które dominują w uczeniu maszynowym. W przeciwieństwie do CPU (uniwersalnego) i GPU (równoległego, ale wciąż dość ogólnego), TPU jest skrojony pod tensory — wielowymiarowe tablice liczb, na których pracują sieci neuronowe. Pierwsza generacja trafiła do data center Google w 2015 roku, a od tamtej pory doczekaliśmy się m.in. Trillium (6. generacja) i Ironwood (7. generacja, dostępna w Google Cloud).
Jak to działa i do czego służy
Serce TPU to MXU (Matrix Multiply Unit) — tzw. systolic array, czyli siatka tysięcy jednostek mnożąco-dodających, przez które dane przepływają jak woda przez rury. Zamiast ciągle latać po danych do pamięci (co dławi CPU/GPU), TPU przepuszcza liczby bezpośrednio między sąsiednimi komórkami. Efekt: mnożenie macierzy — fundament każdej warstwy sieci neuronowej — leci tu wyjątkowo tanio energetycznie.
TPU używa się do dwóch rzeczy: treningu dużych modeli (np. LLM-ów) oraz inference, czyli serwowania gotowego modelu produkcyjnie. Pojedyncze chipy łączy się w wielkie pody liczące tysiące układów, żeby trenować modele, których jeden akcelerator by nie udźwignął.
Przykład z praktyki
TPU najłatwiej dotkniesz przez Google Cloud albo za darmo w Google Colab (w menu Runtime → Change runtime type → TPU). W TensorFlow czy JAX nie przepisujesz całego kodu — owijasz go strategią dystrybucji:
resolver = tf.distribute.cluster_resolver.TPUClusterResolver()strategy = tf.distribute.TPUStrategy(resolver)- model budujesz wewnątrz
with strategy.scope():i trenujesz normalnie.
Częste błędy i mity
„TPU zawsze jest szybsze niż GPU” — nieprawda. TPU błyszczy przy dużych, regularnych operacjach macierzowych i dużych batchach. Małe modele, nietypowe operacje albo dynamiczne kształty tensorów potrafią je zagłodzić, bo MXU stoi bezczynnie. Druga pułapka: TPU lubi bfloat16 i operacje, które ładnie się kompilują w XLA — kod pełen pętli Pythonowych i warunków nie przyspieszy. I pamiętaj: TPU to sprzęt Google, w praktyce dostępny tylko w ich chmurze, a nie karta, którą wsadzisz do peceta jak GeForce.
Pojęcia powiązane
GPU, CUDA, ASIC, sieć neuronowa, tensor, TensorFlow, JAX, XLA, bfloat16, inference, uczenie maszynowe, Google Cloud.