2020年のディープラーニングに必要なGPUは?48Gのビデオメモリが推奨

2020年のディープラーニングに必要なGPUは?48Gのビデオメモリが推奨

ご存知のとおり、現在業界で最も強力な (SOTA) ディープラーニング モデルは、膨大な量のビデオ メモリ領域を占有します。過去に強力だと考えられていた多くの GPU は、現在ではメモリがわずかに不足している可能性があります。 Lambda の最新のグラフィック カード比較記事では、開発者はどの GPU がメモリ エラーなしでモデルをトレーニングできるかを調査しました。そしてもちろん、これらの GPU の AI パフォーマンスもあります。

今年の GPU 評価は、前年と比べて大きな変化がありました。ディープラーニング技術の急速な発展により、12G メモリが市場を独占していた状況はもはや存在しません。 2020 年 2 月には、業界最高性能のモデルをかろうじて実行するには、Nvidia の最新の Titan RTX を購入するのに少なくとも 2,500 ドルを費やす必要があります。今年末までにどうなるかは想像しがたいです。おそらく、クラウド GPU に注目する必要があるでしょう。

1. 一言でまとめる

2020 年 2 月現在、業界トップの言語モデルと画像モデルをすべてトレーニングできるのは、次の GPU のみです。

  • RTX 8000: 48GBビデオメモリ、約5,500ドル
  • RTX 6000: 24GB VRAM、約4,000ドル
  • Titan RTX: 24GB VRAM、約2,500ドル

以下の GPU はほとんどの SOTA モデルをトレーニングできますが、すべてをトレーニングできるわけではありません。

  • RTX 2080Ti: 11GBビデオメモリ、約1,150ドル
  • GTX 1080Ti: 11GB VRAM、約800ドル(中古)
  • RTX 2080: 8GB VRAM、約720ドル
  • RTX 2070: 8GB VRAM、約500ドル

このレベルの GPU で非常に大規模なモデルをトレーニングするには、通常、バッチ サイズを縮小する必要があり、精度が低下する可能性があります。

次の GPU は、ハイエンド AI モデルのトレーニングには適していません。

RTX 2060: 6GB VRAM、約359ドル

[[315526]]

1. 画像モデルのテスト

現在の GPU パフォーマンスをテストするために、研究者は CV と NLP のトップ モデルをテストしました。画像モデルの処理に関しては、基本的な GPU や Ti シリーズの結果はあまり良くなく、それらの違いはそれほど大きくありません。

それに比べて、RTX には明らかな利点があり、最新バージョンの RTX8000 が最も顕著です。これまでのところ、GPU が処理できるバッチ サイズが基本的に 2 倍に増加していることは簡単にわかります。パフォーマンスの面では、RTX シリーズは依然として全体的に最高です。

(1)ビデオメモリがサポートできる最大バッチサイズ

以下に示すように、Pix2Pix HD モデルをトレーニングする場合、少なくとも 24 GB のビデオ メモリが必要であり、バッチ サイズは 1 つの画像のみにすることができます。これは主に、入力画像が 2048x1024 の高解像度の大きな画像であり、トレーニングに必要なビデオメモリとコンピューティングが非常に大きいためです。

* 記号は、モデルを実行するには GPU メモリが不足していることを示します。

(2)性能(1秒あたりに処理できる画像数)

これらはすべて大規模なモデルです。最速のニューラル アーキテクチャ検索モデルである NasNet Large でさえ、高い計算能力を必要とすることで知られています。 NasNet Large のトレーニングに使用されるデータセットは ImageNet ですが、その画像解像度は 331 x 331 のみです。

* 記号は、モデルを実行するには GPU メモリが不足していることを示します。

2. 言語モデルのテスト

言語モデルの場合、バッチ処理量の点では RTX システムが依然として最適です。しかし、パフォーマンスの観点からだけ見ると、Titan RTX は他のモデルと比較して優れたパフォーマンスを発揮します。

(1)ビデオメモリがサポートできる最大バッチサイズ

以下に示すように、最初の 3 つは機械翻訳モデルであり、最後の 3 つは事前トレーニング済みの言語モデルです。 2 つのカウント方法は若干異なります。シーケンスには数十から数百のトークンが含まれる場合があります。

* 記号は、モデルを実行するには GPU メモリが不足していることを示します。

(2)パフォーマンス

* 記号は、モデルを実行するには GPU メモリが不足していることを示します。

3. RTX 8000をベースに右へ移動

上記のパフォーマンス表は、直感的にわかりにくいかもしれません。Lambda は Quadro RTX 8000 をベンチマークとして使用し、これを「1」に設定します。他の GPU は、この GPU に対する相対的なパフォーマンスを計算します。以下は、異なる GPU でトレーニングされたさまざまなモデルのデータ スループットです。

すべてのテスト結果に対して、lambda はテスト モデルとデータセットを提供します。たとえば、CV のさまざまなタスクでは、ImageNet、MSCOCO、CityScape などの主流の主要データセットが使用され、モデルは GitHub 上の元の作者のオープンソース コードを直接使用します。 NLP のさまざまなタスクでは、WMT 英語 - ドイツ語データセットに加えて、GLUE ベンチマークの他のデータセットも使用されます。

画像認識、セグメンテーション、検出、生成から機械翻訳、言語モデル、GLUE ベンチマークまで、これらのタスクは GPU が使用されるほぼすべてのシナリオをカバーしているため、このようなテストは比較的合理的です。

2. 2020 年のディープラーニングにはどのような GPU が必要ですか?

新しいモデルを開発するどころか、「古いモデル」から逃れることすらできません。上記のテスト結果を読んだ後、「人生は突然夢を失った」と感じますか?ハードウェアに加えて、この評価から、最近のディープラーニングの開発動向の変化も観察できます。

  • 言語モデルでは、画像モデルよりも大きなビデオ メモリが必要です。言語モデル グラフの破線は画像モデルの破線よりも急勾配であることに注意してください。これは、言語モデルはメモリによってより制限され、画像モデルは計算能力によってより制限されることを示しています。
  • ビデオメモリの容量が大きいほど、パフォーマンスは向上します。ビデオ メモリが大きいほどバッチ サイズが大きくなるため、CUDA コアは最大容量に近い状態で動作できます。
  • ビデオ メモリが大きいほど、それに比例して大きなバッチ サイズを使用できます。類推すると、24 GB のビデオ メモリを搭載した GPU は、8 GB のビデオ メモリを搭載した GPU と比較して 3 倍のバッチ サイズを使用できます。
  • 長いシーケンスの場合、注意はシーケンスの長さの 2 乗であるため、言語モデルのメモリ使用量は不釣り合いに増加します。

これを理解すれば、GPU を安心して選択できます。

  • RTX 2060 (6GB): 空き時間にディープラーニングを試してみたい場合。
  • RTX 2070 または 2080 (8GB): ディープラーニングに真剣に取り組みたいが、GPU に使える金額が 600 ~ 800 ドルしかない場合。 8G のビデオ メモリは、ほとんどの主流のディープラーニング モデルに使用できます。
  • RTX 2080Ti (11GB): ディープラーニングを本格的に学びたい場合、GPU の予算は 1200 ドル程度で済みます。 RTX 2080Ti は、ディープラーニングのトレーニングにおいて RTX 2080 よりも約 40% 高速です。
  • Titan RTX と Quadro RTX 6000 (24GB): SOTA モデルをよく研究しているが、RTX 8000 を購入するほどお金がない場合は、この 2 つのグラフィック カードを選択できます。
  • Quadro RTX 8000 (48GB): おめでとうございます。あなたの投資は未来を見据えており、あなたの研究は 2020 年に新しい SOTA になるかもしれません。

3. GPUは高すぎるので、お買い得品を選ぶ

現在、モデルをトレーニングするには、GPU メモリが少なくとも 8GB 必要であり、それに応じた価格は非常に高額です。

実際、有名な Kaggle Kernel や Google Colab など、多くの大企業が研究や実験用に無料の GPU コンピューティング リソースを立ち上げており、K80 や P100 などの非常に優れた GPU リソースを提供できます。Colab は無料の TPU も提供できます。実際、中国には無料の GPU があり、Baidu の AI Studio は Tesla V100 などの強力なコンピューティング パワーを提供できます。

これら 3 つにはそれぞれ長所と短所があります。Kaggle Kernel と Colab はどちらも科学的なインターネット アクセスを必要とし、Kaggle Kernel は最も基本的な K80 GPU しか提供できず、その計算能力は大きくありません。 Colab は十分な計算能力を持つ T4 および P100 GPU も提供していますが、Colab は計算呼び出しを中断することがあり、解決するには特別な技術が必要です。

Baidu AI Studio は非常に強力な V100 コンピューティング パワーも提供でき、現在は無料のコンピューティング カード プランが用意されており、実行環境で 1 日あたり 12 時間の GPU 使用時間を提供できます。しかし問題は、Baidu AI Studio は PaddlePaddle フレームワークしか呼び出せず、TF または PyTorch を自由に選択できないことです。

1. Colabを使用してコンテンツを抽出するためのヒント

多くの開発者は、Colab を使用しているときに時々終了し、終了するたびにすべてのパッケージとファイルが削除されることに不満を抱いています。しかし実際には、科学的なインターネット アクセスを利用することで、他の多くの問題を解決できます。

まず、一番の問題は、Colab が切断されてしまうことですが、私は何度も使用していますが、ページが閉じられない限り、ほぼ毎回、問題なく 10 時間以上連続して実行できます。私たちの経験によると、北米ではちょうど真夜中を過ぎており、連続走行時間が長くなるため、北京時間の午前 9 時頃に走行を開始するのが最適です。 T4 や P100 などの GPU では、10 時間以上連続して実行してもコスト効率が非常に高く、複雑なモデルでも最初にトレーニングできます。

それで、壊れていたらどうなりますか? その場合は、Google ドライブを読み込むことを検討する必要があります。 Colab の非常に優れた点は、Google Drive と連携できることです。つまり、いくつかのエポックをトレーニングした後、モデルを Google Drive に保存して、永続的なトレーニングを実現できます。 Colab がダウンした場合でも、Drive から保存されたモデルを読み取ってトレーニングを続行できます。

上記の 2 行のコードにより、Google Cloud Drive をリモート インスタンスの "content/drive" ディレクトリに読み込むことができます。以降のすべてのモデル操作とデータセット操作は、このディレクトリで完了できます。Colab が切断された場合でも、すべての操作の内容は Google Cloud Drive に保存されます。

上記の 2 つのヒントをマスターすれば、Colab は非常に実用的になります。もちろん、割り当てられた GPU が K80 であることがわかった場合は、Colab を数回再起動して、メモリとローカル ファイルを解放することができます。再起動するたびに GPU ハードウェアが再割り当てされ、P100 を「待機」できます。

さらに、開発者は、Colab の接続が切断されないようにするためのさらなるトリックを模索しました。たとえば、切断された場合に Colab が自動的に再接続できるように、マウス クリックをシミュレートするコードを実行するなどです。

  1. 関数ClickConnect(){
  2. console.log("動作中");
  3. document.querySelector("colab-toolbar-button#connect").click()
  4. }
  5. クリック接続間隔の設定(60000)

2. AI Studioは非常に強力な計算能力を持っています

Colab の P100 はすでに非常に優れています。16GB のビデオ メモリを搭載しており、大規模なモデルのトレーニングも問題なく行えますが、AI Studio の V100 はさらに強力です。コンピューティング カードを申請しなくても、AI Studio ではプロジェクトに毎日ログインすることで 12 時間の GPU コンピューティング時間を取得でき、継続ログインには報酬があります。

AI Studio の Jupyter Notebook のような編集インターフェースも非常に使いやすく、実行環境が中断された後もディスクに保存されたファイルは削除されません。これも Colab の制限です。ただし、このプラットフォームでは PaddlePaddle フレームワークのみをインポートできるため、PaddlePaddle フレームワークに精通している開発者にとっては、AI Studio が最適な無料コンピューティング プラットフォームです。

試してみたところ、他のフレームワークはターミナルでインストールでき、新しくインストールしたフレームワークは Python の組み込み IDE に入った後にインポートできることがわかりました。ただし、ノートブック インターフェースでは、PaddlePaddle のみがインポート可能であることが表示されます。

最後に、数多くのトップ GPU のパフォーマンス比較を読んだ後、無料の GPU コンピューティング リソースの特性についても学びました。では、家にいて、クールな新しいディープラーニング モデルと機能を試してみるべきでしょうか?

参考: https://lambdalabs.com/blog/choosing-a-gpu-for-deep-learning/

[この記事は51CTOコラム「Machine Heart」、WeChatパブリックアカウント「Machine Heart(id:almosthuman2014)」によるオリジナル翻訳です]

この著者の他の記事を読むにはここをクリックしてください

<<:  流行中にどのようなホットなテクノロジーが使用されていますか? AI、5G、RTC、ビッグデータが登場

>>:  Excel 愛好家ですか?コンピュータービジョンのための細胞: 顔検出とOCRは問題なし

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

推薦する

人工知能とビッグデータが私たちの生活に何をもたらすかご存知ですか?

「ビッグデータ」と「人工知能」はテクノロジー業界で最も価値のある分野となっている。Apple、Go...

...

...

わずか 2 分で、シングル ビューの 3D 生成が高速かつ良好に行えます。北京大学などが新しいRepaint123法を提案

画像を 3D に変換する方法としては、通常、スコア蒸留サンプリング (SDS) 方式が採用されていま...

...

今後数年間の人工知能研究が避けられない3つの重要な問題

現在、人工知能は産業のアップグレードを積極的に推進しており、製品の品質とコア能力を向上させています。...

...

AIが将来のスマートマスモビリティソリューションへの道を切り開く

2030年までに人口の60%が都市部に住むようになると推定されています。現在そして将来に必要な条件は...

自分だけのデジタルヒューマンを開発しよう、FACEGOODが音声駆動表現技術をオープンソース化

現在、メタバースのトレンドの下、AIデジタルヒューマンもエンターテインメント、サービス、教育、マーケ...

たった 10 行のコードでディープラーニングを実行できますか? PaddlePaddleフレームワークの高レベルAPIでAIを簡単に操作しよう

高レベルAPIとはディープラーニングは、人工知能時代の中核技術として、近年、学術界と産業界の両方でま...

機械学習が自動車産業を次のレベルに引き上げる方法

機械学習は、ユーザーエクスペリエンスを向上させ、ビッグデータの力を活用することで、自動車業界を次のレ...

「ロボット排除の3原則」を破る方法

2013年に私は2つの文章を書きました。1つは「デジタル化できるものはすべてデジタル化される」という...

世界中のロボットが1つの脳を共有する、Google DeepMindが第一歩を踏み出した

過去 1 年間、生成型人工知能の開発におけるキーワードは「ビッグ」でした。強化学習の先駆者であるリッ...

マルチモーダル大規模モデル機能評価: Bard は必要なものですか?

ChatGPT に続いて、OpenAI のライブ ブロードキャストでは、視覚入力はまだ広く利用可能...

私たち全員が失業するかもしれない:今後10年間でほぼすべての仕事が変化する

[[248203]]バイオテクノロジーの進歩により、人間の寿命は今後も延び続け、社会の家族構成、結婚...