1 Punkte von GN⁺ 2024-03-26 | 1 Kommentare | Auf WhatsApp teilen
  • Googles erste TPU (Tensor Processing Unit) v1 zielte auf die Entwicklung eines ASIC (Application Specific Integrated Circuit) ab, der einen 10-fachen Kosten-/Leistungsvorteil bietet, wobei die Chancen für neue Dienste mit Deep Learning sowie der Umfang und die Kosten der dafür benötigten Hardware berücksichtigt wurden.
  • Die TPU wurde zur Beschleunigung von Tensor-Operationen entwickelt; Tensoren bezeichnen dabei Operationen, die mehrdimensionale Array-Beziehungen zwischen Vektoren, Skalaren und anderen Tensoren abbilden.
  • Matrixmultiplikation ist die Kernoperation neuronaler Netze und wird verwendet, um durch Multiplikation des Eingabevektors mit der Gewichtungsmatrix und anschließende Anwendung einer Aktivierungsfunktion die Hidden Layer und die Ausgabeschicht zu berechnen.

Googles erste Tensor Processing Unit: Ursprünge

  • Das TPU-v1-Projekt begann Ende 2013 und wurde in 15 Monaten entwickelt, was es zu einem interessanten Thema für alle macht, die sich für Beschleuniger für neuronale Netze interessieren.
  • Der Hintergrund und die Ziele der Entwicklung von TPU v1 wurden im vorherigen Beitrag behandelt; in diesem Beitrag wird die Struktur und Leistung von TPU v1 genauer betrachtet.

Architektur und Leistung

  • Das Design von TPU v1 basiert auf der in der Arbeit von H.T. Kung und Charles E. Leiserson aus dem Jahr 1978, "Systolic Arrays (for VLSI)", vorgestellten Architektur.
  • Ein Systolic Array besteht aus einem Prozessornetzwerk, das in periodischen Zyklen Daten berechnet und durch das System weiterleitet, um eine effiziente Matrixmultiplikation durchzuführen.
  • Das Systolic Array von TPU v1 besteht aus 256x256 Multiplikations-/Akkumulationseinheiten und erzeugt automatisch die benötigten Ergebnisse, ohne Zwischenergebnisse im Hauptspeicher ablegen und wieder abrufen zu müssen.

Multiply/Accumulate Units (MACs)

  • TPU v1 führt 8-Bit-x-8-Bit-Integer-Multiplikationen aus und nutzt Quantisierung, die weniger Die-Fläche benötigt als Fließkommaberechnungen.

Befehlssatz

  • TPU v1 verwendet einen komplexen Befehlssatz (CISC) mit etwa 20 Instruktionen, die über die PCIe-Schnittstelle vom Host-Computer übertragen werden.
  • Zu den wichtigsten Befehlen gehören Lesen aus dem Host-Speicher, Lesen von Gewichten, Matrixmultiplikation/-Komposition, Aktivierung und Schreiben in den Host-Speicher.

Software

  • Die Hardware von TPU v1 unterstützt Software-Stacks wie Tensorflow, sodass auf CPU und GPU entwickelte Anwendungen schnell auf die TPU portiert werden können.

Fertigung und Die

  • TPU v1 wurde im 28-nm-Prozess von TSMC gefertigt; die Die-Fläche beträgt weniger als die Hälfte der Intel-Haswell-CPU- und Nvidia-K80-GPU-Chips, die Google in seinen Rechenzentren einsetzte.

Leistung

  • TPU v1 wurde entwickelt, um Inferenz effizienter zu machen, und bietet im Vergleich zu Nvidia K80 GPU und Haswell CPU etwa 15- bis 30-mal höhere Inferenzgeschwindigkeit und Energieeffizienz.

Erkenntnisse

  • Die maßgeschneiderte Architektur von TPU v1 ermöglicht eine deutlich bessere Leistung und einen deutlich besseren Energieverbrauch als moderne CPUs und GPUs.
  • TPU v1 wurde mit dem Ziel entwickelt, Inferenz schnell und energieeffizient zu machen, und war nicht für Training ausgelegt.

Meinung von GN⁺

  • Die Entwicklung von TPU v1 markiert einen wichtigen Wendepunkt, an dem Google zur Optimierung von Inferenz-Workloads in großen Rechenzentren auf Spezialhardware umstieg.
  • Die Systolic-Array-Architektur optimiert den Datenfluss und minimiert Speicherzugriffe, was zu besserer Energieeffizienz und höherer Leistung beiträgt.
  • Der Erfolg von TPU v1 führte später zur Entwicklung verschiedener TPU-Versionen und spielte eine wichtige Rolle für den Fortschritt von AI-Inferenz-Hardware.
  • Andere Produkte mit ähnlicher Funktionalität wie die TPU sind GPUs von Nvidia mit Tensor Cores, Intels Nervana NNP und Amazons Inferentia.
  • Bei der Einführung der TPU-Technologie sollten die Kompatibilität mit der bestehenden Infrastruktur, der Software-Stack und der Optimierungsgrad für bestimmte Anwendungen berücksichtigt werden. Zu den Vorteilen der Wahl einer TPU gehören höhere Geschwindigkeit bei Inferenz-Workloads und bessere Energieeffizienz, allerdings kann eine Optimierung für bestimmte Modelle oder Datentypen erforderlich sein.

1 Kommentare

 
GN⁺ 2024-03-26
Hacker-News-Kommentare
  • Groq-CEO Jonathon Ross spricht in einem Podcast-Interview darüber, wie bei Google der Prototyp des TPU entstand. Zunächst baute er in seiner 20%-Zeit ein FPGA, um das Problem der Inferenzgeschwindigkeit eines benachbarten Teams zu lösen. Nachdem Jeff Dean die mathematischen Berechnungen durchgeführt hatte, fiel die Entscheidung, auf ein ASIC umzusteigen. Heute gibt es die Meinung, Google solle das TPU-Team als eigenständiges Unternehmen ausgliedern. TPU ist der einzige glaubwürdige Konkurrent zu NVidia, und die Software-Unterstützung ist nach NVidia die zweitbeste.
  • Es wird die Frage aufgeworfen, warum trotz Googles Erfindung des TPU und der Veröffentlichung zentraler LLM-Arbeiten durch Google Research NVidia und AI-Startups den Großteil des Marktwerts auf sich vereinen.
  • Ein Google-Mitarbeiter empfiehlt, sich TPU v5 anzusehen. Mit Unterstützung für PyTorch/JAX sei es deutlich einfacher zu nutzen als damals, als man im Grunde nur TensorFlow verwenden konnte.
  • Ein Artikel erkläre gut, wie abstrakte Teile über Silizium miteinander verbunden werden. Besonders interessant sei zu sehen, wie CISC-Instruktionen auf die Inferenzphase von LLMs abgebildet werden.
  • Es gibt die Meinung, Google müsse in die 2-nm-EUV-Technologie einsteigen und unter 2 nm weitergehen. Wenn man sich die von ASML bereitgestellte Elektronenlithografie-Technologie sichern könne, wären sehr starke Ergebnisse möglich. Das könnte ein kühnes Projekt für Google X sein, und wenn TPU wirklich so gut ist, wäre es eine gute Chance für ein Geschäft mit eigener Fab und eigener Technologie.
  • Es wird gefragt, welches Meerestier der aktuelle TPU-Name eigentlich bezeichnet.
  • Zitat des OP (Original Poster): "TPU v1 verwendete ein CISC-Design mit ungefähr 20 Instruktionen." Als Reaktion darauf folgt die spöttische Bemerkung, CISC/RISC habe viele Stadien durchlaufen – vom Forschungsprogramm bis zum Marketingbegriff – und sei inzwischen nur noch bedeutungsloser Lärm.
  • Ein Kommentar sagt, er verstehe nicht, warum der Begriff "Tensor" verwendet werde, obwohl die TPU-Hardware in Wirklichkeit nur Vektor- und Matrixoperationen ausführe.
  • [gelöschter Kommentar]
  • [gelöschter Kommentar]