社内で作ったディープラーニング用のマシン(GPUはRTX2070使用)とAWSでのG3系インスタンスとの学習時のパフォーマンスを比較した。
※OSはubuntu16.04 ※g3.8xlargeとg3.16xlargeに関しては複数GPUで試そうとしたところ、以下のエラーが出たため測定NGですべてGPU数「1」で測定。 tensorflow.python.framework.errors_impl.InvalidArgumentError: Can’t concatenate scalars (use tf.stack instead) for ‘yolo_loss_1/concat’ (op: ‘ConcatV2’) with input shapes: [], [], [], [].
kerasやtensorflowとのバージョンとの兼ね合いか?引き続き調査。
| 対象 | GPU数 | 1ポックあたりの秒数 | 結果 |
| 社内マシン | 1 | 60s前後 | - |
| g3s.xlarge | 1 | 120-200s | 社内マシンの勝ち! |
| g3.4xlarge | 1 | 55-60s | 社内マシンと引き分け |
| g3.8xlarge | 1(2) | 50-55s | 社内マシンより10%程早い |
| g3.16xlarge | 1(4) | 50-55s | 社内マシンより10%程早い |
となりました。 よって社内マシンでも充分高速とわかり、収穫ありました。 複数GPUでのエラーについては引き続き調査し、再度測定する予定です。
■追記 複数GPUでもパフォーマンスはほぼ変わらなかった。 複数GPU環境でパフォーマンスをアップさせるにはいくつか条件が必要の模様。