Der TPU v1 ist die erste Generation des Tensor Processing Unit, ein kundenspezifischer anwendungsspezifischer integrierter Schaltkreis (ASIC), der von Google zur Beschleunigung von Inferenz neuronaler Netze entwickelt wurde. Intern 2015 eingeführt und öffentlich im Mai 2016 auf der Google I/O angekündigt, wurde er speziell für das TensorFlow-Framework entworfen. Der Chip ist eine systolische Array-Matrixmultiplikations-Engine, die für hochvolumige Berechnungen mit geringer Präzision optimiert ist und hauptsächlich 8-Bit-Ganzzahlen verwendet. Er wurde in Googles Rechenzentren eingesetzt, um Dienste wie Suche, Street View und Fotos zu betreiben.
Im Gegensatz zu Allzweckprozessoren wurde der TPU v1 gebaut, um die spezifischen Berechnungsmuster von neuronalen Netzen in großem Maßstab zu bewältigen. Seine Architektur, die eine Abstammung mit früheren systolischen Array-Systemen wie dem WARP teilt, wurde aus drei konkurrierenden KI-Beschleuniger-Designs bei Google ausgewählt. Die Entwicklung wurde von Norman P. Jouppi als technischer Leiter und Hauptarchitekt geführt, wobei Amir Salek 2013 Googles kundenspezifische Siliziumgruppe gründete. Der Chip wurde in nur 15 Monaten vom Design zur Produktion gebracht, eine schnelle Zeitspanne für einen kundenspezifischen ASIC.
Architektur und Spezifikationen
Der TPU v1 ist eine 8-Bit-Matrixmultiplikations-Engine, die durch komplexe Befehlssatzcomputer (CISC)-Befehle von einem Host-Prozessor über einen PCIe-3.0-Bus gesteuert wird. Er wird in einem 28-nm-Prozess mit einer Die-Größe von höchstens 331 mm² gefertigt. Der Chip arbeitet mit einer Taktfrequenz von 700 MHz und hat eine thermische Verlustleistung von 28-40 W, was ihn für seine vorgesehenen Arbeitslasten sehr energieeffizient macht.
Zu den wichtigsten Komponenten gehören 28 MiB On-Chip-Speicher und 4 MiB 32-Bit-Akkumulatoren, die Ergebnisse von einem 256×256-systolischen Array aus 8-Bit-Multiplikatoren sammeln. Das Paket enthält 8 GiB dualkanaligen 2133-MHz-DDR3-SDRAM, der 34 GB/s Speicherbandbreite bietet. Befehle handhaben Datenübertragungen zum und vom Host, führen Matrixmultiplikationen oder Faltungen durch und wenden Aktivierungsfunktionen an, die die Kernoperationen für die Inferenz abdecken.
Leistung und Bereitstellung
In einem wegweisenden Papier von 2017 mit dem Titel „In-Datacenter Performance Analysis of a Tensor Processing Unit“, vorgestellt auf dem 44. International Symposium on Computer Architecture (ISCA 2017), zeigten Jouppi und Kollegen, dass der TPU v1 15-30-mal höhere Leistung und 30-80-mal höhere Leistung pro Watt als zeitgenössische CPUs und GPUs erreichte. Dies etablierte den Chip als grundlegende Plattform für neuronale Netz-Inferenz in großem Maßstab.
Google setzte TPUs in seinen Produktionsdiensten ein. Für die Textverarbeitung von Google Street View fand der Chip den gesamten Text in der Datenbank in weniger als fünf Tagen. In Google Fotos konnte ein einzelner TPU über 100 Millionen Fotos pro Tag verarbeiten. Der Chip betrieb auch RankBrain, das Google zur Verbesserung der Suchergebnisse verwendet, und wurde in den AlphaGo-gegen-Lee-Sedol-Go-Matches sowie im AlphaZero-System eingesetzt.
Vergleich mit GPUs und CPUs
TPUs sind für hochvolumige Berechnungen mit geringer Präzision ausgelegt und bieten mehr Eingabe-/Ausgabeoperationen pro Joule, ohne Hardware für Rasterisierung oder Textur-Mapping. Dies macht sie gut geeignet für faltende neuronale Netze (CNNs), die viele Inferenzaufgaben dominieren. Im Gegensatz dazu haben GPUs Vorteile bei einigen vollständig verbundenen neuronalen Netzen, und CPUs können Vorteile bei rekurrenten neuronalen Netzen (RNNs) haben.
Verschiedene Prozessortypen bedienen unterschiedliche Modelle des maschinellen Lernens. Für transformer-basierte neuronale Netze, die in großen Sprachmodellen verwendet werden, werden TPUs oft für die Inferenz eingesetzt, während GPUs für das Training verwendet werden. Die TPU-ASICs sind in Kühlkörper-Baugruppen montiert, die in Festplatten-Steckplätze in Rechenzentrumsregalen passen, was eine dichte Bereitstellung ermöglicht.
Vermächtnis und Auswirkungen
Der Erfolg des TPU v1 ebnete den Weg für nachfolgende Generationen, einschließlich des TPU v2, der bfloat16-Gleitkomma-Unterstützung für das Training einführte, und späterer Versionen. Broadcom hat als Co-Entwickler fungiert, indem es Googles Architektur in fertigbares Silizium übersetzte und die Fertigung über Foundries wie TSMC verwaltete. Das Design des Chips beeinflusste die breitere KI-Beschleuniger-Landschaft, wobei andere Anbieter ähnliche Produkte für eingebettete und Robotik-Märkte entwickelten.
Google stellte TPUs Dritten über seinen Cloud-TPU-Dienst auf Google Cloud Platform im Jahr 2018 zur Verfügung und über Notebook-basierte Dienste wie Kaggle und Colaboratory. Der TPU v1 bleibt ein Meilenstein in der künstlichen Intelligenz-Hardware und demonstriert den Wert domänenspezifischer Prozessoren für maschinelles Lernen-Arbeitslasten.