- Vier Faktoren, die es Nvidia ermöglicht haben, die GPU-Leistung in 10 Jahren um das 1000-Fache zu steigern
- Chief Scientist Bill Dally erklärte sie in einer einzigen Folie in seiner Keynote auf der IEEE Hot Chips 2023
Zahlenrepräsentation: 16x
- "Der größte Vorteil, den wir insgesamt erzielt haben, war die Verbesserung der Zahlenrepräsentation"
- Diese Zahlen beziehen sich auf die wichtigsten Parameter neuronaler Netze
- Einer dieser Parameter sind die Gewichte (Weights), ein anderer die Aktivierungen (Activations)
- Gewichte: die Stärke der Verbindungen zwischen den Neuronen eines Modells
- Aktivierungen: Dabei wird die Summe der Eingaben, auf die Gewichte angewendet wurden, multipliziert, um zu bestimmen, ob ein Neuron aktiviert wird, und die Information an die nächste Schicht weiterzugeben
- Nvidia-GPUs vor der P100 stellten solche Gewichte mit Single-Precision-Floating-Point-Zahlen dar
- Diese durch den IEEE-754-Standard definierten Zahlen sind 32 Bit lang: 23 Bit stehen für den Bruchteil, 8 Bit fungieren als Exponent für den Bruchteil und 1 Bit dient als Vorzeichen
- Forschende im Machine Learning stellten jedoch fest, dass sich in vielen Berechnungen weniger präzise Zahlen verwenden lassen und neuronale Netze dennoch weiterhin korrekte Antworten liefern können
- Wenn weniger Bits verarbeitet werden, lässt sich die Logik für die zentralen Berechnungen im Machine Learning (Multiplikation und Akkumulation) kleiner und effizienter gestalten
- Die für eine Multiplikation benötigte Energie ist proportional zum Quadrat der Bitzahl
- Deshalb halbierte Nvidia diese Zahl bei der P100 durch den Einsatz von FP16. Google brachte mit
bfloat16 auch eine eigene Version heraus
- Der Unterschied zwischen beiden liegt in der relativen Anzahl von Mantissenbits für die Präzision und Exponentenbits für den Wertebereich
bfloat16 hat die gleiche Anzahl an Exponentenbits wie FP32, was die Umwandlung zwischen den beiden Formaten erleichtert
- Die heutige High-End-GPU H100 kann mit 8-Bit-Zahlen bestimmte Teile großer Transformer-Netze wie ChatGPT und andere LLMs ausführen
- Nvidia stellte jedoch fest, dass dies keine One-size-fits-all-Lösung für alle Fälle ist
- So verwendet Nvidias Hopper-GPU-Architektur für Berechnungen tatsächlich zwei verschiedene FP8-Formate
- Eines bietet etwas höhere Präzision, das andere einen etwas größeren Wertebereich
- Nvidias besonderes Geheimnis ist, zu wissen, wann welches Format eingesetzt werden sollte
- Dally und sein Team haben viele spannende Ideen, um mit weniger Bits mehr AI herauszuholen
- Und es ist klar, dass Floating-Point-Systeme nicht ideal sind
- Eines der Hauptprobleme ist, dass die Floating-Point-Präzision ziemlich konstant bleibt, egal ob Zahlen groß oder klein sind
- Die Parameter neuronaler Netze verwenden jedoch keine großen Zahlen, sondern konzentrieren sich um 0
- Deshalb liegt der Fokus von Nvidias Forschung und Entwicklung darauf, effiziente Wege zu finden, Zahlen näher an 0 genauer darzustellen
Komplexe Instruktionen: 12,5x
- "Der Overhead für das Holen und Dekodieren von Instruktionen ist um ein Vielfaches höher als die Ausführung einfacher arithmetischer Operationen"
- Bei einer der Multiplikationen etwa verbraucht allein der Overhead das 20-Fache der 1,5 Picojoule, die die eigentliche Operation benötigt
- Nvidia erzielte große Gewinne, indem GPUs so entworfen wurden, dass sie große Berechnungen mit einer einzelnen Instruktion statt mit einer Befehlsfolge ausführen
- Es gibt zwar weiterhin Overhead, aber mit komplexen Instruktionen lassen sich die Kosten über mehr Mathematik amortisieren
- So beträgt der Overhead der komplexen Instruktion IMMA (integer matrix multiply and accumulate) nur 16 % der Energiekosten für die mathematische Berechnung
Moore’s Law: 2,5x
- Das Fortschreiten gemäß Moore’s Law aufrechtzuerhalten, erfordert Investitionen in Milliardenhöhe, äußerst komplexes Engineering und zahlreiche internationale Unsicherheiten
- Dennoch ist dies ein Teil des Leistungsanstiegs von Nvidias GPUs
- Nvidia hat konsequent die fortschrittlichsten Fertigungstechnologien genutzt
- Die H100 wird im N5-(5-Nanometer-)Prozess von TSMC gefertigt, und die Chip-Foundry begann erst Ende 2022 mit der frühen Produktion der nächsten Generation N3
Sparsity: 2x
- Nach dem Training bleiben in neuronalen Netzen viele Neuronen übrig, die von Anfang an nicht hätten existieren sollen
- Bei manchen neuronalen Netzen gilt: "Selbst wenn mehr als die Hälfte der Neuronen entfernt wird, kann die Genauigkeit erhalten bleiben"
- Die Gewichte dieser Neuronen sind 0 oder nahezu 0 und tragen daher nicht zur Ausgabe bei; sie in Berechnungen einzubeziehen ist nur Verschwendung von Zeit und Energie
- Solche Netze "sparse" zu machen, um die Rechenlast zu senken, ist eine knifflige Aufgabe
- Mit der A100, dem Vorgänger der H100, führte Nvidia jedoch eine Funktion ein, die das Unternehmen Structured Sparsity nennt
- Diese Hardware erzwingt, dass zwei von vier möglichen Bereinigungsereignissen auftreten, sodass eine neue, kleinere Matrixberechnung möglich wird
- "Das Sparsity-Problem ist noch nicht gelöst" "Wir müssen bei den Aktivierungen noch etwas tun, und auch bei den Gewichten ist noch stärkere Sparsity möglich"
6 Kommentare
Wow, vielen Dank für den tollen Artikel!
Ich habe es mit Interesse gelesen.
Wow, dann muss man die Aktie wohl weiter kaufen..
Ich habe 2018 ein paar Nvidia-Aktien als Spähtrupp gekauft, und jetzt liegen sie bei 1100 %. Ich hätte damals richtig groß einsteigen sollen. Schluchz
Wow..!
16 x 12.5 x 2.5 x 2 ergibt genau 1000.