Das britische Start-up Graphcore hat mit der »Intelligence Processing Unit« einen leistungsfähigen KI-Prozessor entwickelt, den das Unternehmen in eigenen Rechner-Blades vermarktet. Die aktuelle 2. Generation soll die verbreiteten Nvidia DGX-A100 GPUs blass aussehen lassen.
Die im englischen Bristol ansässige Graphcore hat die KI-Computing-Lösungen IPU-M2000 und IPU-POD64 auf den Markt gebracht, die auf der Colossus Mk2 GC200 IPU, Graphcores KI-Chip der zweiten Generation, basieren.
Bei der IPU-Maschine M2000 handelt es sich um eine KI-Computing-Blade, die für eine einfache Installation konzipiert wurde und Systeme unterstützt, die skalierbar sind. Die schlanke 1HE-Blade liefert 1 PetaFlop/s an KI-Rechenleistung und bietet Netzwerktechnik, die für die Skalierung optimiert ist. Jede IPU-Machine M2000 verfügt über vier der neuen 7-nm-Prozessoren Colossus Mk2 GC200 IPU und wird durch den Poplar-Software-Stack von Graphcore unterstützt.
Der IPU-POD64 von Graphcore wiederum ist ein hochskaliertes KI-Computing-System, das 16 IPU-M2000-Maschinen umfasst, die mit der IPU-Fabric-Technologie von Graphcore mit extrem hoher Bandbreite vorkonfiguriert und vernetzt sind. Der IPU-POD64 wurde für umfangreiche KI-Computing-Funktionen entwickelt, um einzelne Workloads für die parallele Berechnung auf mehrere IPUs zu verteilen oder um sie mithilfe der Virtual-IPU-Software von Graphcore gemeinsam über mehrere Benutzer hinweg zu nutzen.
Die Colossus Mk2 GC200 IPU basiert auf der 7-nm-Prozesstechnologie von TSMC und umfasst mehr als 59,4 Mrd. Transistoren auf einem 823 mm2 großen Chip. Mit ihren 1472 separaten IPU-Cores kann die Colossus Mk2 GC200 IPU insgesamt 8832 separate parallele Computing-Threads ausführen.
Die Leistungsfähigkeit jedes IPU-Cores wird durch eine Reihe neuartiger, von Graphcore entwickelter, Gleitkomma-Techniken namens »AI-Float« nochmals gesteigert. Durch optimierte arithmetische Implementierungen in Bezug auf Energieverbrauch und Leistungsfähigkeit bei Maschinenintelligenz-Berechnungen steht 1 PetaFlop/s KI-Rechenleistung pro IPU-Maschine M2000 1HE-Blade zur Verfügung.
Neben FP32-IEEE-Gleitkomma-Arithmetik unterstützt Graphcore auch FP16.32 (16Bit-Multiplikation mit 32Bit-Akkumulation) und FP16.16 (16Bit-Multiplikation mit Akkumulation). Die Colossus Mk2 GC200 IPUs unterstützen dabei stochastische Rundung in der Arithmetik in Hardware, die mit der vollen Geschwindigkeit des Prozessors ausgeführt wird. Dadurch kann die IPU die gesamte Arithmetik in 16-bit-Formaten halten, was den Speicherbedarf reduziert, Energie bei Lese-/Schreibvorgängen und in der Arithmetik-Logik einspart, während die Ergebnisse der Maschinenintelligenz mit voller Genauigkeit geliefert werden.
Jeder der 1472 Prozessorkerne und 8832 parallelen Programm-Threads kann einen separaten Startwert für einen Zufallszahlengenerator auf Basis von Rauscheffekten erzeugen, was eine hohe Rechenleistung ermöglicht, um z.B. Wahrscheinlichkeits- oder Evolutionsstrategie-Modelle zu unterstützen.
Der KI-Gleitkomma-Arithmetik-Block unterstützt auch Sparse-Arithmetik-Gleitkommaoperationen. Graphcore bietet Bibliotheksunterstützung für verschiedene Sparse-Operationen, einschließlich Block- und Dynamic-Sparsity. Die Colossus Mk2 GC200 IPU bietet nicht nur während der Inferenz (Schlussfolgerung), sondern auch während des Trainings eine viel effizientere Berechnung von Sparse-Daten. Dies ermöglicht es, neue Arten komplexer Modelle zu erstellen, die mit viel weniger Parametern, kürzeren Trainingszeiten und viel weniger Energie eine höhere Rechenleistung bereitstellen können.
Graphcore-Nutzer können jetzt die Vorteile der Version 1.4 des Poplar SDK (Software-Entwicklungskits) nutzen, einschließlich vollständigem PyTorch-Support. PyTorch ist zum bevorzugten Framework für Entwickler geworden, die an neuester KI-Forschung arbeiten und gewinnt in der KI-Community zunehmend an Interesse. Neueste Daten von PapersWithCode belegen, dass 47 % der veröffentlichten Arbeiten mit zugehörigem Code das PyTorch-Framework verwenden (September 2020).
Durch die zusätzliche Unterstützung von PyTorch zusammen mit Poplars bereits bestehendem Support für TensorFlow kann die überwiegende Mehrheit der KI-Anwendungen jetzt problemlos auf Graphcore-Systemen zum Einsatz kommen. Wie bei anderen Elementen des Poplar-Stacks stellt Graphcore seine PyTorch-for-IPU Interface Library als Open-Source-Lösung bereit, damit die Community zu seiner Entwicklung beitragen und diese beschleunigen kann.
Graphcore hat ihre IPU-Systeme IPU-M2000 und IPU-POD64 gegen DGX-A100 GPU-Systeme von Nvidia einem Benchmarking unterzogen und dabei die Daten sowohl beim Training als auch bei der Inferenz gemessen (Graphcore Benchmarks wurden selbst ermittelt, Nvidia Benchmarks basieren auf veröffentlichten Daten):
Training:
Inferenz:
In den Benchmarks sind Ergebnisse für BERT-Large enthalten, ein Transformer-basiertes Verarbeitungsmodell für natürliche Sprache, das auf allen 64 Prozessoren des IPU-POD64 ausgeführt wird. Mit einer Trainingszeit, die 5,3-mal kürzer als die des neuesten Nvidia DGX-A100 ist (> 2,6-mal schneller als ein Dual-DGX-Setup), veranschaulicht das BERT-Large-Ergebnis die Leistungsfähigkeit des IPU-POD64 von Graphcore für Rechenzentren sowie die Leistungsfähigkeit des Poplar-Software-Stacks in der Verwaltung komplexer Workloads, die die Vorteile mehrerer parallel arbeitender Prozessoren nutzen.
Neben der Veröffentlichung umfassender Benchmarks für seine KI-Computing-Lösungen ist Graphcore »MLCommons«, dem neu gegründeten Kontrollgremium von MLPerf, beigetreten und wird
ab 2021 am vergleichenden Benchmarking-Prozess von MLCommons teilnehmen.
Eine Reihe von Systemen ist bereits in Rechenzentren installiert und in Betrieb. Mit der weltweiten Verfügbarkeit der IPU-M2000- und IPU-POD64-Systeme im Partnernetzwerk von Graphcore, gibt es sie in der DACH-Region u.a. bei Boston und Megware.