ISSCC 2020 Macht Maschinenlernen Chip-Designer arbeitslos?

Die ISSCC 2020 stand unter folgendem Motto: »The Integrated Circuits Powering the AI Era.«
Die ISSCC 2020 stand unter folgendem Motto: »The Integrated Circuits Powering the AI Era.«

Es wird immer wieder geschrieben, dass KI Arbeitsplätze vernichtet. Als nächstes könnte es Chip-Designer treffen, zumindest langfristig. Und zwar dann, wenn die Vorstellung von Jeffrey Dean, Senior Fellow von Google, Realität wird und ML (Maschinenlernen) für Place and Route zum Einsatz kommt.

Dean macht in seiner Keynote zur Eröffnung der diesjährigen ISSCC 2020 zunächst deutlich, wie weit ML inzwischen gekommen ist. Denn aus der anfänglichen Begeisterung in den 1980er Jahren, die zu nichts Konkretem geführt hat, schreibt ML seit 2009 eine fortlaufende Erfolgsgeschichte. Die einschlägigen Geschichten sind bekannt, angefangen bei Alpha Go, über Klassifizierung von Objekten (ImageNet Challenge), NLP (Verarbeitung natürlicher Sprache) oder Übersetzungsprogramme. Dass ML Erfolg anfänglich Anlaufschwierigkeiten hatte, lag einfach daran, dass nicht genügend Rechenleistung verfügbar war. Dieses Problem konnte dank Moore’s Law gelöst werden und damit ML zum Durchbruch verholfen werden. Und selbst seit damals steigen die Anforderungen an die verfügbare Rechenleistung immer weiter an. Das macht ein Vergleich von Dean deutlich: AlphaGo Zero braucht für das Training eine um den Faktor 300.000 höhere Rechenleistung als noch Alexnet.

Dean ist überzeugt, dass auch weiterhin der Bedarf Rechenleistung steigen wird. Dumm nur, dass die Halbleitertechnologie nicht mehr mithalten kann. Dean weiter: »Zwischen 1985 und 2003 konnte die Rechenleistung von General-Purpose-CPUs alle 1,5 Jahre verdoppelt werden, zwischen 2003 und 2010 noch alle zwei Jahre und jetzt sind wir in einer Zeit angekommen, in der erwartet wird, dass sich die Performance nur noch alle 20 Jahre verdoppeln wird.«

Dass diese Verlangsamung wichtige Weiterentwicklungen zunächst schwierig macht, erklärt Dean an einem Google-Beispiel. Das Unternehmen hatte im Kleinen ein verteiltes System für die Spracherkennung aufgebaut, um größere neuronale Netze zu trainieren. Das Ergebnis: Die Spracherkennung wurde deutlich besser. Die Umsetzung der Spracherkennung für 100e Millionen User ist aber eine ganz andere Nummer, das wäre damals nur möglich gewesen, wenn das Unternehmen seine verfügbare CPU-basierten Rechnerleistung deutlich erhöht hätte – ein Schritt den Google finanziell wohl hätte stemmen können, der aber darüber hinaus extrem zeitaufwändig ist. Dean weiter: »Außerdem war die Spracherkennung ja nur eine Funktion, die wir mit ML realisieren wollten.«

Also hat Google sich bekanntermaßen dazu entschlossen, spezialisierte Hardware zunächst für das Inferenzieren, später auch für das Training neuronaler Netze zu entwickeln. Wobei Google die Besonderheiten von ML nutzte: Zum einen bestehen die Berechnungen der meisten Modelle nur aus unterschiedlichen Kombinationen von wenigen Operationen wie Matrizenmultiplikation, Vektoroperationen oder Faltungen. Zum anderen sind viele Funktionen, die für CPUs typisch sind, wie Sprungvorhersage, tiefe Cache-Speicher-Hierarchien etc., für ML-Anwendungen überhaupt nicht notwendig.

Heraus kamen bei Google die so genannten Tensor Processing Units (TPUs). Die erste Variante, TPUv1, zielt auf die Beschleunigung der Inferenzierung ab, ist mit einer Matrix von 65.536 MAC-Units (8 bit) ausgestattet und kommt auf eine maximale Rechenleistung von 92 TOPS. »Die TPUv1 ist im Durchschnitt um den Faktor 15 bis 30 schneller als damalige CPUs oder GPUs, in Hinblick auf TOPS/W sogar um den Faktor 30 bis 80 besser«, betont Dean. Danach wurde die Edge TPU für mobile Geräte entwickelt, die 4 TOPS für 2 W liefern kann. TPUv2 und TPUv3 hat Google so aufgebaut, dass sie sowohl für das Training als auch für die Inferenzierung eingesetzt werden kann. Die einzelnen Grundkomponenten, die jeweils aus vier Chips bestehen, können zu sogenannten Pods zusammengeschlossen werden. Ein TPUv3 Pod mit 1024 TPUv3 Chips kommt auf eine maximale Performance von über 100 Petaflop/s. In diesen beiden TPUs kommt das bfloat16-Format zum Einsatz. Dank des bfloat16-Formats verringert sich die Anzahl der Volladdierer gewaltig: Benötigt das 32-Bit-Floating-Point-Format 576 Volladdierer, sind für bfloat16 nur noch 64 Volladdierer notwendig, »damit werden die Multiplizierer deutlich günstiger« so Dean weiter. Und nachdem mit diesem Format deutlich weniger Schaltungen pro Multiplizierer notwendig sind, können mehr Multiplizierer auf dieselbe Chipfläche und bei gleicher Leistungsaufnahme integriert werden.