Ich habe mich gewundert, was die Schautafeln von ARM eigentlich darstellen sollen.
- Ampere Altra und Amazons Graviton3 basieren auf Neoverse V1.
- NeoVerse V1 wird doppelt so hoch dargestellt wie Traditionell (x86-64). Entgegen der bisherigen Benchmarks !einself!
- Neoverse V2 (Grace Hopper Superchip) bleibt etwa auf Höhe von V1.
- Warum wird BFLOAT16 und INT8 hervorgehoben?
Lösung:
ARMs Benchmark bezieht sich auf einen einzelnen Spezialfall.
Dieser Spezialfall wurde in MatLab dargestellt.
Es geht um die Frage, wie bei DeepLearning (MachineLearning et al) der Berg an Daten reduziert werden kann, der durch die Erfassung immer anfällt.
Kompression fällt raus, da die Daten verarbeitet werden.
Der Ansatz lautet:
Reduktion der Abbildung von reellen Zahlen (u.a. Fließkommazahlen z.B. 0,004638672).
Es wird nur der relevante Wertebereich betrachtet (liegt im Beispiel von ARM zwischen 2^-3 und 2^-12).
0,004638672 / 2^-12 = 19
So wird aus einem 32/64bit Wert ein 8bit Integerwert mit einem 12bit Skalierungsfaktor.
Der INT8 Wert (hier die 19) wird im Convolution Layer oder der Quantisierungsmatrix zu Darstellung gespeichert.
Eine solche Matrix aus 8bit Werten ist deutlich kleiner als die gleiche Darstellung mit 32 oder 64bit Float.
Inwiefern hilft das?
Bei der Quantisierung entsteht Rauschen, also Werte die ermittelt wurden aber nicht benötigt werden. Die Reduzierung auf die wichtigen Werte verkürzt die Rechenzeit und senkt den Speicherbedarf.
JEDER Prozessor kann diese Berechnung durchführen. Das ist nicht "ARM only".
Es handelt sich um eine extreme eingegrenzte Anwendung, denn:
- Es gibt keinen generischen Skalierungsfaktor.
- Wie verhält es sich mit Skalierungsfaktoren > 2^-16 ??
- Der Skalierungsfaktor muss für jeden Fall neu bestimmt werden.
- Dieser Aufwand ist größer als die Einsparung bei Verwendung von INT8.
- Bis zur Reduktion auf INT8 muss mit FLOAT32 oder höher das Trainingsmaterial erfasst werden sonst kann der optimale Wertebereich nicht errechnet werden.
- Hat man die Hürde genommen, reduziert sich die Menge der Daten auf ein Viertel. Das spart Speicher und Rechenzeit.
Sieht man sich nochmal den Abstand von Grace Hopper zu AWS Graviton3 an, dann wird der eigentliche Zuwachs etwa korrekt dargestellt. Grace Hopper kommt mit einer Masse an FP32/64 Einheiten. Ohne diese Beschleuniger fällt Neoverse V2 nochmal zurück.
Schlußwort:
Ich muss jetzt ehrlich sagen, dass mich diese Harry-Potter-Diagramme von ARM ankotzen. So dummdreist geht nicht einmal Intel vor, und die waren bisher der ungekrönte König der irreführenden Diagramme.