普段,生活する上ではColaboratoryやGPU付きのデスクトップで問題なかったりするのですが,
ふとサービスを世にリリースしたいとか思い,AWSでGPU付きのサーバーの値段を調べてみたりすると2200$(約24万円/月)とか書かれていて,ひえーってなったりします.(なりました)
こういった方々のために,格安でGPU付きのレンタルサーバーを提供しているGPUEaterなるサービスがあるとのことなので調べてみました.
GPUEaterとは
- 機械学習に最適な次世代型GPUクラウドでAMD社製GPUを利用することで格安でGPUインスタンスを利用可能
- MIOpenと呼ばれる同社製ライブラリー群を使うことにより,TensorFlowをはじめとしたDeepLearningの主要ライブラリをAMD社のコンシューマー向けの安価なGPUで扱うことが可能
- 一番安いのだと7,500円/月でレンタル可能!
料金体系
料金もAWSのp3.2xlarge ($2203/m)とGPUEaterのa1.vegafe($443/m) と比べると,約1/5とかなりお得となっているようです.
しかも,ディスク容量やネットワーク利用も全部含まれているみたいです(すごい!)
GPUEaterのメリット
- これまでどおりKerasなどで書いたコードがそのまま動く.
- インスタンスを立ち上げたらすぐtensorflowやKerasといったライブラリが使える.
- ボタン一つでインスタンスを立ち上げられるので,複数台で実験とかも簡単
注) AMDだとCUDAが動かないので,ROCmやMIOPen,OpenCLが代用となって普段どおり使えるようになっています.
利用インスタンス
- Name: a1.rx580
- Device: Radeon RX 580 (8G)
- Image: AMD-ROCm1.9.224+Tensorflow1.10 Ubuntu 16.04
- 月額料金: $249/m($0.3458/h)
実験
HOMEディレクトリ直下にサンプルが置いてあるみたいです.
KerasでexampleにあるCIFAR-10を実行してみました.
cd ~/keras_examples
python3 cifar10_cnn.py # python3で実行することに注意
- 実行ログ
Epoch 2/100
1563/1563 [==============================] - 18s 11ms/step - loss: 1.5784 - acc: 0.4227 - val_loss: 1.3769 - val_acc: 0.5038
Epoch 3/100
1563/1563 [==============================] - 18s 11ms/step - loss: 1.4636 - acc: 0.4702 - val_loss: 1.2625 - val_acc: 0.5493
Epoch 4/100
1563/1563 [==============================] - 18s 11ms/step - loss: 1.3785 - acc: 0.5021 - val_loss: 1.2003 - val_acc: 0.5728
Epoch 5/100
1563/1563 [==============================] - 18s 11ms/step - loss: 1.3043 - acc: 0.5330 - val_loss: 1.2369 - val_acc: 0.5556
Epoch 6/100
1563/1563 [==============================] - 18s 11ms/step - loss: 1.2472 - acc: 0.5545 - val_loss: 1.1846 - val_acc: 0.5859
Epoch 7/100
現在のGPUの利用状況を確認したい場合は,watch -n 5 rocm-smi
とすれば良さそうです.
(NVIDIAでいうところのnvidia-smi
コマンドがAMDではrocm-smi
)
==================== ROCm System Management Interface ====================
================================================================================
GPU Temp AvgPwr SCLK MCLK Fan Perf SCLK OD MCLK OD USED MEM
0 55c N/A 1380Mhz 2000Mhz 36.86% auto 0% 0% 7773MB
================================================================================
==================== End of ROCm SMI Log ====================
ベンチマーク
KerasでCIFAR10を解く問題をもとに各インスタンスの性能を比較してみました.
Name | ms/step(DAあり) | us/step(DAなし) |
---|---|---|
NVIDIA GeForce GTX 1080 Ti(参考) | 7 | 130 |
AMD Radeon RX 580 (8GB) | 11 | 291 |
AMD Radeon RX Vega 56 (8GB) | 10 | 195 |
AMD Radeon Vega Frontier Edition (16GB) | 10 | 190 |
※ DA: Data Augmentation
やはりNVIDAがメジャーな分だけ,最適化が進んでおり高速に動作していそうです.
ただ,AMD Radeon RX580(月額27,000円ぐらい)でも,高速に動いているので,コスパは結構良さそうです.
感想
- AMDで機械学習用にGPUを使うためには,特殊な処理が必要かと考えていましたが,少なくともKerasを使う分には意識しなくても大丈夫みたいです.
- 格安でGPUサーバーを借りられるので,普段のPCとして使うのも良さそうです.
- ネットワーク料金もディスク容量もすべてコミコミの値段なので,すごいお得です.