スポットインスタンスを利用して、SageMaker でのモデル作成コストを最大90%削減する

Pocket

はじめに

今回は2019年8月28日に発表された、AWS SageMaker によるモデルトレーニング時のスポットインスタンス利用についてご紹介いたします。
※注意※
本稿はモデルトレーニング時のスポットインスタンス利用についてご紹介する内容です。
実際にスポットインスタンスを利用する手順や利用した結果を見たい方は以下の記事をご覧ください。
スポットインスタンスを利用して、SageMakerのモデルトレーニングをしてみた

SageMakerのモデルトレーニングにスポットインスタンスを利用する。

スポットインスタンスとは

スポットインスタンスとは、AWS クラウド内の使用されていない EC2 リソースを最大90%安く利用できるサービスです。
今まで SageMaker のモデルトレーニング時には、オンデマンドインスタンスと呼ばれるインスタンスが利用されおり、オンデマンドインスタンスでは、いわゆる通常料金の支払いが発生していました。
ですが、今回のアップデートで、スポットインスタンスを利用したモデルトレーニングを行うことが可能になり、いままでモデルトレーニングのインスタンスで発生していた料金を最大90%節約できるようになりました。

スポットインスタンス中断時について

スポットインスタンスは安く使えるという反面、ある一定条件下でインスタンスを中断するという性質があります。
本来であれば、中断に備えていくつかの準備をしておくことが必要です。
ですが、AmazonSageMaker のモデルトレーニングでスポットインスタンスを利用する際は、スポットインスタンス中断時に、トレーニングジョブを中断し、適切なスポットインスタンスを再度取得、モデルトレーニングを再開、続行のプロセスを自動で行います。

どういった場合にスポットインスタンスを利用して、モデルトレーニングを行うのか

スポットインスタンスを利用すれば、料金は安くなり、中断時のプロセスも自動でやってくれて、使わない手はないと思われる方がいるかもしれません。
ですが、1つ注意点があります。それは実行時間です。

スポットインスタンス利用時のモデルトレーニングでは、中断時のプロセスが発生する可能性があります。
このプロセスにより、通常のオンデマンドインスタンスでのトレーンング時間に加えて、指定したインスタンスのリクエスト、中断時のプロセス時間がかかります。

このことから、スポットインスタンスの利用は、モデルトレーニングに重要な時間制限がない場合に限ります。

おわりに

今回はモデルトレーニング時のスポットインスタンス利用についてご紹介しました。
次回は実際にスポットインスタンスを利用したモデルトレーニングを行い、どれだけ節約できるか確認します。
スポットインスタンスを利用して、SageMakerのモデルトレーニングをしてみた