ディープラーニング GPU の最も包括的な比較: コスト パフォーマンスの点で最も優れているのはどれですか?

ディープラーニング GPU の最も包括的な比較: コスト パフォーマンスの点で最も優れているのはどれですか?

AI に関して言えば、「GPU の混乱」を感じない人はいないでしょう。

Tensor コア、メモリ帯域幅、16 ビット機能... さまざまな複雑な GPU パラメータが目を見張るほどありますが、どのように選択すればよいのでしょうか?

1,000 元未満の 1050 Ti から 30,000 元近くの Titan V まで、GPU の価格帯は非常に幅広いです。どの価格帯から始めればよいでしょうか?コストパフォーマンスの王者は誰でしょうか?

GPU の最適な選択は、実行するタスクによって異なります。コンピューター ビジョンと NLP では異なります。

さらに、クラウドベースの TPU と GPU を使用することは可能ですか?より多くのコストを節約するために、ローカル GPU を使用してタスクを処理するときにリソースをどのように割り当てればよいでしょうか?

最も適したAIアクセラレーション機器は何ですか?

今回、あなたに最適なギアを見つける手助けとなるよう、ワシントン大学の博士課程の学生 Tim Dettmers が、最新のモデルとハードウェアを考慮した比較を実用的なガイドにまとめました。

数多くある GPU の中で、どれが際立つでしょうか?評価後すぐに公開されます。

記事の最後には、GPU 購入に関する推奨事項の特に簡潔なリストもありますので、ぜひご覧ください。

最も重要なパラメータ

ディープラーニングのアーキテクチャによって、GPU パラメータ選択の優先順位は異なります。一般的には、次の 2 つの方法があります。

畳み込みネットワークとトランスフォーマー: テンソル コア > FLOP (1 秒あたりの浮動小数点演算) > メモリ帯域幅 > 16 ビット浮動小数点演算能力

リカレントニューラルネットワーク: メモリ帯域幅 > 16 ビット浮動小数点演算能力 > Tensor コア > FLOP

このソートの背後にはロジックがあり、以下で詳しく説明します。

どの GPU パラメータが速度にとって特に重要であるかを説明する前に、最も重要な 2 つのテンソル演算、行列乗算と畳み込みについて見てみましょう。

たとえば、行列乗算 A×B=C を例にとると、A と B をビデオ メモリにコピーする方が、A×B を直接計算するよりも多くのリソースを消費します。つまり、多数の小さな行列乗算を処理する LSTM などの再帰型ニューラル ネットワークを使用する場合、メモリ帯域幅は GPU の最も重要な属性です。

行列乗算が小さくなるほど、メモリ帯域幅が重要になります。

対照的に、畳み込み演算は計算速度によってより制約されます。したがって、ResNet などの畳み込みアーキテクチャを実行する GPU のパフォーマンスを測定するには、FLOP が最適な指標となります。 Tensor コアは FLOP を大幅に増加させることができます。

Transformer で使用される大規模な行列乗算は、畳み込み演算と RNN の小規模な行列乗算の中間です。16 ビット ストレージ、テンソル コア、TFLOP はすべて大規模な行列乗算に適していますが、それでも大きなメモリ帯域幅が必要です。

Tensor コアを活用したい場合は、32 ビット操作に RTX グラフィック カードを使用しないように、16 ビットのデータと重みを使用する必要があることに注意してください。

以下、Tim が GPU と TPU の標準的なパフォーマンス データをまとめています。値が高いほど、パフォーマンスが優れています。 RTX シリーズは 16 ビット計算を想定しており、Word RNN 値は長さ < 100 のセグメント シーケンスの biLSTM パフォーマンスを参照します。

このベンチマークは、PyTorch 1.0.1 と CUDA 10 を使用して実行されました。

△ GPUとTPUのパフォーマンスデータ

費用対効果分析

GPU を選択する際に最も重要な考慮事項はコスト効率です。このガイドでは、各グラフィック カードのパフォーマンスをテストするために次の計算を実行しました。

  • 言語モデル Transformer-XL と BERT を使用して Transformer のパフォーマンスをベンチマークします。
  • 最先端の biLSTM を使用して、単語レベルおよび文字レベルの RNN をベンチマークしました。
  • 上記の 2 つのテストは Titan Xp、Titan RTX、RTX 2080 Ti に対して実施され、パフォーマンスの違いは他の GPU でも直線的に拡大されました。
  • 既存の CNN ベンチマークから借用しました。
  • GPU の参考コストとして、Amazon と eBay でのグラフィック カードの平均販売価格を使用しました。

最終的に、CNN、RNN、Transformer の正規化されたパフォーマンス/コスト比は次のように得られます。

△CNN、RNN、Transformerの1ドルあたりのパフォーマンス

上のグラフでは、数字が大きいほど、1 ドルあたりに得られるパフォーマンスが高くなります。 RTX 2060 は、RTX 2070、RTX 2080、RTX 2080 Ti よりもコスト効率が高く、Tesla V100 の 5 倍以上の価格性能比であることがわかります。

したがって、このラウンドでコスト効率の王者は RTX 2060 であると決定されました。

しかし、この考慮は小型 GPU に偏っており、ゲーマーは RTX シリーズのグラフィック カードを好まないため、GTX 10xx シリーズのグラフィック カードの価格は高騰しています。また、特定のシングル GPU バイアスもあり、RTX 2080 Ti を 4 基搭載したコンピューターは、R​​TX 2060 を 8 基搭載したコンピューター 2 基よりもコスト効率が高くなります。

必要なビデオメモリと16ビットトレーニング

GPU ビデオ メモリは、一般的なコンピューター ビジョン、機械翻訳、一部の NLP アプリケーションなど、特定のアプリケーションにとって非常に重要です。 RTX 2070 はコスト効率が良いと思うかもしれませんが、ビデオメモリがわずか 8 GB と非常に小さいことに注意してください。

ただし、いくつかの解決策はあります。

16 ビット トレーニングでは、ほぼ 16 ビットのビデオ メモリを使用でき、これはビデオ メモリを 2 倍にすることと同等です。この方法は、RTX 2080 および RTX 2080 Ti にも適用されます。

つまり、16 ビット コンピューティングではメモリを 50% 節約でき、16 ビット 8 GB ビデオ メモリのサイズは 12 GB 32 ビット ビデオ メモリに相当します。

クラウドかローカルか? TPU か GPU か?

パラメータを理解した後は、さらに魅力的なオプションが目の前に現れます。

Google Cloud、Amazon AWS、Microsoft のクラウド コンピューティング プラットフォームはすべて機械学習を実行できます。GPU を自分で購入せずに済むでしょうか?

NVIDIA、AMD、Intel、さまざまなスタートアップ企業など、AI アクセラレーション チップのブランドも数多くあり、選択肢も豊富です。

業界全体からの包囲に直面して、ティムは各プラットフォームの長所と短所を分析しました。

エヌビディア

NVIDIA は間違いなくディープラーニング ハードウェアのリーダーであり、ほとんどのディープラーニング ライブラリは NVIDIA GPU に最適なサポートを提供します。 AMD の OpenCL には、このような強力な標準ライブラリはありません。

ソフトウェアは、Nvidia GPU の非常に強力な部分です。過去数か月間、NVIDIA はソフトウェアにもさらに多くのリソースを投入してきました。たとえば、Apex ライブラリは PyTorch の 16 ビット勾配をサポートし、FusedAdam のような融合高速オプティマイザーを備えています。

しかし、NVIDIA は現在、非常にトリッキーなポリシーを採用しています。データセンターで CUDA を使用する場合、GTX や RTX GPU ではなく、Tesla GPU のみが許可されます。

法的問題への懸念から、研究機関や大学は安価な Tesla GPU を購入せざるを得ないケースが多くあります。しかし、Tesla は GTX や RTX に比べて実質的な優位性はなく、コストも 10 倍高くなります。

アム

AMD GPU は強力なパフォーマンスを備えていますが、ソフトウェアが弱すぎます。 ROCm は CUDA を移植可能な C++ コードに変換できますが、TensorFlow および PyTorch コード ライブラリを移植するのが難しいという問題があり、AMD GPU のアプリケーションが大きく制限されます。

TensorFlow と PyTorch は AMD GPU を一部サポートしています。主要なネットワークはすべて AMD GPU で実行できますが、新しいネットワークを開発する場合、一部の詳細がサポートされていない可能性があります。

スムーズに動作する GPU だけを望む平均的なユーザーには、Tim は AMD を推奨しません。しかし、AMD GPU と ROCm 開発者をサポートすることで、Nvidia の独占に対抗することができ、長期的にはすべての人に利益をもたらすでしょう。

インテル

Tim は Xeon Phi プロセッサを試してみましたが、結果は期待外れでした。 Intel はまだ Nvidia や AMD GPU の競合相手ではありません。

Xeon Phi はディープラーニングのサポートが不十分で、一部の GPU 設計機能をサポートしておらず、最適化されたコードを書くのが難しく、C++ 11 の機能を完全にサポートしておらず、NumPy および SciPy との互換性が低いです。

インテルは、GPUやTPUに対抗すべく、今年後半にニューラルネットワークプロセッサ(NNP)を発売する予定だったが、プロジェクトは遅れている。

グーグル

Google TPU は非常に成熟したクラウド製品へと発展しました。 TPU は、高速行列乗算を実行するという 1 つの目的のためにパッケージ化された複数の特殊な GPU と考えることができます。

Tensor コアを搭載した V100 GPU と TPUv2 のパフォーマンス メトリックを比較すると、両方のシステムのパフォーマンスがほぼ同じであることがわかります。

TPU は TensorFlow をネイティブにサポートしており、PyTorch のサポートも試験段階です。

TPU は、大規模な Transformer GPT-2 のトレーニングで大きな成功を収めています。BERT および機械翻訳モデルも TPU で効率的にトレーニングでき、GPU よりも約 56% 高速です。

ただし、TPU に問題がないわけではありません。一部の文献では、TPUv2 で LSTM を使用すると収束しないことが指摘されています。

TPU は、長期間使用した場合の累積コストの問題にも直面します。 TPU はパフォーマンスが高く、トレーニング フェーズで使用するのが最適です。プロトタイピングと推論の段階では、コストを削減するために GPU に頼る必要があります。

要約すると、現在、TPU は CNN または大規模なトランスフォーマーのトレーニングに最適であり、主要なディープラーニング リソースとなるのではなく、他のコンピューティング リソースを補完するものである必要があります。

Amazon と Microsoft のクラウド GPU

Amazon AWS や Microsoft Azure のクラウド GPU は非常に魅力的で、必要に応じて使用量を簡単に拡大または縮小できるため、論文の締め切り前や大規模なプロジェクトの前に結果を急いで出す場合に非常に便利です。

ただし、TPU と同様に、クラウド GPU のコストは時間の経過とともに急速に増加する可能性があります。現在、クラウド GPU は単独で使用するには高価すぎるため、Tim はクラウド GPU で最終的なトレーニングを行う前に、プロトタイプ作成に安価な GPU を使用することを推奨しています。

スタートアップのAIハードウェア

次世代のディープラーニング ハードウェアを生産しているスタートアップ企業が数多くあります。問題は、このハードウェアが競争力を持つためには、完全なソフトウェア スイートの開発が必要であることです。 Nvidia と AMD の対比は鮮明な例です。

まとめ

一般的に、NVIDIA GPU は AMD よりもはるかに優れたディープラーニングのサポートを備えているため、ローカル コンピューティングの第一選択肢です。また、Google TPU は Amazon AWS や Microsoft Azure よりもコスト効率に優れているため、クラウド コンピューティングの第一選択肢です。

トレーニング中に TPU を使用し、プロトタイピングと推論中にローカル GPU を使用すると、コストを節約できます。プロジェクトの期限や柔軟性の要件がある場合は、より高価なクラウド GPU を選択してください。

最終勧告

つまり、GPU を選択するための原則は 3 つあります。

1. GTX 1070 以上の GPU を使用します。

2. テンソル コアを搭載した RTX GPU を購入します。

3. GPU でプロトタイプを作成し、TPU またはクラウド GPU でモデルをトレーニングします。

ティムは、さまざまな研究目的と予算に応じて、次のような提案をしました。

最高のGPU : RTX 2070

避けるべき落とし穴: すべての Tesla、Quadro、Founders Edition グラフィック カード、および Titan RTX、Titan V、Titan XP

コスト効率:RTX 2070(ハイエンド)、RTX 2060 または GTX 1060(6GB)(ミッドエンドからローエンド)

貧乏人の選択:GTX 1060(6GB)

Break-Earner : GTX 1050 Ti (4GB)、または CPU (プロトタイピング用) + AWS/TPU (トレーニング用)、または Colab

Kaggle コンペティション: RTX 2070

コンピュータービジョンや機械翻訳の研究者: 通気設計の GTX 2080 Ti、または非常に大規模なネットワークをトレーニングする場合は RTX Titans

NLP研究者:RTX 2080 Ti

すでにディープラーニングの研究を開始:RTX 2070を出発点とし、必要に応じてRTX 2070を追加予定

ディープラーニングを始めよう: GTX 1050 Ti (2GB または 4GB ビデオメモリ)

<<:  エッジAIとエッジコンピューティングについて学ぶ

>>:  人工知能について知っておくべきことすべて

ブログ    
ブログ    
ブログ    
ブログ    
ブログ    

推薦する

Llama インデックスを使用したマルチエージェント RAG の構築

検索拡張生成 (RAG) は、大規模言語モデル (LLM) の機能を強化する強力な手法として登場しま...

中国科学院による1万語の説明:最先端の画像拡散モデルのレビュー

中国科学院は、Adobe および Apple の研究者と共同で、画像編集における拡散モデルに関する主...

超知能オートメーション: タマネギの皮をむく旅

翻訳者 | 李睿校正 | 孫淑娟 良策企業システムのインテリジェント自動化のプロセスでは、各段階の開...

...

機械学習モデルを構築するときに避けるべき 6 つの間違い

近年、機械学習は学術研究や実用化の分野でますます注目を集めています。しかし、機械学習モデルの構築は簡...

人間と機械のコラボレーション: セキュリティ業務における人工知能

商業的な AI の成功のほとんどは、教師あり機械学習 (ML) に関連しています。たとえば、スマート...

...

機械学習: Python による予測

機械学習は基本的に、既存のデータを使用して新しいデータについて予測を行う人工知能のサブセットです。も...

...

...

マイクロソフトアジアリサーチは、知識蒸留を使用して小さなViTを改善するTinyMIMを提案

1. 研究の動機マスクモデリング (MIM、MAE) は、非常に効果的な自己教師ありトレーニング方法...

AIビッグモデルにおける言語の不平等:英語は最も安価、他の言語ははるかに高価

7月31日、ユーザーが使用する言語が大規模言語モデル(LLM)のコストに大きな影響を与え、英語話者と...

ニューラルスタイル転送アルゴリズムで絵を描くことを学習する人間は、芸術分野で人工知能に負けるのでしょうか?

人工知能はますます多用途になり、すでに私たちの仕事のすべてを人工知能が引き継ぐことができるようです。...

...