AWSのGPUインスタンスについてまとめています。
AWSのGPUインスタンス NVIDIAのGPU+DLAMI対応
Amazon EC2ではGPUつきのインスタンスを選択することが可能。
【関連記事】
▶AWSのインスタンス Amazon EC2サービスの料金と使い方
GPUはディープランニング目的で使用されることが多いです。GPUは、3D画像生成のためのポリゴン生成計算のため、数千以上のスレッド数で「似たような計算をする」のが得意です。このような計算特性が、ディープラーニングの計算にマッチしているんですね。
AWSでは、NVIDIAのGPU(Graphic Processing Board=グラフィックボード)を搭載したインスタンスが選択可能です。
- Amazon EC2 P3 インスタンス 最大 8 個の NVIDIA Tesla V100 GPU が搭載
- Amazon EC2 G3 インスタンス 最大 4 個の NVIDIA Tesla M60 GPU が搭載
- Amazon EC2 G4 インスタンス 最大 4 個の NVIDIA T4 GPU が搭載
- Amazon EC2 P4 インスタンス 最大 8 個の NVIDIA Tesla A100 GPU
関連)推奨 GPU インスタンス – Deep Learning AMI
上記のインスタンスはDLAMI(Deep Lerning AMI)に対応しています。DLAMIは、ディープラーニング用のAMIで、以下のディープラーニング用フレームワークに加えて、GPUと連携させるためのCUDAやcuDNNドライバー、Intel Mathカーネルライブラリ(MKL)も含んでいます。インスタンス立ち上げ後に、改めてTensorFlowなどのフレームワークをインストールする必要がないんですね。TensorFlowなどはインストールする際に依存ソフトウェアのバージョン等を合わせる手間がかかるので、インスタンス立ち上げですぐに使えるDLAMIは大きなメリットがあると言えるでしょう。
- Apache MXNet (incubating)
- Chainer
- Keras
- PyTorch
- TensorFlow
- TensorFlow 2
【関連記事】
▶AWSのAMIは、インスタンス起動用の仮想マシンイメージ 共有や購入、販売が可能
GPUつきのインスタンスを起動するには、EC2インスタンスの起動時にAmazon マシンイメージ(AMI)設定で、「Deep Learning」と検索欄に入力し、「Deep Learning AMI」を指定します。
DLAMIは、2021年時点で以下の通りです。
Deep Learning AMI (Ubuntu 18.04) Version 54.0 - ami-042b432b930cdde04 Deep Learning AMI GPU PyTorch 1.10.0 (Amazon Linux 2) 20211115 - ami-01a16356ed2a310d1 Deep Learning AMI (Amazon Linux 2) Version 56.0 - ami-0b331a9baeb8467ca Deep Learning Base AMI (Ubuntu 18.04) Version 47.0 - ami-004b823fa528179fb Deep Learning AMI GPU TensorFlow 2.7.0 (Amazon Linux 2) 20211111 - ami-0850c76a5926905fb Deep Learning Base AMI (Amazon Linux 2) Version 48.0 - ami-0192cf25bf5367cc8 Deep Learning AMI (Amazon Linux) Version 49.1 - ami-0cac369c1e2f9bc8d Deep Learning Base AMI (Amazon Linux) Version 38.1 - ami-072f1802b15869440
次に、インスタンスタイプの選択でGPU対応のファミリーとタイプを選択します。
NVIDIA Tesla V100 GPU 搭載のAmazon EC2 P3 インスタンスを利用したい場合は、Amazon EC2のインスタンスタイプの選択で、 ファミリーが「p3」または「p3dn」のタイプを選択します。p3ファミリーの搭載GPU数とGPUメモリは以下の通りです。
- p3.2xlarge GPU数1 GPUメモリ16GB
- p3.8xlarge GPU数4 GPUメモリ32GB
- p3.16xlarge GPU数8 GPUメモリ 64GB
- p3dn.24xlarge GPU数8 GPUメモリ 256GB
ディープラーニングのフレームワークが使える状態でGPUつきインスタンスを起動できます。
AWSのGPUつきインスタンスの料金
AWSのGPUつきインスタンスの料金は、AWS Pricing Calculatorで試算できます。NVIDIA Tesla V100 GPU 搭載のAmazon EC2 P3 インスタンスで30GBのEBS(SSDストレージ)を付加した場合のオンデマンドインスタンスの料金を見てみましょう。
【関連記事】
▶AWSの見積もりは、AWS Pricing Calculatorで自動計算 ユースケースから流用も可能
- Amazon Elastic Block Storage (EBS) の料金 (monthly) = 3.00 USD
- Amazon EC2 オンデマンドインスタンス (monthly) = 2,233.80 USD
- 合計月額コスト:2,236.80 USD
日本円にして1インスタンスが月に20万円以上かかる料金です。EBSを除いたオンデマンドインスタンスの料金内訳は以下の通りで、1時間3.06USDのインスタンスを730時間連続使用すると上記の金額になるんですね。
- 1 インスタンス x 3.06 USD x 730 時間 (1 か月間) = 2,233.80 USD (毎月のオンデマンドコスト)
- Amazon EC2 オンデマンドインスタンス (毎月): 2,233.80 USD
料金を下げるために、EC2インスタンスをスポットインスタンスで利用する選択肢もあります。
【関連記事】
▶AWSのEC2料金は、オンデマンドやスポットが選択可 利用予約や先払いで割引あり
スポットインスタンスは、余っているEC2インスタンスを低価格で利用できるというもの。需要と供給のバランスにより、価格は変動します。EC2管理画面の「スポットインスタンスのリクエスト」から、オンデマンドインスタンスの料金と、スポットインスタンスの料金を比較できます。
直近1週間の場合で、オンデマンド料金3.06ドルが、スポットだと0.918ドルで利用できます。70%引きの料金で利用できるんですね。もし平均0.918ドルで利用できたとすると、1ヶ月で670.14ドルになります。
また、上記は1ヶ月フルでインスタンスを起動し続けた場合の料金なので、使用していない時間はインスタンスを停止すれば、料金は大幅に節約できます。
AWSのGPUインスタンスまとめ
- AWSのEC2インスタンスでは、NVIDIAのGPUつきインスタンスが使用可能
- EC2インスタンスでGLAMIを選択すれば、ディープラーニング用のフレームワークが起動直後から使用可能
- スポットインスタンスを利用すれば、GPUつきインスタンスの料金を大きく節約可能