Tensor Processing Unit

TPUs der vierten Generation. Die färbigen Schläuche führen die Kühlflüssigkeit zu den vier ASICs

Tensor Processing Units (TPUs), auch Tensor-Prozessoren, sind anwendungsspezifische Chips um Anwendungen im Rahmen von maschinellem Lernen zu beschleunigen. TPUs werden vor allem genutzt, um Daten in künstlichen neuronalen Netzen, vgl. Deep Learning, zu verarbeiten.

Die von Google entwickelten TPUs wurden speziell für die Softwaresammlung TensorFlow[1] entworfen. TPUs sind die Basis für alle Google Services, welche maschinelles Lernen einsetzen, und wurden auch in den AlphaGo-Maschine-vs.-Mensch-Wettkämpfen mit einem der weltbesten Go-Spieler, Lee Sedol, zum Einsatz gebracht.[2]

Generationen der Tensor Processing Units

Erste Generation

Die erste Generation von Googles TPU wurde auf der Google I/O 2016 vorgestellt und speziell entworfen, um die Anwendung eines bereits trainierten künstlichen neuronalen Netzwerks zu unterstützen bzw. zu beschleunigen.[3] Dies wurde u. a. durch eine geringere Präzision im Vergleich zu normalen CPUs oder GPUs und einer Spezialisierung auf Matrizenoperationen erreicht.

Die TPU besteht aus einem systolischen Array mit einer 256×256-8-Bit-Matrizenmultiplikationseinheit (MMU), welche von einem Mikroprozessor mit einem CISC-Befehlsatz angesteuert wird. Der Chip wurde in einem 28-nm-Prozess gefertigt und taktet mit 700 MHz bei einer Thermal Design Power von 28 bis 40 W. Die TPU besitzt 28 MiB Arbeitsspeicher am Chip. Zudem sind 4-MiB-32-Bit-Akkumulatoren verbaut, welche die Ergebnisse der Matrizenmultiplikationseinheit übernehmen. Die TPU kann Matrizenmultiplikationen, Faltungen und Aktivierungsfunktionen, sowie Datentransfer zum Hostsystem über PCIe 3.0 oder zum DDR3 DRAM, welcher sich am Board befindet, ausführen.

Zweite Generation

Die zweite Generation von Googles TPU (TPUv2) wurde auf der Google I/O 2017 vorgestellt. Diese soll nicht nur die Anwendung von neuronalen Netzwerken (Inferenz), sondern auch das Training dieser Netzwerke beschleunigen. Diese TPUs besitzen zwei „Matrizenausführungseinheiten“ (Matrix Execution Unit; MXU) mit je 8 GiB Arbeitsspeicher.[4] Jede MXU weist eine Rechenleistung von 22,5 TFLOPS auf, wobei jedoch der bfloat16-Datentyp zum Einsatz kommt, welcher nicht IEEE 754 entspricht.[4] Ein TPU-Board mit vier TPUs kommt somit auf 180 TFLOPS.

Die TPUs werden zu einem „Pod“ mit 11,5 PFLOPS zusammengeschaltet, einem Rechnerverbund (Cluster-Systemarchitektur) von 256 TPUs und 128 Server-CPUs. Die TPUs sind hierbei in einer sphärenförmigen (2D-Torus) Netzwerktopologie von je 8×8 TPUs zusammengeschaltet. Zur Verbindung der CPUs mit den TPUs kommt PCI-Express 3.0 mit 32 Lanes (8 Lanes je TPU) zum Einsatz.[4]

Die TPUs der zweiten Generation sind in Form der Google Compute Engine, einem Cloud-Angebot von Google, nutzbar.

Um die Speicherbandbreite der Architektur zu erhöhen kommt HBM-Speicher zum Einsatz.[5]

Dritte Generation

TPUv3 Karte
TPUv3-Karte

Die dritte Generation von Googles TPU (TPU 3.0) wurde auf der Google I/O 2018 vorgestellt. Die TPUs besitzen 4 MXUs mit je 8 GiB Arbeitsspeicher (32 GiB je TPU).[4] Die Netzwerktopologie der TPUs ist ebenfalls in Form eines 2D-Torus ausgelegt. Die Racks besitzen zudem eine Wasserkühlung, mit der die TPUs gekühlt werden.[4] TPU 3.0-Pods bestehen aus 8 Racks mit insgesamt 1024 TPUs und 256 Server-CPUs. Die Rechenleistung eines Pod liegt bei knapp über 100 PFLOPS.[4]

Vierte Generation

Die vierte Generation von Googles TPU (TPU v4) wurde von Google im Dezember 2021 vorgestellt.[6]

Mit den sogenannten SparseCores und Optical Circuit Switches (OCS) kann der TPU v4 interne Verbindungen dynamisch rekonfigurieren und skalieren. Das optische Netzwerk kann außerdem an die Struktur des berechneten KI-Modells angepasst werden. Die Sicherheit soll durch die Trennung der Racks auf Netzwerkebene erhöht werden. Der OCS ist verhältnismäßig günstig, da er unter fünf Prozent der Gesamtkosten der TPU ausmacht. Bei der Leistungsaufnahme schlägt das optische Netzwerk mit unter drei Prozent ebenfalls kaum zu Buche.[7]

Die TPU v4 hat dank einer Umstellung auf eine 7-nm-Fertigung und einer Transistorzahl von 22 Milliarden eine mehr als doppelt so hohe Rechenleistung von 275 TFLOPS bei bfloat16 und int8. Trotzdem ist sie mit einer Größe von nur 600 mm² kleiner und verbraucht maximal 192 Watt, was im Vergleich zur TPU v3 eine Einsparung darstellt.[8]

Tabellarische Übersicht über einzelne TPU-Parameter

Tensor Processing Units[9][10][11]
TPU v1TPU v2TPU v3TPU v4Edge v1
Einführungsdatum20162017201820212018
Technologieknoten28 nm16 nm16 nm7 nm
Die-Größe (mm2)331< 625< 700< 400
On-Chip-Speicher (MiB)283232144
Taktgeschwindigkeit (MHz)7007009401050
Speicher8 GiB DDR316 GiB HBM32 GiB HBM32 GiB HBM
Speicherbandbreite34 GB/s600 GB/s900 GB/s1200 GB/s
Thermal Design Power (W)752802201702
TFLOPS23451232754
TFLOPS/W0.310.160.561.622

Siehe auch

  • Google Tensor, SoC von Google mit integrierter TPU

Literatur

Weblinks

Patente

  • Patent US20160342889: Vector Computation Unit in Neural Network Processor. Angemeldet am 3. September 2015, veröffentlicht am 24. November 2016, Anmelder: Google Inc., Erfinder: Gregory Michael Thorson, Christopher Aaron Clark, Dan Luu.
  • Patent WO2016186823: Batch Processing in a Neural Network Processor. Angemeldet am 3. März 2016, veröffentlicht am 24. November 2016, Anmelder: Google Inc., Erfinder: Reginald Clifford Young.
  • Patent WO2016186801: Neural Network Processor. Angemeldet am 26. April 2016, veröffentlicht am 24. November 2016, Anmelder: Google Inc., Erfinder: Jonathan Ross, Norman Paul Jouppi, Andrew Everett Phelps, Reginald Clifford Young, Thomas Norrie, Gregory Michael Thorson, Dan Luu.
  • Patent WO2014105865: System and method for parallelizing convolutional neural networks. Angemeldet am 23. Dezember 2013, veröffentlicht am 3. Juli 2014, Anmelder: Google Inc., Erfinder: Alexander Krizhevsky, Ilya Sutskever, Geoffrey E. Hinton.

Einzelnachweise

  1. Jeff Dean, Rajat Monga: TensorFlow - Google’s latest machine learning system, open sourced for everyone. In: Google Research Blog. Google, 9. November 2015, abgerufen am 29. Juni 2016 (englisch).
  2. Christof Windeck: Google I/O 2016: "Tensor-Prozessoren" halfen beim Go-Sieg – heise online. In: heise.de. 19. Mai 2016, abgerufen am 23. November 2016.
  3. Norm Jouppi: Google supercharges machine learning tasks with TPU custom chip. In: Google Cloud Platform Blog. 18. Mai 2016, abgerufen am 29. Juni 2016 (amerikanisches Englisch).
  4. a b c d e f Timothy Prickett Morgan: Tearing apart Google's TPU 3.0 AI Coprocessor. In: The Next Platform. 10. Mai 2018, abgerufen am 24. Mai 2018 (englisch).
  5. Systemarchitektur | Cloud TPU. Abgerufen am 12. Januar 2020.
  6. Google showcases Cloud TPU v4 Pods for large model training |. Abgerufen am 11. April 2022.
  7. golem.de, Johannes Hiltscher: Google erklärt TPU v4: KI-Supercomputer mit flexiblem optischen Netz, 5. April 2023
  8. Norman P. Jouppi u. a.: TPU v4: An Optically Reconfigurable Supercomputer for Machine Learning with Hardware Support for Embeddings. In: arxiv.org. 4. April 2023; (englisch). doi:10.48550/arXiv.2304.01433
  9. System Architecture | Cloud TPU. In: Google Cloud. Abgerufen am 11. Dezember 2022 (englisch).
  10. Patrick Kennedy: Case Study on the Google TPU and GDDR5 from Hot Chips 29, Serve The Home, 22. August 2017. Abgerufen am 23. August 2017. 
  11. Google wins MLPerf benchmark contest with fastest ML training supercomputer – Google Cloud Blog. In: cloud.google.com. 30. Juli 2020, abgerufen am 6. April 2023 (englisch).

Auf dieser Seite verwendete Medien

TPU v4.png
Autor/Urheber:

Norman P. Jouppi, George Kurian, Sheng Li, Peter Ma, Rahul Nagarajan, Lifeng Nai, Nishant Patil, Suvinay

Subramanian, Andy Swing, Brian Towles, Cliff Young, Xiang Zhou, Zongwei Zhou, and David Patterson, Lizenz: CC BY 4.0
The TPU v4 package (ASIC in center plus 4 HBM

stacks) and printed circuit board (PCB) with 4 liquid-cooled packages. The board's front panel has 4 top-side PCIe connectors

and 16 bottom-side OSFP connectors for inter-tray ICI links.
AMD Phenom die.png

AMD Phenom™ Quad-Core Processor Die
Tensor Processing Unit 3.0.jpg
Autor/Urheber: Zinskauf, Lizenz: CC BY-SA 4.0
This is a personal photo of a TPU 3.0 device.