いきなりまとめ
メーカーはNVIDIA一択。
全般的なオススメ。
- GTX 1080 Ti(11GB)
- GTX 1080(8GB)
- GTX 1070(8GB)
入門用
- GTX 1060(6GB)
Today I Learned
Which GPU(s) to Get for Deep Learning: My Experience and Advice for Using GPUs in Deep Learning
を参考に。
マルチGPUの必要性
・並列化
NNをマルチGPUで効率的に並列化するのはとても難しい。大規模なNNに対して恩恵は得られない。
小規模なNNは多少効率的。
・ライブラリ対応
DeepLearning用ライブラリでマルチGPUに対応しているものは少ない。MSのCNTKはコア数に対してリニアに速度向上を期待できる。
次点はPytorch。
これらは1マシン最大4コアに対応し3.6-3.8倍の速度向上を期待できる。
Tensorflowは2-3倍。
Thernoは論外。
・並列化以外の可能性
並列化以外のマルチGPUの利点はGPUごとにアルゴリズムをテストできること。モデル開発を加速できる。
リサーチの経験から言うと、big oneよりmany small GPUsが好み。
ハード選択
・メーカー選択
NVIDIA一択。NVIDIAのライブラリはDLライブラリを作るのに便利。
AMDのOpenCLにはDL向けの良いライブラリがない。
将来出るとしてもCUDAの巨大なGPGPUコミュニティの利便性には敵わない。
IntelのXeon Phiはストレスマックス。
・スペック選択
一番重要なのはメモリの帯域。同一のアーキテクチャ内ではメモリ帯域の比較は可能。
異なるアーキテクチャでは直接的には比較不可能。
だが大まかな目安にはなる 。
次に重要なのがアーキテクチャ。
kepler以降じゃないとcuDNNに対応していない。
しかしkeplerは遅いためmaxwellもしくはpascal。
モデルのサイズも重要。
上位GPUは大規模ANNでないとパフォーマンスを発揮できない。
・オススメのGPU
全般的なオススメ- GTX 1080 Ti(11GB)
- GTX 1080(8GB)
- GTX 1070(8GB)
メモリ8Gは少なく見えるが実際のところ十分以上。
入門用
- GTX 1060(6GB)
GTX 1060はTitan Xよりは遅いがコスパではGTX980に匹敵。
・各製品のポジション
GTX 1060 GTX 1050 Tiは初心者向け。GTX 1070 GTX 1080はベンチャー、リサーチャー、企業向け。
GTX 1080 Tiはハイエンド向け。
Titan Xpはコスパが悪くお勧めできない。
GTX 1080 Tiの方が良い。
どうしてもメモリが欲しいcomputer vision researcher向け。
GTX Titan X (Maxwell)持ちなら次を待て。
12GBのメモリがどうしても欲しいならGTX Titan X (Maxwell)をeBayで買うのもよい。
が、ほとんどの研究者は GTX 1080 Tiで十分。
1GBの差はほとんど必要ない。
個人的にはGTX 1070 or GTX 1080のマルチを使用。
NLPがメインなのと複数のモデルを同時に試す方が好みだから。
GPUにコストをかけられない人のオプションは限られている。
AWSは遅いうえに高くなってしまった。
GTX 970も遅いうえに高い。
それならもう少しコストをかけてGTX 1060が良い。
GTX 1060が無理ならGTX 1050 Ti(4GB)。
4GBはきついが遊び程度ならよい。
0 件のコメント:
コメントを投稿