機械学習(特にDeep learning)の学習には非常に時間がかかります。普段はMAC使いですが、機械学習には向いていないので、数年前に購入したWindowsゲーミングマシン(GeForce GTX 970)を使ってましたが、LSTMのRNNの学習とかになるとやはり時間がかなりかかるので、もう少し速くできないかな・・・と思い始めてきました。しかし、ゲーミングマシンを買い換えても、最近ゲームをめっきりやらなくなったし、メインマシンはやっぱりMACがいいので、ハイエンドなMACで搭載しているRADEONで機械学習を高速に実行できるなら、買い替えてもいいかな、と思い調べてみると、plaidmlというGPUを使えるバックエンドがあると知りまして、早速試してみました。
とりあえず、比較対象は、今使っているMAC(iMAC 21.5inch Late 2013 Intel Iris Pro)、ゲーミングマシン(Windows 10 GeForce GTX970, Intel Corei7)、インターネットで公開されていたベンチマーク結果(MacBook Pro (16-inch, 2019) Radeon Pro 5500M)、そして無料でjupyter notebookが使えるGoogle colaboratory。ベンチマークに使用したソースはこちらに公開されているものを使わせていただきました(MacBook Proの結果もこのページより転載させていただいています)。結果は以下の通り。
| PC | CPU | GPU | Kerasのbackend | time/1epoch |
| Windows10搭載ゲーミングマシン | Intel Corei7 | nvidia GeForce GTX 970 | tensorflow(GPU) | 6s |
| iMAC 21.5inch Late 2013 |
2.7 GHz クアッドコアIntel Core i5 |
Intel Iris Pro |
plaid-ml(metal) |
142s |
| MacBook Pro | Intel Core i9? | AMD Radeon Pro 5500M | plaid-ml(metal) | 13s |
|
Google colaboratoryのサーバ |
? | ?(ランタイムとしてはGPUを指定) | tensorflow(GPU) | 4s |
流石に、ゲーミングマシンは速いですね。購入したのが多分5、6年くらい前なのですが、まだまだ現役PCとして使えそうな感じです。メインマシンのiMacは予想通り遅いですが、こちらも6年前のマシンですし、GPUがそもそもしょぼいですから無理もないですかね。それに比べて、Radeon搭載のMacBook Proはかなり検討しています。MAC(というかRadeon)は機械学習が苦手と思ってたけど、Plaid-ML+Kerasという環境で足りるのであれば、こちらも選択肢になりそうですね。しかしそれよりも驚いたのは、Google colaboratoryの方です。無料だからもっと遅いかと思っていたら、相当速いのですね。私の場合、機械学習はプライベートな趣味であるソフト開発に使っている程度なので、今後はcolaboratoryを活用していけばいいんではないか、という気になってきました(今のところ、無料ですし)。