深層学習の gpu ベンチマーク

私たちは仕事のために言語モデルを常にトレーニングしています。私たちのチームは、さまざまなタスクのために選択された数十の異なるビデオ カードを使用します。どこかに強力な DGX ステーションが必要であり、どこかに RTX 2080Ti などの古いゲーム カードがあれば十分です。モデル トレーニングに最適な GPU を選択すると、プロセスの速度と費用対効果の両方に大きな影響を与える可能性があります。

興味深いのは、インターネット上には機械学習用の GPU 比較に関する記事がかなりたくさんありますが、言語モデルのトレーニング用の速度に焦点を当てた記事はほとんどないことです。ほとんどの場合、推論テストのみが見つかります。新しい H100 チップがリリースされたとき、NVidia のレポートには、トレーニングでは A100 の最大 9 倍高速であると記載されていましたが、私たちのタスクでは、新しいカードは古いカードよりわずか 90% 高速でした。比較すると、当社のクラウド プロバイダーはこれらの GPU 間に 2 倍の価格差があったため、コストを節約するために新しい H100 に切り替える意味はありませんでした。

それに加えて、80GB のグラフィックス カード A100 8 枚で構成され、月額 10,000 ドルの DGX ステーションをテストしました。テストの結果、このステーションの価格/性能比がまったく合わないことが明らかになり、このお金で 66 x RTX 3090 を摂取でき、合計するとはるかに便利になります。

当社の翻訳言語モデルには、最大 5 億のパラメーター(平均 1 億から 3 億)があります。パラメータの数を大幅に増やすと、DGX の価格/性能比が向上する可能性があります。現在、すべてのバリエーションのすべての言語間で一度に翻訳できる大規模な言語モデルをトレーニングしているわけではありませんが、言語ペアごとに個別の言語モデルを使用しています。英語-ドイツ語。このようなモデルのそれぞれには 120 ~ 300 Mb がかかります。

言語が異なれば、インターネット上のデータ量も異なることは注目に値します。たとえば、スペイン語の場合、翻訳付きの文が 5 億件見つかりますが、チベット語などの珍しい言語のモデルをトレーニングする場合は、利用可能なデータに基づいて機械学習タスクの特定の GPU を選択する必要があります。英語からスペイン語への翻訳モデルを作成するには、4 x RTX 4500 および 256GB RAM を搭載したサーバーを使用します。同時に、ニューラルネットワークの複雑さを増し、その結果、少量のデータを持つより強力なサーバーを取ることは意味がないため、チベット語は16GB RAMを備えたRTX 2080 Tiでトレーニングできます。

グラフィックスプロセッサと理論上の図の選択

言語モデルのトレーニングは、OpenNMT-tf フレームワークを使用して社内 Data Studio プラットフォームで行われました。このフェーズには、データの準備、モデルのトレーニング、参照翻訳とのモデルの比較が含まれます。トレーニング中に FP32 ではなく FP16 を使用すると、翻訳品質を低下させることなく言語モデルのトレーニング時間を大幅に短縮できましたが、すべての GPU がそれをサポートしているわけではありません。

グラフィックス プロセッサを選択するときは、処理能力(TFLOPS)、ビデオ メモリ(VRAM)、GPU ベンチマークの結果、ライブラリとフレームワークのサポート、予算、その他の要素(グラフィックス カードのサイズとフォーム ファクタ、電力要件)などの指標を考慮することが標準です。、冷却、システムとの互換性)。テキスト生成モデルをトレーニングするときは、言語が異なれば消費するリソースの量も異なることにも留意する必要があります。たとえば、1 バイトはラテン語の場合は 1 文字、キリル文字の場合は 2 バイト、象形文字を含む言語の場合は 3 バイトをエンコードするために使用されます。グラフィック カードがどのような特性を持つかを理解することは、学習プロセスの速度に大きな影響を与えます。

使用する GPU に関してモデルをトレーニングする場合、ビデオ カードは使用期間に応じて 2 つのグループに分けられました。学習速度の最初の測定に使用される初期のビデオ カードと、現在使用されているカードです。これらのグラフィックス カードの主な特徴は、それぞれ表 1 と表 2 にあります。

表 1 - 以前に使用されていたグラフィックス プロセッサとその技術パラメータ
 

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


備考
1 を取得します。CUDA が 7。0 を超えると、CUDA バージョンとグラフィックス カード自体の特性に応じて、FP16 を使用するとトレーニング速度が向上します。
2 に準拠している。グラフィックス カードの仕様で、FP16 ~ FP32 のパフォーマンス比が 1 ~ 1 より大きいことが示されている場合、混合精度を使用すると、仕様で指定された量だけトレーニング速度が向上することが保証されます。たとえば、Quadro RTX 6000 の場合、FP16 TFLOPS 値 32。62 (2:1) により、ワークアウトが少なくとも 2 倍(実際には 2。4 倍)高速化されます

表 2 - 現在使用されている GPU モデルとその主な特徴
 

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

* - FP16,TFLOPS および FP32,TFLOPS の値は GPU ごとの仕様から取得しています

GPUのトレーニングとテストのプロセス

モデルは 18 個の GPU セットを使用してトレーニングされました。ニューラル ネットワーク トレーニングの過程で、私たちは多数の言語ペア (100 以上の言語)を使用しました。GPU テストは、どのハードウェアが特定のタスクに最も適しているかを特定するのに役立ちました。私たちの言語ペアのトレーニング中に、次のニューラルネットワークパラメータが基礎として採用されました:
 

  • vocab サイズ = 30 000
  • numunits = 768
  • レイヤー = 6
  • heads = 16
  • 内寸 = 4 096


まず、表 1 に基づいて、最初のグループに属する GPU の特徴を説明します。インジケーターを比較するための基礎として、およそ 1,000 ステップの速度とバッチ サイズ倍数 100,000 単位でモデルのトレーニングに費やされた分と秒の時間が採用されます。

最初のグループでは、速度測定が を使用して実行されたことを強調します アライメント メカニズムと使用のみ FP32 さん。このメカニズムを使用しないと、一部のサーバーでの学習速度がはるかに速くなる可能性があります。

位置合わせメカニズムにより、ベース内の部分文字列と翻訳されたテキストを一致させることができます。Web ページなどのフォーマットされたテキストを翻訳するには、文内の部分文字列が別のフォントで強調表示され、強調表示とともに翻訳する必要がある場合に必要です。

ニューラルネットワークの上記のパラメータを考慮して、最初のテーブルからの最良の時間は、22 分の学習時間でGPU Nvidia H100 によって示された、 そして、中間タイムは同じブランド GeForce RTX 4060 Ti の GPU によって学習時間 72 分で示され、最後は GPU Tesla V100-SXM 2 によって学習時間 140 分で示されました。

GPU テストには、学習曲線が 20 分 28 秒の Nvidia A10 カードが 8 枚、タイムが 56 分の Nvidia A40 カードが 2 枚、86 分でクロックインした Tesla V100-SXM カードが 2 枚ありました。同じシリーズの GPU の複数のカードを同時に適用すると、モデルのトレーニング プロセスがスピードアップし、より高い容量を持つ GPU でほぼ同時に表示できますが、このような手法は財政的にも手続き的にも十分に合理的ではない可能性があります。学習速度測定の結果を表 3 に示します。

表 3 - 以前に使用したグラフィカル マップでのトレーニング時間の測定値
 

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


次に、現在使用されているグラフィックス ガスペダルの比較分析を実行してみましょう(表 2)。このグループのグラフィックス プロセッサでは、を使用して速度測定が実行されました アライメント メカニズム、FP16とFP32の使用。このメカニズムと混合精度を含む速度測定値を、それぞれ以下の表 4 と表 5 に示します。

したがって、この表から GPU の速度を測定すると、1 位はトレーニング時間 31 分の RTX A4500 シリーズ GPU であると言えますが、このようなトレーニング モデルの速度は、使用済み GPU のユニット数を最大 4 まで増やすことによって得られることを強調しておく必要があります。この事実を無視すると、前述の GPU のトレーニング速度ははるかに速くなり、最終テーブルの最後から 2 番目の位置に配置されます。

学習時間 47 分の Quadro RTX 6000 シリーズ GPU が 2 位です。このようなトレーニング速度は、使用されるプロセッサのユニット数 (4 に等しい)によって逆方向に調整されることに注意してください。このような GPU を 1 つだけ使用すると、速度損失は約 3。2 倍になり、その結果、速度損失は約 153 分となり、最下位になります。

3行目はTITAN RTXシリーズGPUが75分85秒で行いました。この学習速度スコアは 2 つのプロセッサを使用しているため、モデルのトレーニング時間が短縮されました。

1 ユニット数におけるトレーニング速度の点で疑いの余地のないリーダーは、間違いなく 78 分 26 秒の GeForce RTX 3090 シリーズ GPU です。この GPU のユニット数を増やすと、モデルのトレーニング速度が加速され、上記のすべての GPU モデルを明らかに追い越すことになります。モデルのトレーニング時間測定に関するデータを表 4 に示します。

表 4 - 以前に使用された GPU での言語モデルのトレーニング速度の比較分析
 

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


以下のトレーニング速度測定は FP16 を使用して実行されました。FP32 と比較して、半精度により、モデルのトレーニング中に消費されるメモリ量を削減し、GPU での計算を加速できます。表現の精度はFP32を使用した場合よりも低くなります。

前の表の FP32 を使用してモデルのトレーニング時間を測定すると、ニューラル ネットワークのトレーニング時間がほぼ 2 倍短縮されたと言えます。パフォーマンス測定結果に基づいて、表 4 の機械学習 GPU ベンチマークから、GPU の位置がほとんど変わっていないことがわかります。Quadro RTX 6000 シリーズ カードは 5 位から 6 位に上昇し、GeForce RTX 3090 GPU を 96 秒上回りました。最終的な数値を表 5 に示します。

表 5 - 以前に使用された GPU での言語モデルのトレーニング速度の比較分析
 

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)

深層学習のためにGPUを購入する価値がありますか?

ディープラーニング用の GPU を購入すると、トレーニングの速度と効率が大幅に向上するため、本格的なプロジェクトには価値のある投資となります。ただし、決定では、予算、特定のユースケース、クラウド ソリューションの方が費用対効果が高いかどうかなどの要素を考慮する必要があります。

ディープラーニングに最適なGPUはどれですか?

NVIDIA A100 はディープラーニングの最上位選択肢とみなされ、大型モデルに優れたパフォーマンスとメモリを提供します。予算を重視するユーザー向けに、NVIDIA RTX 3090 はモデルを効果的にトレーニングするための強力な機能を提供します。

深層学習には AMD と NVIDIA のどちらが適していますか?

NVIDIA は、パフォーマンスと一般的なフレームワークとの互換性を高める堅牢なソフトウェア エコシステムにより、一般にディープ ラーニングに好まれます。AMD GPU は改善されましたが、ディープラーニング アプリケーションの最適化とサポートの点では依然として NVIDIA に遅れをとっています。

GPUはNLPに役立ちますか?

はい、GPU は並列計算を効率的に処理することで、自然言語処理(NLP)におけるニューラル ネットワーク トレーニングを大幅に高速化します。この速度向上により、実験と反復がより高速になり、モデルのパフォーマンスが向上し、トレーニング時間が短縮されます。

さらに魅力的な読書が待っています

オンプレミス音声認識とは何ですか?

オンプレミス音声認識とは何ですか?

September 19, 2024

翻訳システムにおける統計的重要性の評価

翻訳システムにおける統計的重要性の評価

September 10, 2024

マーケティングにおける音声認識

マーケティングにおける音声認識

August 23, 2024

お問い合わせ

0/250
* 必須フィールドを示します

お客様のプライバシーは当社にとって最も重要であり、お客様のデータは連絡目的にのみ使用されます。

メール

完了

リクエストは正常に送信されました

× 
Customize Consent Preferences

We use cookies to help you navigate efficiently and perform certain functions. You will find detailed information about all cookies under each consent category below.

The cookies that are categorized as "Necessary" are stored on your browser as they are essential for enabling the basic functionalities of the site.

We also use third-party cookies that help us analyze how you use this website, store your preferences, and provide the content and advertisements that are relevant to you. These cookies will only be stored in your browser with your prior consent.

You can choose to enable or disable some or all of these cookies but disabling some of them may affect your browsing experience.

Always Active

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

No cookies to display.

Always Active

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

No cookies to display.

Always Active

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

No cookies to display.

Always Active

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

No cookies to display.

Always Active

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

No cookies to display.