Definition Was ist eine Tensor Processing Unit (TPU)?

Autor / Redakteur: Dipl.-Ing. (FH) Stefan Luber / Nico Litzel

Die Tensor Processing Unit (TPU) ist ein von Google entwickelter Spezialchip. Er ist optimiert für maschinelles Lernen und Künstliche Intelligenz (KI). Die TPU ermöglicht eine effiziente Ausführung der Algorithmen der Programmbibliothek TensorFlow. Zum Einsatz kommen TPUs beispielsweise für Street View oder für Google Translate.

Anbieter zum Thema

(Bild: © aga7ta - stock.adobe.com)

Die Abkürzung TPU steht für Tensor Processing Unit. Es handelt sich um einen Chip, der von Google für Anwendungen der Künstlichen Intelligenz und des maschinellen Lernens entwickelt wurde. Durch eine optimierte Ausführung von Algorithmen der TensorFlow-Programmbibliothek erreicht eine TPU hohe Prozessgeschwindigkeiten in neuronalen Netzwerken. Die TPUs kommen in den Google-Rechenzentren schon seit circa 2015 für Anwendungen wie StreetView zum Einsatz. Auch für den Wettkampf von Alpha Go gegen die weltbesten Go-Spieler nutzte Google den Spezialchip. Mittlerweile ist die dritte Generation von Tensor Processing Units entwickelt. Für externe Kunden steht die Rechenleistung der TPUs als Google Cloud Service zur Verfügung.

Die verschiedenen Generationen der TPUs

Erstmals stellte Google die Tensor Processing Unit im Jahr 2016 der Öffentlichkeit vor. Die erste Generation bestand aus einem sogenannten systolischen Array und einer 256×256 8-Bit-Matrizenmultiplikationseinheit (MMU). Gefertigt wurde der Chip in 28-nm-Technik. Die Taktfrequenz betrug 700 MHz.

Die Vorstellung der zweiten Generation erfolgte im Jahr 2017. Der Chip war mit zwei Matrizenausführungseinheiten (Matrix Execution Units – MXUs) bestückt, von denen jede eine Rechenleistung von 22,5 TFLOPS erreichte. Vier TPUs auf einem TPU-Board erreichten bis zu 180 TFLOPS.

2018 schließlich gab Google die Entwicklung der dritten TPU-Generation bekannt. Sie besitzt vier Matrizenausführungseinheiten mit je acht GiB Arbeitsspeicher. Als Besonderheit sind die TPUs in Form eines 3D-Torus angeordnet und mit Wasser gekühlt. Ein TPU 3.0 Pod, bestehend aus acht Racks mit insgesamt 1.024 TPUs, erreicht eine Rechenleistung von insgesamt etwa 100 PFLOPS.

Aufbau und Besonderheiten der TPUs

TPUs sind für die schnelle Berechnung in trainierten neuronalen Netzen optimiert. Die benötigten Grundfunktionen in diesen aus vielen Schichten von Neuronen bestehenden Netzen sind das Aufaddieren und das Multiplizieren von Zahlen. Die Trainingsphase der neuronalen Netze nutzt Gleitkommaoperationen, die von GPUs besonders schnell ausgeführt werden können.

Um schnell zu addieren und zu multiplizieren, besitzt die TPU eine Matrix aus Multiplizier- und Aufaddier-Einheiten. In der ersten Generation der TPUs waren 256×256 8-Bit-Matrizenmultiplikationseinheiten (MMU) integriert, die bei einem Takt von 700 MHz mit 8-Bit-Ganzzahlen arbeiteten. Die Recheneinheiten nehmen nur etwa ein Viertel der Chipfläche in Anspruch. Die restliche Chipfläche wird benötigt, um die Recheneinheiten schnell mit Daten zu beliefern. Buffer speichern die Zwischenwerte der Berechnungen. Die Gewichtsdaten der neuronalen Netze sind über externe Speicher angebunden. Die Kommunikation des Host-Systems mit der Tensor Processing Unit erfolgt über einen für das Googles TensorFlow-Framework maßgeschneiderten CISC-Befehlssatz (Complex Instruction Set Computer), der nur wenige unterschiedliche Befehle kennt. Hauptsächlich sind dies die Befehle für das Aufaddieren und Multiplizieren, für das Austauschen von Daten zwischen Host und TPU, für das Laden von Gewichten und für die Synchronisation.

Performance der Tensor Processing Units

Im Vergleich zu einer CPU (Central Processing Unit) oder GPU (Graphics Processing Unit) erreicht eine Tensor Processing Unit bei KI-Berechnungen eine deutlich höhere Performance und benötigt weniger Energie. Bereits die ersten TPUs waren um den Faktor 15 bis 30 schneller als GPUs oder CPUs. Die Energieeffizienz war sogar um den Faktor 30 bis 80 besser. TPUs der aktuellen dritten Generation sind nochmals um einiges schneller und effizienter. Die Chips sind in Form von riesigen Hülsen gelegt und etwa achtmal performanter als TPUs älterer Generationen. Es sind Rechenleistungen von weit über 100 Petaflops erreichbar. Die Google-Internas zu den Benchmarks sind nicht öffentlich verfügbar.

Anwendungen für Tensor Processing Units

Google nutzt TPUs hauptsächlich für interne Anwendungen und Services, die Algorithmen des maschinellen Lernens und der Künstlichen Intelligenz verwenden. So nutzt das RankBrain, das die ausgespielten Suchergebnisse mit Künstlicher Intelligenz weiter verbessert, Tensor Processing Units. Beispielsweise kann RankBrain für bisher unbekannte Suchanfragen eigenständig passende Ergebnisse liefern. Weitere Anwendungsbereiche der TPUs bei Google sind Street View, die Bildersuche, Google Translate und Google Photos. Maßgeblichen Anteil sollen TPUs am Sieg der KI-Software Alpha Go gegen die weltweit besten Go-Spieler gehabt haben. Extern sind Funktionen und Rechenleistung der Tensor Processing Units in Form der Google Compute Engine in Googles Cloud-Angebot nutzbar.

(ID:45479951)