2017-12-29
■NVIDIAのGPUの代わりにAMDのGPUで学習を走らせて比較してみた 

nVIDIA一社による支配は邪悪であるという観点から、どうすればAMDのGPUで対抗できるか色々策を探した。
まずAMDのRadeon RX570を積んだマシンを組み上げたが、さあここから先が大変。
もうnVIDIAのドライバのインストールもたいがい地獄だが、AMDのドライバは、AMDが配ってるクローズドソースのプロプラ版とオープンソースのやつと、さらにROCmと、いろいろありすぎてわからん。
そしてROCmでうごくHIP版TensorFlowがまあ動かない。動いたかなーと思ったらクラッシュする。絶望的。チップをもっと新しく高級なやつにしないとダメなのか、設定が悪いのかわからなくて本当に絶望的な感じだったのだが、そこにきて日本ギライのkeras作者、フランシス・ショレー君のご推薦するPlaidMLというのがさっそうと登場した。
GitHub - plaidml/plaidml: PlaidML is a framework for making deep learning work everywhere.
どうせ最近kerasしか使ってないのでkerasがうごきゃいいんだよそれで。
ところがPlaidMLはなんかまだ中途半端な対応しかしてないらしく、RNNに対応してないとか、そのままの状態だとcifar10も学習できないとか色々難があるのだが、まあまだアルファクオリティとのことなのでそこは目をつぶる。
それでもとりあえずMNISTのCNNは動いたので、なんかちょっと直せばCIFAR10もいけると思われる(カラー画像のとり扱いがたぶん違うだけだろう)。
さて、気になる結果だが、TITAN XpやGeForce1080Tiと比較するのはフェアじゃない上に会社の計算機が軒並み使われているので、VR用としてWindowsがインストールされているため、そのまま放置されていたかわいそうなGeForce980Ti搭載機があったので比較する。
ちなみにRX570は3万円くらいでツクモで購入した。980Tiは9万円から11万円ということを参考までに。
結果、
MNISTのCNNを12エポック回すと、GeForce980Tiは109秒かかり、Radeon RX570は120秒かかった。
1割程度のパフォーマンスダウンなら、価格差を考えるとぜんぜん戦える!!!
希望の光が、今、見えた気がするぞ!
きっと最新のVega世代にすればもっといける気がする!
そしてPlaidMLはOpenCL対応なので、仮にこの先AMDが邪悪になってもほかのプラットフォームを使うことができる。
希望の光が今見えた!!
PlaidML、頑張ってくれー!
おれも協力していきたい
- 69 https://t.co/PYraH1UC3i
- 48 https://t.co/ldbARHwZYk
- 48 https://www.facebook.com/
- 48 https://www.google.co.jp/
- 26 https://newspicks.com/
- 21 http://www.google.co.uk/url?sa=t&source=web&cd=1
- 15 https://t.co/m1qYm9A0FM
- 14 http://b.hatena.ne.jp/entrylist
- 10 http://b.hatena.ne.jp/
- 10 http://m.facebook.com