Werbung
Die MLCommons haben pünktlich zur ISC 21 die Ergebnisse des MLPerf Training in der Version 1.0 veröffentlicht. Für diese neueste Version der Benchmark-Ergebnisse wurden einige Prozesse in der Teilnahme geändert, sodass es für Unternehmen einfacher werden soll, daran teilzunehmen.
So wurden die bisher verwendeten Übersetzungs-Benchmarks GNMT und Transformer aus der Wertung genommen. Auf der anderen Seite wurde mit RNNT eine Text-to-Speech-Awendung aufgenommen. Ebenfalls neu ist eine Bilderkennung von Tumoren in medizinischen Aufnahmen – 3D-UNet. Mit diesen beiden neuen Benchmarks wird der bestehende Testparcours (ImageNet - ResNet, COCO SSD, COCO Mask R-CNN, BERT, DLRM und Minigo) laut Aussage von MLCommons und der partizipierenden Unternehmen sinnvoll ergänzt.
Zusätzlich hat MLCommons mit Gigabyte, Graphcore, Habana Labs, Lenovo, Nettrix, PCL & PKU und Supermicro weitere Teilnehmer am Trainings-Parcours zu vermelden. Damit erhöht sich auch die Anzahl der Ergebnisse von 138 für das Training 0.7 auf nun mehr als 650. Dies erlaubt natürlich auch eine bessere Vergleichbarkeit der Ergebnisse.
Die teilnehmenden Unternehmen haben Systeme mit AMDs EPYC-Prozessoren (Rome und Milan) und Intels Cooper Lake Xeon-Prozessoren eingereicht. Entscheidender aber sind die verwendeten Beschleunigerkarte. Hier kamen fast ausschließlich die A100-Beschleuniger von NVIDIA zum Einsatz – mal als SXM, mal als PCIe-Variante in den unterschiedlichsten TDP-Konfigurationen. Die Systeme skalieren dabei von 2 bis 1.728 Prozessoren. Hinsichtlich der Hardwarebeschleuniger hat zum Beispiel NVIDIA ein System mit 4.096 A100-Karten eingereicht. Google brachte 1.728 EPYC-Prozessoren und 3.456 TPUs an den Start.
Für Google und NVIDIA ist die Demonstration der Skalierung von Hard- und Software wichtig, denn man will Hyperscaler damit ausstatten oder im Falle von Google eigene Anwendungen darauf auslegen. Dauert das Training (je nach Modell) mit zwei Prozessoren und vier GPU-Beschleunigern mehrere Minuten bis zu einer Stunde, wird das gleiche ML-Modell auf solchen hochskalierten Systemen in 30 s oder einer noch kürzeren Zeit erledigt. Die ML-Modelle werden aber auch immer komplexer, haben teilweise bis zu 4 Billionen Parameter, so dass ein Training auch Tage und Wochen dauern kann. Hier sind hochskalierte Systeme mit mehreren tausend Prozessoren und Beschleunigern von besonderer Bedeutung, da eine Reduzierung der Rechendauer um die Hälfte einen großen Einfluss auf den Umgang mit diesen Daten hat.
Die aktuellen Ergebnisse für MLPerf Training 1.0 können hier abgerufen werden.
Google bringt seine TPUv4 an den Start
Bei Google arbeitet man derzeit an der Validierung der hauseigenen TPUv4. Diese neueste Generation der Tensor Processing Units sind in einer speziellen Variante für das Inferencing ausgelegt, kommen hier aber in einer Trainings-Variante zum Einsatz. NVIDIA ist der Branchenprimus und dementsprechend vergleichen sich die Hersteller auch untereinander zumeist gegen den A100-Beschleuniger.
In vier von sechs Benchmarks der MLPerf-Suite sieht sich Google vor NVIDIA. Stolz ist man bei Google aber auch über die Verbesserungen der Leistung gegenüber MLPerf Training 0.7, wo man noch mit dem TPUv3 teilgenommen hat.
Google will die TPUv4 Pods in Kürze seinen Kunden zugänglich machen. Ein TPUv4 Pod setzt 4.096 der speziellen ASICs ein und kommt auf eine Spitzenleistung von 1,1 ExaFLOPS für ML-Anwendungen.
Graphcore greift NVIDIA an
Einer der neuen Hersteller in den Trainings-Ergebnissen ist auch Graphcore. Im Sommer 2020 stellte das britische Unternehmen die Colossus Mk2 GC200 IPU vor. Bei der IPU handelt es sich um eine Intelligence Processing Unit, die in 7 nm bei TSMC gefertigt wird. Der Chip besteht aus 59,4 Milliarden Transistoren auf einer Fläche von 823 mm² und ist damit in etwa mit NVIDIAs GA100 vergleichbar. Der Prozessor besitzt 1.472 sogenannten IPU-Cores, die wiederum 8.832 separate Compute-Threads verarbeiten können. Hinzu kommen 900 MB an SRAM.
Die IPUs sind auf die Berechnungen eines eigenen Datenformats optimiert. Graphcore nennt dies AI-Float und es wird versucht, alle Berechnungen nicht größer als 16 Bit werden zu lassen, um möglichst effektiv zu arbeiten. Die Recheneinheiten unterstützen außerdem FP32, FP16.32 (16 Bit Multiply mit 32 Bit Accumulate) und FP16.16 (16 Bit Multiply und Accumulate). Wie die Recheneinheiten der GA100-GPU von NVIDIA unterstützen die IPU-Cores Sparsity/Sparse Matrix oder die dünnbesetzte/schwachbesetzte Matrizen. Besteht eine Matrix aus sehr vielen mit Nullen besetzten Einträgen, können über verschiedene Techniken diese Bereiche in der Berechnung und Speicherung effizienter genutzt werden.
Nun sind die Hardware-Versprechungen der eine Punkt, dank der MLPerf-Ergebnisse will Graphcore aber auch in Sachen Preis/Leistung der etablierten Konkurrenz vors Schienbein treten. So soll der IPU-POD16 mit 16 Colossus Mk2 GC200 im Preis/Leistungsverhältnis um 60 % schneller sein, als eine DGX Station A100. Diese kostet 299.000 US-Dollar, der IPU-POD16 aber "nur" 149.995 US-Dollar. Im BERT-Test sind es nur noch 30 %, aber noch immer hat man hier die Nase vorne.
In einem nächsten Schritt will Graphcore die Skalierung seiner Systeme über 64 Colossus Mk2 GC200 hinaus vorantreiben. Mit Konfigurationen mit mehreren tausend GC2000 erreicht man dann auch Rechenleistung mit niedrigen Genauigkeiten, die von NVIDIA Google propagiert werden und die deutlich über einem ExaFLOP liegen.