Die TPU v2 ist die Prozessoreinheit der zweiten Generation von Tensor Processing Units, einem anwendungsspezifischen integrierten Schaltkreis (ASIC), der von Google entwickelt wurde, um Arbeitslasten des maschinellen Lernens in neuronalen Netzen zu beschleunigen. Sie wurde im Mai 2017 angekündigt, löste die ursprüngliche TPU ab und führte bedeutende architektonische Verbesserungen ein, insbesondere die Fähigkeit, Gleitkommaberechnungen durchzuführen, sowie die Einbeziehung des bfloat16-Formats, das von Google Brain erfunden wurde. Dadurch war die TPU v2 sowohl für das Training als auch für die Inferenz von Modellen des maschinellen Lernens geeignet, im Gegensatz zu ihrem Vorgänger, der auf Integer-Operationen beschränkt war. Die TPU v2 wurde Dritten über den Cloud-TPU-Dienst von Google Cloud zugänglich gemacht und wurde umfassend in Googles eigenen Produktionssystemen eingesetzt, einschließlich für Transformer-basierte Modelle und große Sprachmodelle.
Die TPU v2 wurde entwickelt, um die Speicherbandbreitenbegrenzungen der TPU der ersten Generation zu beheben. Durch die Integration von 16 GB High Bandwidth Memory (HBM) erhöhte das Design der zweiten Generation die Speicherbandbreite auf 600 GB/s und lieferte 45 TeraFLOPS Leistung pro Chip. Diese Chips wurden dann zu Modulen aus vier Chips angeordnet, die eine kombinierte Leistung von 180 TeraFLOPS erreichten. Darüber hinaus wurden 64 dieser Module zu Pools aus 256 Chips zusammengesetzt, die eine Gesamtleistung von 11,5 PetaFLOPS bereitstellten. Diese skalierbare Architektur ermöglichte es Google, TPU-v2-Systeme für groß angelegte Aufgaben des maschinellen Lernens einzusetzen, einschließlich solcher mit neuralen Netzen und Deep Learning.
Entwicklung und Geschichte
Die Entwicklung der TPU v2 wurde von Amir Salek geleitet, der Googles Custom-Silicon-Gruppe gründete und leitete, und Norman P. Jouppi war der technische Leiter und Hauptarchitekt des gesamten TPU-Programms. Die ursprüngliche TPU wurde in nur 15 Monaten in Produktion eingesetzt, und die v2 baute auf dieser Grundlage auf. Laut Jonathan Ross, einem der ursprünglichen TPU-Ingenieure und späteren Gründer von Groq, wurde das TPU-Design, das eine systolische Array-Architektur verwendet, aus drei konkurrierenden KI-Beschleunigervorschlägen bei Google ausgewählt. Die TPU v2 war der erste Produktions-Chip für Deep-Learning-Training in der Industrie und markierte einen Meilenstein im Bereich kundenspezifischer Siliziumlösungen für KI. Broadcom entwickelte die TPU v2 gemeinsam, übersetzte Googles Architektur in fertigungsfähiges Silizium und verwaltete die Fertigung über Gießereien wie TSMC.
Technische Spezifikationen
Die TPU v2 ist eine Matrixmultiplikations-Engine, die sowohl Integer- als auch Gleitkommaarithmetik unterstützt. Ihre wichtigste Innovation war die Einführung des bfloat16-Formats, einer 16-Bit-Gleitkommadarstellung, die einen größeren dynamischen Bereich als herkömmliche 16-Bit-Formate bietet und gleichzeitig weniger Speicher und Bandbreite benötigt. Dies machte sie besonders effektiv für das Training tiefer neuronaler Netze. Jeder TPU-v2-Chip enthält ein systolisches Array aus Multiplizierern und Akkumulatoren sowie 16 GB HBM mit 600 GB/s Bandbreite. Die Chips sind in Modulen aus vier Chips miteinander verbunden, und diese Module werden zu größeren Pools kombiniert. Die Pool-Konfiguration mit 256 Chips liefert 11,5 PetaFLOPS und ermöglicht massive parallele Berechnungen für Aufgaben wie das Training von Transformatoren und anderen großen Sprachmodellen.
Anwendungen und Nutzung
Google setzte TPU-v2-Systeme in einer Vielzahl von Produktionsanwendungen ein. Sie wurden in der AlphaGo-Serie gegen Lee Sedol bei Go-Matches verwendet sowie im AlphaZero-System, das lernte, Schach, Shogi und Go allein aus den Spielregeln zu spielen. TPUs wurden auch für die Textverarbeitung in Google Street View eingesetzt, wodurch der gesamte Text in der Street-View-Datenbank in weniger als fünf Tagen extrahiert werden konnte. In Google Fotos konnte eine einzelne TPU über 100 Millionen Fotos pro Tag verarbeiten. Darüber hinaus wurden TPU v2s in RankBrain verwendet, Googles System zur Bereitstellung von Suchergebnissen. Über den Cloud-TPU-Dienst auf Google Cloud konnten Dritte TPU v2s für ihre eigenen Arbeitslasten des maschinellen Lernens nutzen, wobei Frameworks wie TensorFlow, JAX und PyTorch unterstützt wurden.
Vergleich mit GPUs
Im Vergleich zu GPUs sind TPUs für Berechnungen mit hohem Volumen und geringer Präzision mit mehr Eingabe-/Ausgabeoperationen pro Joule ausgelegt. Ihnen fehlt Hardware für Rasterisierung oder Texturmapping; sie konzentrieren sich stattdessen auf Matrixoperationen. TPUs eignen sich gut für faltende neuronale Netze (CNNs), während GPUs Vorteile bei einigen vollständig verbundenen neuronalen Netzen haben, und CPUs können Vorteile bei rekurrenten neuronalen Netzen (RNNs) bieten. In Arbeitsabläufen mit Transformer-basierten neuronalen Netzen für große Sprachmodelle werden TPUs häufig für die Inferenz verwendet, während GPUs häufig für das Training eingesetzt werden. Diese Arbeitsteilung spiegelt die unterschiedlichen Stärken der einzelnen Prozessortypen wider, wobei TPUs bei den spezifischen Berechnungsmustern vieler moderner KI-Modelle herausragend sind.
Vermächtnis und Auswirkungen
Die TPU v2 etablierte eine Vorlage für nachfolgende Generationen von Googles TPU-Hardware, einschließlich der TPU v3, die am 8. Mai 2018 angekündigt wurde, mit der doppelten Leistung pro Chip und Pools mit viermal so vielen Chips. Die Einführung von bfloat16 hatte einen nachhaltigen Einfluss auf das KI-Hardware-Ökosystem und beeinflusste andere Beschleunigerdesigns. Ab 2025 generiert Google Cloud erhebliche Produktumsätze aus dem Verkauf von TPU-Systemen, und Google hat Gespräche mit verschiedenen „Neoclouds" und Unternehmen wie Meta über den Einsatz von TPUs in deren Rechenzentren geführt. Die TPU v2 bleibt eine grundlegende Plattform in der Geschichte der Künstlichen Intelligenz-Hardware und demonstriert den Wert kundenspezifischer Siliziumlösungen für das maschinelle Lernen.