GPU-Benchmark für Deep Learning

Wir trainieren ständig Sprachmodelle für unsere Arbeit. Unser Team verwendet Dutzende verschiedener Grafikkarten, die für unterschiedliche Aufgaben ausgewählt werden: In manchen Fällen benötigen wir eine leistungsstarke DGX-Station, in anderen Fällen reicht eine alte Gaming-Karte wie die RTX 2080Ti. Durch die Wahl der optimalen GPU-Konfiguration sparen Sie nicht nur Zeit, sondern auch Geld.

Interessant ist, dass es im Internet nur wenige Artikel mit GPU-Tests speziell für die Geschwindigkeit des Sprachmodelltrainings gibt. Meistens werden nur Inferenztests gefunden. Als der neue H100-Chip auf den Markt kam, hieß es im Bericht von NVidia, er sei beim Training bis zu neunmal schneller als der A100, aber für unsere Aufgaben war die neue Karte nur 90 % schneller als die alte. Im Vergleich dazu hatten unsere Cloud-Anbieter einen zweifachen Preisunterschied zwischen diesen GPUs, so dass es keinen Sinn hatte, auf die neue H100 zu wechseln, um Geld zu sparen.

Außerdem haben wir eine DGX-Station getestet, die aus 8 A100 80GB Grafikkarten besteht und 10 Tausend Dollar pro Monat kostet. Nach dem Test wurde klar, dass das Preis-/Leistungsverhältnis dieser Station überhaupt nicht zu uns passt und wir für dieses Geld 66 x RTX 3090 nehmen können, die insgesamt viel nützlicher sind.

Unsere Übersetzungssprachmodelle haben bis zu 500 Millionen Parameter (im Durchschnitt 100 bis 300 Millionen). Es ist möglich, dass das Preis-/Leistungsverhältnis von DGX besser wird, wenn wir die Anzahl der Parameter deutlich erhöhen. Derzeit trainieren wir keine großen Sprachmodelle, die zwischen allen Sprachen in allen Variationen auf einmal übersetzen können, sondern verwenden separate Sprachmodelle für jedes Sprachpaar, z. B. Englisch-Deutsch. Jedes dieser Modelle benötigt zwischen 120 und 300 MB.

Es ist erwähnenswert, dass für verschiedene Sprachen unterschiedliche Datenmengen im Internet zur Verfügung stehen. Während man zum Beispiel für Spanisch 500 Millionen Sätze mit Übersetzungen finden kann, sind es für Tibetisch nicht mehr als eine Million. Aus diesem Grund werden Modelle für verschiedene Sprachen mit einer unterschiedlichen Anzahl von Parametern trainiert, und das Ergebnis hat eine unterschiedliche Übersetzungsqualität. Für die Erstellung eines Übersetzungsmodells von Englisch nach Spanisch verwenden wir einen Server mit 4 x RTX 4500 und 256 GB RAM. Gleichzeitig kann die tibetische Sprache auf einer RTX 2080 Ti mit 16 GB RAM trainiert werden, da es keinen Sinn macht, die Komplexität des neuronalen Netzwerks zu erhöhen und folglich einen leistungsstärkeren Server mit einer geringen Datenmenge zu verwenden.

blog-img

Auswahl von Grafikprozessoren und theoretische Zahlen

Das Training des Sprachmodells fand auf unserer internen Data Studio Plattform unter Verwendung des OpenNMT-tf Frameworks statt. Diese Phase umfasste die Datenvorbereitung, das Modelltraining und den Modellvergleich mit einer Referenzübersetzung. Die Verwendung von FP16 anstelle von FP32 während des Trainings ermöglichte es uns, die Trainingszeit der Sprachmodelle erheblich zu reduzieren, ohne die Übersetzungsqualität zu beeinträchtigen.

Bei der Auswahl eines Grafikprozessors sind standardmäßig Kriterien wie Verarbeitungsleistung (TFLOPS), Videospeicher (VRAM), Bibliotheks- und Framework-Unterstützung, Budget und andere Faktoren (Größe und Formfaktor der Grafikkarte, Stromverbrauch, Kühlung und Kompatibilität mit Ihrem System) zu berücksichtigen. Beim Training von Textgenerierungsmodellen sollten Sie auch bedenken, dass verschiedene Sprachen unterschiedlich viele Ressourcen verbrauchen. So wird beispielsweise 1 Byte für die Kodierung eines Zeichens in lateinischen Sprachen verwendet, 2 Byte in kyrillischen Sprachen und 3 Byte in Sprachen mit Hieroglyphen. Die Eigenschaften Ihrer Grafikkarte haben einen erheblichen Einfluss auf die Geschwindigkeit des Lernprozesses.

Beim Training der Modelle in Bezug auf die verwendeten Grafikprozessoren wurden die Grafikkarten je nach Verwendungszeitraum in zwei Gruppen eingeteilt: frühe Grafikkarten, die für die ersten Messungen der Lerngeschwindigkeit verwendet wurden, und derzeit verwendete Karten. Die wichtigsten Merkmale dieser Grafikkarten sind in Tabelle 1 bzw. Tabelle 2 zu finden.

Table 1 - Bisher verwendete Grafikprozessoren und ihre technischen Parameter
 

Number of GPUsGPUVRAM, GCUDAFP16,
TFLOPS
FP32,
TFLOPS
1Tesla V100-SXM2HBM2, 167.031.3316.31
2Tesla V100-SXM2HBM2, 327.031.3315.67
1RTX 4060 TiGDDR6, 88.922.0622.06
1Nvidia A40GDDR6, 488.637.4237.42
2Nvidia A40GDDR6, 968.637.4237.42
1Nvidia A100HBM2, 408.077.9719.49
1Nvidia A100HBM2, 808.077.9719.49
1Nvidia RTX A6000GDDR6, 488.638.7138.71
1Nvidia A10GDDR6, 248.631.2431.24
8Nvidia A10GDDR6, 1928.631.2431.24
1Nvidia H100HBM3, 809.0204.951.22


Anmerkungen
1. Bei CUDA-Versionen über 7.0 führt die Verwendung von FP16 je nach CUDA-Version und den Eigenschaften der Grafikkarte zu einem Geschwindigkeitszuwachs beim Training.
2. Wenn die Spezifikation der Grafikkarte angibt, dass das Verhältnis von FP16 zu FP32 größer als 1 zu 1 ist, wird die Verwendung von gemischter Präzision die Trainingsgeschwindigkeit garantiert um den in der Spezifikation angegebenen Betrag erhöhen. Bei der Quadro RTX 6000 beispielsweise beschleunigt der FP16 TFLOPS-Wert von 32,62 (2:1) das Training um mindestens das Zweifache (in der Praxis das 2,4-Fache).

Table 2 - Derzeit verwendete GPU-Modelle und ihre wichtigsten Merkmale
 

Number of GPUs in useGPUVRAM, GCUDAFP16,
TFLOPS
FP32,
TFLOPS
1Quadro RTX 6000GDDR6, 247.532.6216.31
2Quadro RTX 6000GDDR6, 487.532.6216.31
4Quadro RTX 6000GDDR6, 967.532.6216.31
2Nvidia TITAN RTXGDDR6, 487.532.6216.31
4Nvidia RTX A4500GDDR6, 968.623.6523.65
1Nvidia GeForce RTX 3090GDDR6X, 248.635.5835.58
1Nvidia GeForce RTX 3070GDDR6, 88.620.3120.31

* - die Werte für FP16,TFLOPS und FP32,TFLOPS sind den Spezifikationen der einzelnen GPUs entnommen

GPU-Schulung und -Testverfahren

Die Modelle wurden mit einem Satz von 18 GPUs trainiert. Beim Training des neuronalen Netzes haben wir zahlreiche Sprachpaare (mehr als hundert Sprachen) verwendet. Beim Training unserer Sprachpaare wurden die folgenden Parameter des neuronalen Netzes zugrunde gelegt:
 

  • Vokabelumfang = 30 000
  • NumUnits = 768
  • Schichten = 6
  • Köpfe = 16
  • innere Abmessung = 4 096


Zunächst wollen wir die GPUs der ersten Gruppe anhand von Tabelle 1 charakterisieren. Die Zeit in Minuten und Sekunden, die für das Training des Modells bei einer ungefähren Geschwindigkeit von 1.000 Schritten und einem Vielfachen der Stapelgröße von 100.000 Einheiten aufgewendet wurde, wird als Grundlage für den Vergleich der Indikatoren herangezogen.

Wir betonen, dass die Geschwindigkeitsmessungen für die erste Gruppe unter Verwendung des Ausrichtungsmechanismus und nur mit FP32 durchgeführt wurden. Ohne diesen Mechanismus kann die Lerngeschwindigkeit auf einigen Servern viel schneller sein.

Der Alignment-Mechanismus ermöglicht den Abgleich von Teilstrings im Basistext und im übersetzten Text. Er wird benötigt, um formatierten Text, wie z. B. Webseiten, zu übersetzen, wenn eine Teilzeichenkette in einem Satz in einer anderen Schriftart hervorgehoben sein kann und mit der Hervorhebung übersetzt werden soll.

Unter Berücksichtigung der oben genannten Parameter des neuronalen Netzes, die beste Zeit aus der ersten Tabelle wurde von der GPU Nvidia H100 mit einer Lernzeit von 22 Minuten gezeigt, und die mittlere Zeit wurde von der GPU der gleichen Marke GeForce RTX 4060 Ti mit einer Lernzeit von 72 Minuten gezeigt und der letzte Platz wurde von der GPU Tesla V100-SXM 2 mit einer Lernzeit von 140 Minuten genommen.

Es gab auch acht Nvidia A10-Karten im GPU-Test mit einer Lernkurve von 20 Minuten und 28 Sekunden, zwei Nvidia A40-Karten mit einer Zeit von 56 Minuten und zwei Tesla V100-SXM-Karten, die eine Zeit von 86 Minuten erreichten. Der gleichzeitige Einsatz mehrerer Karten derselben GPU-Serie kann den Lernprozess der Modelle beschleunigen und mit GPUs mit höherer Kapazität fast die gleiche Zeit erreichen, aber eine solche Technik ist möglicherweise finanziell und verfahrenstechnisch nicht sinnvoll genug. Die Ergebnisse der Messungen der Lerngeschwindigkeit können in Tabelle 3 eingesehen werden.

Table 3 - Trainingszeitmessungen für die zuvor verwendeten grafischen Karten
 

Using the alignment mechanism
Effective batch size = 100 000
FP 32
Number of GPUs in useGPUApproximate speed (min. sec),
1,000 steps
Batch size in use
8Nvidia A1020,286 250
1Nvidia H1002225 000
1A100 (80 Gb)4025 000
1A100 (40 Gb)5615 000
2Nvidia A405612 500
1RTX A600068,2512 500
1GeForce RTX 4060 Ti724 167
1Nvidia A4082,0812 500
2Tesla V100-SXM864 167
1Nvidia A10104,505 000
1Tesla V100-SXM21404 167


Als Nächstes wollen wir eine vergleichende Analyse der derzeit verwendeten Grafikprozessoren durchführen (Tabelle 2). Für diese Gruppe von Grafikprozessoren wurden Geschwindigkeitsmessungen mit dem Ausrichtungsmechanismus sowie mit FP16 und FP32 durchgeführt. Die Geschwindigkeitsmessungen mit diesem Mechanismus und mit gemischter Präzision werden in den Tabellen 4 bzw. 5 dargestellt.

Nachdem wir also die Geschwindigkeit der GPUs in dieser Tabelle gemessen haben, können wir sagen, dass der erste Platz von der RTX A4500 GPU mit einer Trainingszeit von 31 Minuten belegt wurde, aber es sollte betont werden, dass eine solche Geschwindigkeit der Trainingsmodelle durch die Erhöhung der Anzahl der Einheiten der verwendeten GPU bis zu 4 erreicht wurde. Ungeachtet dieser Tatsache wird die Trainingsgeschwindigkeit der oben genannten GPU viel höher sein, was sie in der Abschlusstabelle auf den vorletzten Platz bringen wird.

Die Quadro RTX 6000 Serie GPU liegt mit einer Lernzeit von 47 Minuten an zweiter Stelle. Es ist anzumerken, dass eine solche Lerngeschwindigkeit umgekehrt von der Anzahl der Einheiten des verwendeten Prozessors abhängt, die gleich vier ist. Die Verwendung nur eines solchen Grafikprozessors würde zu einem Geschwindigkeitsverlust von etwa 3,2 Mal führen und folglich etwa 153 Minuten betragen, was den letzten Platz bedeuten würde.

Den dritten Platz belegte der Grafikprozessor der TITAN RTX-Serie mit einer Zeit von 75 Minuten und 85 Sekunden. Dieser Wert für die Lerngeschwindigkeit ist auf die Verwendung von 2 Prozessoren zurückzuführen, die die Trainingszeit des Modells reduzierten.

Der unbestrittene Spitzenreiter in Bezug auf die Trainingsgeschwindigkeit bei der Anzahl der Einheiten ist definitiv der Grafikprozessor der GeForce RTX 3090-Serie mit einer Zeit von 78 Minuten und 26 Sekunden. Eine Erhöhung der Anzahl der Einheiten dieser GPU wird die Trainingsgeschwindigkeit des Modells beschleunigen, wodurch alle oben genannten GPU-Modelle deutlich überholt werden. Die Daten zur Messung der Modelltrainingszeit sind in Tabelle 4 zu sehen.

Table 4 - Vergleichende Analyse der Trainingsgeschwindigkeit von Sprachmodellen auf zuvor verwendeten GPUs
 

Using the alignment mechanism
Effective batch size = 100 000
FP 32
Number of GPUs in useGPUApproximate speed (min. sec),
1,000 steps
Batch size in use
4Nvidia RTX A4500315 000
4Quadro RTX 6000476 250
2Nvidia TITAN RTX75,856 250
1GeForce RTX 309078,266 250
2Quadro RTX 6000886 250
1GeForce RTX 3070104,172 000
1Quadro RTX 60001536 250


Die folgenden Messungen der Trainingsgeschwindigkeit wurden mit FP16 durchgeführt. Im Vergleich zu FP32 ermöglicht die Halbpräzision eine Verringerung des während des Modelltrainings verbrauchten Speichers und eine Beschleunigung der Berechnungen auf der GPU. Die Genauigkeit der Darstellung ist jedoch geringer als bei der Verwendung von FP32.

Wenn wir die Trainingszeit der Modelle mit FP32 aus der vorherigen Tabelle messen, können wir sagen, dass die Trainingszeit des neuronalen Netzes um fast das Doppelte reduziert wurde. Anhand der Ergebnisse der Leistungsmessung können wir feststellen, dass sich die Positionen der GPUs in Tabelle 4 nicht wesentlich verändert haben. Die Karte der Quadro RTX 6000 Serie rückte vom fünften auf den sechsten Platz vor und schlug die GeForce RTX 3090 GPU um 96 Sekunden. Die endgültigen Zahlen sind in Tabelle 5 aufgeführt.

Table 5 - Vergleichende Analyse der Trainingsgeschwindigkeit von Sprachmodellen auf zuvor verwendeten GPUs
 

Using the alignment mechanism
Effective batch size = 100 000
FP 16
Number of GPUs in useGPUApproximate speed (min. sec),
1,000 steps
Batch size in use
4Nvidia RTX A450015,8110 000
4Quadro RTX 600020,3412 500
2Nvidia TITAN RTX32,686 250
2Quadro RTX 600037,9310 000
1GeForce RTX 309038,8910 000
1GeForce RTX 307048,512 500
1Quadro RTX 600052,5610 000

FAQ

Welche GPU für Machine Learning?

GeForce RTX 3080/3090 oder RTX A6000 sind gut geeignet. Sie bieten hohe Leistung und ausreichend Speicher für Machine Learning Aufgaben.

Welche Grafikkarte für Künstliche Intelligenz?

NVIDIA A100 oder RTX 4090 sind ideal. Sie haben große Rechenleistung und Speicher, что полезно для сложных KI-Modelлей.

Warum GPU für KI?

Der Grafikprozessor (GPU) ist aufgrund seiner Architektur, die paralleles Rechnen ermöglicht, effizient für KI-Aufgaben. Im Gegensatz zur CPU (Central Processing Unit), die besser für sequenzielle Aufgaben geeignet ist, kann die GPU mehrere Daten gleichzeitig verarbeiten, was das Training und die Ausgabe von maschinellen Lern- und KI-Modellen beschleunigt.

Wie viel GPU für Deep Learning?

Für Deep Learning sind leistungsstarke GPUs wie die RTX 3080/3090 oder A100 empfehlenswert. Diese GPUs bieten ausreichend Rechenleistung und Speicher, um große und komplexe Deep Learning Modelle effizient zu trainieren. Die Wahl hängt von der Größe des Modells und der Datenmenge ab, da größere Modelle und Datenmengen mehr GPU-Ressourcen erfordern.

Weitere faszinierende Lektüren warten

Text-to-Speech für Callcenter

Text-to-Speech für Callcenter

January 8, 2025

KI-basierte Inhaltserstellung vs. menschliche Autoren: Die richtige Balance finden

KI-basierte Inhaltserstellung vs. menschliche Autoren: Die richtige Balance finden

December 18, 2024

Warum jedes Unternehmen im Jahr 2025 einen KI-Content-Generator braucht

Warum jedes Unternehmen im Jahr 2025 einen KI-Content-Generator braucht

December 17, 2024

Support kontaktieren

* Pflichtfelder

Mit dem Absenden dieses Formulars erkläre ich mich damit einverstanden, dass die Nutzung der von mir erhaltenen Dienste und der von mir bereitgestellten personenbezogenen Daten den Servicebedingungen und der Datenschutzrichtlinie unterliegt.

E-Mail

Vollendet

Ihre Anfrage wurde erfolgreich versendet

×