Intel ist nicht der erste Hersteller, der einem einfällt, wenn man an High-Performance-Computing und KI denkt. Aus der Sicht von Stephan Gillich, Director AI and Technical Computing GTM bei Intel, ist das nicht nachvollziehbar, denn Intel hat einiges zu bieten - auch im Vergleich zur Konkurrenz.
Markt&Technik: Sie haben in einem früheren Interview dargelegt, dass es im KI-Bereich drei Ansätze gibt: CPUs, GPUs und KI-Beschleuniger. Gilt das heute noch, oder sind CPUs mittlerweile doch eher die Ausnahme?
Stephan Gillich: Auf keinen Fall, auch heute sind CPUs eine wichtige Komponentengruppe für KI. Der falsche Eindruck entsteht dadurch, dass es oft nicht so sichtbar ist, dass die KI auf einer CPU läuft, aber die Anwendungen sind durchaus vielfältig. Hinzu kommt noch, dass viele Leute KI mit »Deep-Learning-Training« gleichsetzen, und dafür sind CPUs nur eingeschränkt geeignet, aber KI ist ja viel mehr, zum Beispiel auch Inferenzieren, und diese Art der Anwendungen läuft häufig auf CPUs.
Wobei wir mittlerweile auch KI-Technologien in die CPU integrieren, die auf Deep Learning abzielen. Die jüngste Entwicklung stellt AMX in der vierten Generation dar, also Advanced Matrix-Extensions. Diese integrierten Beschleuniger zielen darauf ab, die Matrixmultiplikationen hinter Deep Learning zu beschleunigen. Damit konnten wir enorme Steigerungsraten gegenüber der vorherigen Generation erreichen. Und mit dieser in die CPU integrierten Beschleunigertechnologie sind wir am Markt ziemlich einzigartig.
Also bleibt es dabei, dass es drei Ansätze gibt, KI umzusetzen?
Ja, denn für Anwender, die auf CPUs für ihre KI setzen, gibt es natürlich auch Anwendungen am Markt, die eine diskrete Beschleunigung brauchen, also eine diskrete Architektur wie zum Beispiel GPUs oder eben dedizierte Beschleuniger wie zum Beispiel Habana Gaudi2.
Und diese drei Richtungen bedienen wir mit drei Produktlinien: generische CPUs für die Client- und Server-Seite, die mit speziellen Technologien für die KI-Beschleunigung ausgestattet sind. Mit diesen Produkten adressieren wir hauptsächlich das Inferenzieren, aber auch »leichtes Training«. Dabei handelt es sich um ein erneutes Training von bereits vorhandenen neuronalen Netzen, die schon vorher trainiert wurden. Muss ich die Daten erst zurück in die Cloud schicken und dort das Training erneut anstoßen, kostet das viel Zeit, die man mit unseren Produkten spart. Das ist durchaus machbar und wird auch heute schon gemacht.
Darüber hinaus haben wir eine Produktlinie, die ich mit »General Acceleration« beschreiben würde. Das sind typischerweise GPUs, und die gibt es ja von unserer Seite in Form der »Data Center GPUs« aus den Flex- und Max-Reihen. Die Max-Reihe ist die leistungsstärkere, aber beide Serien wurden für allgemeine hochparallele Workloads entwickelt, sowohl im HPC- als auch im KI-Bereich. Die Max-GPU, der Code-Name war Ponte Vecchio, ist hauptsächlich für Anwendungen gedacht, in denen HPC- und KI-Workloads auftreten.
Ponte Vecchio wird mittlerweile in Serie gefertigt?
Ja, das zeigt zum Beispiel unser Leuchtturmprojekt »Aurora Exascale System« am Argonne National Lab. Dabei handelt es sich um ein Exascale-HPC-System, das voraussichtlich der schnellste Super-Computer der Welt wird, und da stecken sowohl Xeon- als auch Ponte-Vecchio-Prozessoren drin. Auch das Leibniz-Rechenzentrum setzt auf Intel, das ist zwar ein etwas anderes Design als die Argonne-Maschine, aber auch in diesem Fall werden unsere Xeon- und Ponte-Vecchio-Komponenten genutzt. Das zeigt, dass schon viele Komponenten eingesetzt werden; wie die Verfügbarkeit auf der Seite der OEMs aussieht, kann ich aber natürlich nicht genau sagen, aber von unserer Seite aus handelt es sich um ein verfügbares Produkt.
Und wie sieht es mit speziellen KI-Beschleunigern bei Intel aus?
Da schicken wir unsere Habana Gaudi2 ins Rennen. Dabei handelt es sich um die zweite Generation von KI-Prozessoren, die sich speziell für Deep-Learning-Workloads eignen, sowohl im Training als auch für das Inferenzieren. Es geht dabei um Anwendungen, die wirklich sehr viel Performance brauchen wie zum Beispiel Large-Language-Models und Generative AI.
Am Markt gibt es den Wunsch nach einem generischen Beschleuniger. Denn die bevorzugten Algorithmen ändern sich; waren früher beispielsweise CNNs das A und O in der Bildverarbeitung, haben mittlerweile Transformer gezeigt, dass sie sich ebenfalls hervorragend für diese Aufgaben eignen. Die auf CNNs optimierten Beschleuniger eignen sich aber nicht für Transformer, deshalb der Wunsch nach einer generischen Architektur.
Der Wunsch ist verständlich, aber ich denke, es wird immer ein Kontinuum geben. Das heißt, man fängt mit einer CPU an, die prinzipiell alles kann, spezielle Dinge aber nicht ganz so gut, und dann werden dafür optimierte Komponenten entwickelt, das ist das Design-Prinzip.
Wenn eine neue Computer-Architektur entwickelt wird, müssen viele Sachen bedacht werden. Der erste Punkt ist: Welche Applikationen will ich damit abdecken? Ich kann heutzutage eine Engine bauen, die hohe TFLOPS-Werte erreicht, die sich am Ende für die Anwendungen aber trotzdem nicht so gut eignet. Deswegen sind Benchmarks immer mit Vorsicht zu genießen. Also wenn ich auf einen bestimmten Applikations-Bereich ziele, dann muss ich mir natürlich überlegen: Was steckt dahinter? Welche Rechenoperationen müssen durchgeführt werden, wie sehen die Daten-Zugriffsmuster aus, oder müssen viele Daten verändert werden, all das wirkt sich auf die Architektur aus.
Das heißt: Das Design-Prinzip umfasst immer einen bestimmten Applikationsbereich, ein generischer Ansatz wird dabei schwierig. Deshalb haben wir auch verschiedene Architekturen für verschiedene Szenarios entwickelt; natürlich kann ich mit einem einzigen Ansatz nicht alles abdecken, deswegen die drei Produktlinien.
Um auf Ihre ursprüngliche Frage zurückzukommen, kann Intel eine generische Architektur bauen? Bis zu einem gewissen Grad ist das möglich. Nehmen wir Gaudi2 als Beispiel, dahinter stecken Tensor-Processing-Cores, eine Engine, die die Matrix-Operation wieder zusammenbringt etc. Natürlich kann ich sagen, ich optimiere meine Architektur auf spezielle Rechenoperationen, aber es müssen auch die Datentypen beachtet werden. Wenn ich von der Numerik rede, dann brauche ich 64 bit Double Floating Point, um eine Konvergenz zu erreichen. Bei Deep Learning kann ich mit der Auflösung der Datentypen runtergehen, weil ich auch mit Floating Point 16, vielleicht sogar mit Floating Point 8 Konvergenz erreiche.
Das macht den Unterschied in der Architektur aus, und wir denken, dass wir mit der Gaudi-Architektur eine Architektur haben, die generisch genug ist für heutige und zukünftige Anforderungen im Deep Learning. Dabei möchte ich betonen: Es muss nicht nur die Hardware betrachtet werden, sondern auch die Software, die oftmals, wenn Leute über die Architektur reden, so ein bisschen ausgeblendet wird. Und die Software ist enorm wichtig, denn wenn die Software das nicht unterstützt, was die Hardware kann, bringt die gesamte Hardware nichts.
Meinen Sie in diesem Fall die Unterstützung seitens der KI-Frameworks?
Auch, wobei die Unterstützung von Frameworks ziemlich einfach ist. Wichtig ist, dass auch das unterstützt wird, was dahinter liegt. Sagen wir, wir nutzen Resnet als Beispiel, dann muss die Architektur die Operationen unterstützen, die letztlich von so einem neuronalen Netzwerk ausgelöst werden. CNNs lösen vielleicht andere Operationen aus als Transformer, also muss ich mir überlegen, wie kann ich eine Architektur bauen, die nicht nur CNNs gut kann.