« ウィンドウズでLasagne/nolearn/Theanoで深層畳み込みニューラルネットワークしてみる | トップページ | Feedlyで自分のブログの登録人数を調べる »

2016年3月 5日 (土)

Theano用にCUDAができるお手ごろGPUを物色中。GTX-960が良さげ

追記。 NVIDIAの最新機種GTX-1080が発表になりましたね。だいぶ安くなったようですが、当方にはまだ高いです・・。でも性能と価格の兼ね合いは最高によさそう。

本当にGPUは必要なのか?

Theanoを使ってCPUのみでディープラーニングって現実的なのだろうか?というのは常々素朴な疑問だったけど、前記事にあるDaniel Nouri氏による有名なLasagne/nolearn/Theanoをつかった深層畳み込みニューラルネットワークのチュートリアルを実際にやってみたら現実的には必須と判明した。6000円くらいの中古GPUでも10-20倍はやいので買うべし。

私の環境(CORE i7-2600とGeForce 550Ti)では、コンボリューションのない、一層の潜れ層しかない単純なネット(チュートリアルのnet1)だと、CPUでも1エポックに0.3-0.4秒なので1000エポックしても400秒程度。十分待てる。GPUはさらに10倍くらい速いけども。でも単純なコンボリューションのないパーセプトロンネットワークでは精度悪くて使いものにならない。

そこでちょっと発展させて、2層のコンボリューション層のあるnet2にいくと1エポックがCPUで116秒になった。1000エポックくらいトレーニングすると20時間くらいかかる。これがGPUだと1エポックが6.4秒くらいになって2時間以内。チュートリアルのノーリさんのもっているGPU(おそらくGeForce GTX TITAN とか)だと20分で終了するそうな。

パラメータチューニング一回に2時間もかかるとなると、すでに大変なのに20時間だと一日一回しかできない。扱っている画像も96x96の小さなものですでにこんなの。

お買い得なGPUは?

じゃあ、CUDA用にいいGPUを買うとするとなにがよいのか?となるんだけど、前にツイートしたようにGTX 980もしくはGTX 980 Tiというのがハイエンド機の中でコスパがよいらしい。

それでもGTX-980はアメリカのebayで5万くらいか。高い。まあTitanの15万にくらべれば・・・。

日本のアマゾンではGTX-980(上)は6万ちょっと超えるくらいか。PCでゲームもする人ならついでにいいかもしれないけど、私の場合、嫁に怒られるだけ。。でも機械学習に本気の人にはこれが良さそうです。CUDA Capability 5.2とは現状最高バージョンがTitanの5.3なのですごい。

GTX680(CUDA Capability 3.0)の3GBモデルというのも予算がきつい人用にオススメされているが、アマゾンでは見当たらず。その代わり2GBのモデルがあった(下)。

それでも中古で3.7万かぁ。。

私の古いGeForce 550TiでもないよりマシというかCPUに比べると段違い。550Tiは米ebayで即決価格が60ドルというのを見たので、CUDA対応のGPUがない人は550-TiのようなCUDA Capabilityが2.1以上の古くて安いGPUを買うのが吉。

GTX-550-Tiの中古が日本のアマゾンで6000円代(上)というのを見つけた。とりあえずという人はこのクラスで十分と思います。

メモリに関しては上のツイートで紹介した記事によると、ニューロンの重み付けの更新に勾配を計算するときにGPUではフーリエ変換を使う場合が多くて、これがメモリを食うらしいので、ディープラーニングするには割りとメモリがいるらしい。とはいえ、6GBくらいあれば十分で、4GBでもまあ大抵の問題はメモリに収まるといっているので、4GBくらいが初心者にはいいかもしれないし、余裕があれば6GBにしておきたいところ。

あとはcuDNNというCUDAを使ったディープラーニング用のライブラリがあって、最近のバージョンでは畳み込みの計算がとても速くなる変更があったらしいが、あまり古いGPU(たとえばGTX 580)だと対象外になるので、注意。たぶんcompute capabilityが3.5以上ないとそもそもcuDNNを有効にできないという可能性が高い。 TheanoはcuDNN3をサポート。Theano公式ドキュメンテーションにはLinuxのみインストール方法がかいてある。ウィンドウズは・・。

ちなみに私のTheanoはcuDNNなしで使っているが、それでもGeForce 550TiはCPUより10-20倍速いです。

まとめるとCUDA compute capabilityが3.5以上でメモリが4-6GBのGPUが狙い目か。GTX-780とか780TiがCUDA compute capability 3.5以上の一番安いモデルだが、メモリが3GBという制限があるためか、上のレビューではまったく触れられていない。

ベンチマークみるとGTX-980 Tiが圧倒的だし、6 GBにできてCUDA compute capability 5.2は長く戦力になりそうで魅力。。でも5-6万はたかい・・。

そこでみつけた掘り出し物がこのGTX-960。

レビュー中にもちらっと触れられているが、このGTX-960はディープラーニング向きのGPUらしく、上であげたぎりぎりのラインをクリアしていて、CUDA compute capability 5.2で4 GBで新品が2.8万円程度。上の中古GTX-680の2GB版よりも新しいモデルなのに安いじゃないか。うむ。これなら手がだせそう!

« ウィンドウズでLasagne/nolearn/Theanoで深層畳み込みニューラルネットワークしてみる | トップページ | Feedlyで自分のブログの登録人数を調べる »

Python」カテゴリの記事

ディープラーニング」カテゴリの記事

パソコン・インターネット」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1169291/64281032

この記事へのトラックバック一覧です: Theano用にCUDAができるお手ごろGPUを物色中。GTX-960が良さげ:

» Lab/AI [OKiTama Wiki! (PukiWiki/TrackBack 0.3)]
Chainer URL: タイトル: コメント: chainerのサンプルコードを集めてみた(チュートリアルも追加) -- sample chainerで(より)簡単にディープラーニングできる魔法を作りました -- ▲▼TensorFlow ...... [続きを読む]

« ウィンドウズでLasagne/nolearn/Theanoで深層畳み込みニューラルネットワークしてみる | トップページ | Feedlyで自分のブログの登録人数を調べる »

広告欄


やっつけタイムライン

広告欄

はてブ

人目の訪問です。

  • follow us in feedly

    かなり更新が不定期なため、RSSリーダーをオススメします。現在Feedlyに122人登録頂いています。多謝!RSSを表示

    ブログランキング用 にほんブログ村 IT技術ブログ Pythonへ ブログランキングならblogram






    Jenny Mayhem
2017年11月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    

IT技術注目記事

無料ブログはココログ