NEWS

Prozessoren

Ein Blick in Google’s Tensor Processing Unit (TPU)

Portrait des Authors


Ein Blick in Google’s Tensor Processing Unit (TPU)
2

Werbung

Themen wie Machine Learning, Deep Learning und Artificial Intelligence, die eigentlich nur Synonyme füreinander sind, spielen in der heutigen Welt eine immer wichtigere Rolle. Unternehmen wie Intel, Google und NVIDIA haben sich darauf vorbereitet und entsprechende Hardware entwickelt. Google hat dazu die Tensor Processing Unit (TPU) entwickelt, zu der es nun weitere Informationen gibt.

Bei der TPU handelt es sich um einen Custom-ASIC (Application Specific Integrated Circuit), der speziell auf das Machine Learning mittels TensorFlow zugeschnitten ist. Das bisher geheime Projekt wird bereits seit Jahren bei Google ausgeführt, die Hardware läuft bereits seit mehr als einem Jahr in den eigenen Data-Centern.

Bisher hat sich Google immer mit technischen Daten sowie Leistungswerten zurückgehalten. Nun aber hat man doch einige Werte veröffentlicht.

91,75 TOPS/s aus 700 MHz

Die wichtigste Komponenten eines jeden Chips sind die eigentlichen Recheneinheiten. Im Falle der Google TPU verbaut man eine Matrix aus 256 × 256 Multiplizier/Aufaddier-Einheiten (Multiplier/Accumulator, MAC). Diese können ganze Zahlen mit einer Länge von 8 Bit verarbeiten. Aus 256 × 256 Recheneinheiten, die jeweils eine Multiplikation und Addition (jeweils 65.536 Operationen) ausführen können, ergibt sich bei einem Takt von 700 MHz eine Rechenleistung von 91,75 TOPS (Tera Operations per Second). Zum Vergleich: Ein Intel Xeon E5-2699 v3 kommt auf 2,6 TOPS. Falls notwendig können die Recheneinheiten auch mit Fließkommaeinheiten bei 8 Bit sowie in 16 Bit rechnen, dann aber reduziert sich die Rechenleistung um ein Viertel.

Hinsichtlich der Möglichkeiten der Hardware sowie der Fertigung stellt Google auch einen Vergleich zum besagten Intel Xeon E5-2699 v3 und der NVIDIA Tesla K80 mit zwei GPUs an.

Gegenüberstellung der Beschleuniger
Hardware Intel Xeon E5-2699 v3 NVIDIA Tesla K80 TPU
Chipgröße: 662 mm² 561 mm² -
Fertigung: 22 nm 28 nm 28 nm
Takt: 2.300 MHz 560 MHz 700 MHz
TDP: 145 W 150 W 75 W
Leistungsaufnahme Idle: 41 W 25 W 28 W
Leistungsaufnahme Last: 145 W 98 W 40 W
Rechenleistung 8 Bit: 2,6 TOPS - 91,8 TOPS
Rechenleistung FP: 1,3 TFLOPS 2.8 TFLOPS -
Speichergröße L2-Cache: 51 MB 8 MB 28 MB
Speicherbandbreite: 51 GB/s 160 GB/s 34 GB/s
Anzahl der Speicherchips: 2 8 4

Google spricht nicht über die Größe seines Chips, viel kleiner als die übrigen beiden dürfte er aber nicht sein. Auch bei der Fertigung liegen die drei Konkurrenten in etwa gleichauf. Interessanter wird es, wenn man sich die Leistungsaufnahme im Zusammenspiel mit der gebotenen Leistung anschaut. Die Google-Hardware soll auf dem Papier bereits um die Hälfte sparsamer sein und auch in den Messungen können diese Werte in etwa erreicht werden. Die Rechenleistung für die gewünschten 8-Bit-Berechnungen liegt aber um ein Vielfaches über dem, was Intel und NVIDIA in der besagten Vergleichshardware liefern können. Dabei sei aber angemerkt, dass NVIDIA und Intel auch andere Hardware anbieten können, die deutlich schneller ist.

Datenanbindung ebenso wichtig wie Recheneinheiten

Neben den Recheneinheiten hat sich in den vergangenen Jahren aber auch gezeigt, dass die Anbindung der Recheneinheiten an einen Datenbus von entscheidender Bedeutung ist. Nicht ohne Grund entwickeln AMD, Intel, NVIDIA und IBM immer schnellere Interconnects, um den immer schnelleren Speicher auch ebenso schnell an die Recheneinheiten anbinden zu können.

Im Falle der Google TPU sind 24 MB an Unified Buffer vorhanden. Der Speicher nimmt in etwa so viel Platz des Chips ein, wie die Recheneinheiten selbst – etwa 30 %. Nun kennen wir von den GPUs ein Speicherinterface von 256, 384 oder 512 Bit. Mit den ersten GPUs mit High Bandwidth Memory wurden Speicherinterfaces mit 4.096 Bit eingeführt. Die TPU aber bindet den Speicher über ein 256 Byte breites Speicherinterface an. Dies entspricht der Hälfte der Wertes für schnellen HBM.

Beeindruckende Leistung – hohe Effizienz

All die Hardware hat natürlich den Zweck die Berechnungen möglichst schnell ausführen zu können. Doch wie schnell ist die TPU im Vergleich zur Konkurrenz?

Die Benchmarks sind eindeutig und an dieser Stelle sei einmal beschrieben, warum gegen Hardware aus dem Jahre 2015 verglichen wird. Eben seit 2015 setzt Google die TPU ein. Zu diesem Zeitpunkt waren der Intel Xeon E5-2699 v3 und die NVIDIA Tesla K80 aktuell. Da große Rechenzentren immer nur damit planen können, was zum aktuellen Zeitpunkt oder in Kürze verfügbar sein wird, nimmt man diese Hardware als Basis.

Die Ergebnisse sind recht eindeutig, denn die TPU ist um den Faktor 15 bis 30 schneller. Zieht man auch die FLOPS/W mit in Betracht, verbessert sich das Verhältnis sogar noch auf den Faktor 30 bis 80. Einen Ausblick auf den möglichen Vergleich mit aktueller Hardware gibt es zwar nicht, allerdings spricht Google davon, dass man durch einfache Änderungen an der Plattform das Ergebnis noch weiter verbessern könne. So kommt derzeit DDR3-Speicher außerhalb der TPU zum Einsatz. Man könne aber auch GDDR5 verwenden und damit die Rechenleistung noch einmal verdreifachen. Die Effizienz könne damit um den Faktor 70 bis 200 gegenüber der genannten Hardware gesteigert werden.

Google hat sich mit der TPU eine Hardware geschaffen, die gezielt auf einen Zweck hin ausgerichtet ist. Hersteller wie Intel, IBM oder NVIDIA müssen sich aber etwas breiter aufstellen. Hier geht es nicht nur darum 8-Bit-Operationen beherrschen zu können. Stillstand ist aber nicht zu erwarten, dann alle Hersteller arbeiten mit jeder Generation daran die Leistung weiter zu steigern – sicherlich keine Überraschung. Es führt allerdings kein Weg mehr daran vorbei, dass wir mehr und mehr Custom-Hardware sehen werden.