大柳です。
【2017/9/29追記】
2017年9月21日にGCPにNvidia P100 GPUのインスタンスがベータで追加されました。
【2017/7/31追記】
2017年7月13日にAWSにG2インスタンスの後継としてG3インスタンスが新たに追加されました。
※東京リージョンではまだ提供開始されておりません。(2017年7月現在)
2017年5月にAWSで東京リージョンでもP2インスタンスが利用可能になりました。
2017年5月に、AzureでNVシリーズの東日本リージョンでの提供が開始されました。
先日、GCP(Google Cloud Platform)でGPUインスタンスが利用可能になったと発表されました。GCPの対応によりAWS、Azure、GCPの主要なクラウドでGPUインスタンスが出揃った形になります。
GPUインスタンスは機械学習や科学計算などHPC(high-performance computing)に利用されます。最近、話題になった線画自動着色の「PaintsChainer」のような機械学習には高い計算能力が必要で、GPUは必須のツールです。
PaintsChainer -線画自動着色サービス-
クラウドであれば、GPUインスタンスも時間課金で利用可能でコストを抑えることができます。
今回の記事では主要3クラウドで提供されるGPUインスタンスの比較をしてみます。
AWS
AWSでGPUを搭載しているインスタンスはG2、P2の2種類があります。
AWSはGPUを搭載したインスタンスを他のクラウド事業者に先駆けて提供を始めています。G2インスタンス(g2.2xlarge)は2013年11月に提供を開始、P2インスタンスは2016年9月に提供を開始しています。
G2で使用されているGPUは、NVIDIA GRID K520で、3Dレンダリング、動画エンコーディングなどグラフィック処理向けです。
G3で使用されているGPUは、NVIDIA Tesla M60 で、G2と同じく3Dレンダリング、動画エンコーディングなどグラフィック処理向けです。
P2で使用されているGPUは、NVIDIA Tesla K80で、用途は機械学習や金融工学、分子モデルシミュレーションなどHPCです。
課金は1時間単位です。
2017年5月に、NVシリーズの東日本リージョンでの提供が開始されました。
Azure
AzureでGPUを搭載しているインスタンスはNシリーズのみです。
Nシリーズは2016年12月に提供が開始されました。
NVインスタンスで使用されているGPUは、NVIDIA Tesla M60 GPUで、GPUを仮想化して共有し、グラフィックアプリケーションなどをクラウド上の仮想デスクトップ環境で利用することができます。
NCインスタンスで使用されているGPUは、NVIDIA Tesla K80で、AWSのP2と同じです。
課金は1分単位です。2017年3月現在、国内では東日本、西日本リージョンともNシリーズは提供されていません。
GCP
GCPでは一部のインスタンスタイプを除いて、GPUを任意のインタンスに追加することができます。
GPUは2017年3月に一般向けに提供が開始されました。
利用可能なGPUは、NVIDIA Tesla K80で、AWSのP2と同じです。
また、ベータ版ながらNvidia P100 GPUも利用可能です(2017/9/29時点でベータ提供)
課金は最低10分から、以降は1分単位です。2017年3月現在、東京リージョンでは提供されていません。
各クラウドの比較
各クラウドで利用可能なインスタンス種類、GPUのモデル名、CPU、メモリは以下の比較表のようになります。
vCPU数、メモリサイズも大きく、ハイスペックなインスタンスが多いです。
クラウド | インスタンスタイプ | GPU | GPU数 | vCPU | メモリ(GB) | 利用可能なリージョン・備考 |
---|---|---|---|---|---|---|
AWS | p2.xlarge | NVIDIA Tesla K80 | 1 | 4 | 61 | バージニア北部、オレゴン、アイルランド、GovCloud |
p2.8xlarge | 8 | 32 | 488 | |||
p2.16xlarge | 16 | 64 | 732 | |||
g2.2xlarge | NVIDIA GRID K520 | 1 | 8 | 15 | 東京、米国西部(北カリフォルニア)、フランクフルト、シンガポール、シドニー、バージニア北部、オレゴン、アイルランド | |
g2.8xlarge | 4 | 32 | 60 | |||
Azure | NC6 | NVIDIA Tesla K80 | 1 | 6 | 56 | 米国中南部、米国東部 |
NC12 | 2 | 12 | 112 | |||
NC24 | 4 | 24 | 224 | |||
NC24r | 4 | 24 | 224 | InfiniBandも併用 | ||
NV6 | NVIDIA Tesla M60 GPU | 1 | 6 | 56 | 東南アジア、米国中南部、米国中北部、米国東部、西ヨーロッパ | |
NV12 | 2 | 12 | 112 | |||
NV24 | 4 | 24 | 224 | |||
GCP | - | NVIDIA Tesla K80 or Nvidia P100 GPU(ベータ版,4GPUまで) | 1 | 1-8 | 1-52 | サウスカロライナ、ベルギー、台湾 |
- | 2 | 1-16 | 1-104 | |||
- | 4 | 1-32 | 1-208 | |||
- | 8 | 1-32 | 1-208 |
まとめ
最後に、コストの話をすると、GPUインスタンスの利用料金はAWSのp2.xlargeの利用料金は1時間当たり$0.9(オレゴン)ですので、1日だと$21.6(約2,500円)、1カ月だと$669.6(約77,000円)です。
高く感じるかもしれませんが、K80を搭載したオンプレのサーバを調達すると200万円くらいからになるので、クラウドなら初期投資なしで、手軽に使い始めることができます。
2017年7月現在、国内リージョンでGPUが利用できるのはAWSとAzureになります。
各クラウドで様々な種類のGPUインスタンスが利用できることがお分かりいただけたかと思います。
今後はOpenCVや今流行りのディープラーニングなどをGPUインスタンスで使ってみて検証をしてみたいです。
最後までお読みいただきありがとうございました。