Amazon Web Services ブログ

管理型スポットトレーニング: Amazon SageMaker トレーニングジョブで最大 90% を節約

Amazon SageMaker は、開発者やデータサイエンティストがあらゆる規模の機械学習 (ML) モデルを迅速かつ簡単に構築、トレーニング、デプロイできるようにする完全マネージド型プラットフォームです。組み込みアルゴリズムを使用するか、自分自身のものを使用するか、AWS Marketplace 内で使用可能なアルゴリズムから選択することがで、実験からスケールアウト生産までMLモデルを取得することは、かつてないほど簡単かつ迅速になりました。

One of the key benefits of Amazon SageMaker は重要な利点の 1 つは、作業するスケールにかかわらず、インフラストラクチャ管理から解放することです。たとえば、複雑なトレーニングクラスタのセットアップをし、管理する代わりに、Amazon SageMakerに使用する Amazon Elastic Compute Cloud (EC2) インスタンスタイプと必要な数を伝えるだけでかまいません。適切なインスタンスは、オンデマンドで作成され、設定され、トレーニングジョブが完了したら自動的に終了します。カスタマーが素早く理解するように、このことはトレーニングインスタンスを待機させるための支払いは行わず、コストを管理できる状態にするための簡単な方法であることを意味します。

管理型スポットトレーニングの紹介
ワンステップ更に進めて、当社はこれまでの Amazon SageMaker のオンデマンドのインスタンスを使用する場合に比べて、最大 90% のコストを削減することで ML トレーニングコストを下げることを支援する Amazon EC2 スポットインスタンスに基づいた新しい機能である Amazon SageMaker の管理型スポットトレーニングを発表することを非常に喜ばしく思っています。スポットインスタンスは約 10 年前にローンチされ、それ以来、AWS でスケール自在でコスト最適化された IT プラットフォームを構築する礎石となってきました。本日より、お使いの Amazon SageMaker トレーニングジョブが完全管理型のインフラすトラクター状で実行されるだけではなく、完全に管理されたコスト最適化の恩恵も受け、同じ予算でより多くの成果を上げることもできるようになりました。では、中を見ていきましょう!

管理型スポットトレーニングは、次のすべてのトレーニング設定で利用できます。

それは完全管理されたサービスの操作をするときに行うものであるため、セットアップすることは非常に簡単です。

  • コンソールを使用しているときは、その機能をオンにするだけです。
  • Amazon SageMaker SDKの操作を行うときには、train_use_spot_instancestrueEstimator コンストラクタで設定するだけです。

これを行うだけで、最大 90% を節約することができます。素晴らしいではありませんか。そう思いませんか?

中断とチェックポイント
管理型スポットトレーニングの操作をするときに重要な違いがあります。トレーニングジョブが完了するまで利用可能なオンデマンドトレーニングインスタンスとは異なり、管理型スポットトレーニングインスタンスは、より多くの容量が必要な場合にいつでも取り戻すことができます。

Amazon Elastic Compute Cloud (EC2) スポットインスタンスでは、2 分前に終了通知を受け取り、適切なアクションを講ずることができます。でも、心配しないでください。Amazon SageMakerは完全管理型サービスであるため、このプロセスを自動的に取り扱い、トレーニングジョブを中断して、適切なスポット容量を再び取得し、トレーニングジョブを再開または続行します。これにより、ジョブの開始時間とジョブの期間についてフレキシブルなときに、管理型スポットトレーニングは特に興味深いものになります。また、MaxWaitTimeInSeconds パラメータを使用して、トレーニングジョブの合計時間をコントロールすることもできます (実際のトレーニング時間プラス待ち時間)。

中断があったときにゼロからトレーニングジョブを再開することを避けるために、定期的にトレーニングのモデルを保存する技術であるチェックポイントを実施することを強くお勧めします。このおかげで、トレーニングモデルの最新モデルから適正に定めた時間通りにトレーニングジョブを再開できます。

  • 組み込みフレームワークとカスタムモデル: トレーニングコードに対して完全なコントロールをもちます。定期的にモデルのチェックポイントを Amazon Simple Storage Service (S3) に保存するために適切な API を使用していることを確認してください。その際にCheckpointConfig パラメータに定義された場所を使用し、SageMaker Estimatorに渡されされます。TensorFlow がデフォルトでチェックポイントを使用していることに留意してください。ほかのフレームワークについては、サンプルノートブックドキュメントの中に例が挙げられています。
  • 組み込みアルゴリズム: コンピュータービジョンのアルゴリズムは、チェックポイントをサポートしています (オブジェクト検出セマンティックセグメンテーション、そしてまもなく 画像分類)。大きなデータセットでトレーニングし、ほかのアルゴリズムよりも長く実行される傾向にあるため、中断される確率が高くなります。ほかの組み込みアルゴリズムは、現在チェックポイント設定をサポートしていません。

十分お話したと思いますので、ここで短いデモを見てみましょう!

管理型スポットトレーニングによる組み込みオブジェクト検出モデルのトレーニング
このサンプルノートブックを読み、AWS コンソールを使用して、オンデマンドトレーニングの代わりに管理型スポットトレーニングと同じジョブをトレーニングしてみましょう。前に説明したように、2 つのことに注意することだけが必要です。

  • 管理型スポットトレーニングを有効にする (明示的に)。
  • MaxWaitTimeInSeconds を設定する。.

最初にこのトレーニングジョブに名前を付け、適切な AWS Identity and Access Management (IAM) 権限 (変更なし) をもつことを確認します。

次に、オブジェクト検出のための組み込みアルゴリズムを選択します。

次に、トレーニングジョブのインスタンスカウントとインスタンスタイプを選択し、チェックポイントに十分なストレージがあることを確認します。

次のステップでは、ハイパーパラメータを設定し、ノートブックと同じものを使用します。その後、トレーニングデータセットのロケーションとプロパティを定義します。

検証データセットについて同じことを行います。

モデルのチェックポイントが保存される場所も定義します。これは、トレーニングジョブが中断されたときに、トレーニングジョブを続行するためにAmazon SageMaker が選択する場所です。

これは、最終モデルアーティファクトを保存する場所です。

「待ち人には良いこと来る」です。 ここで、管理型スポットトレーニングを有効にし、最大 48 時間の非常にゆったりとした待ち時間を設定します。

これで終わりです。このモデルのトレーニングをしましょう。トレーニングが完了すると、コスト節約が明確にコンソールに表示されます。

ご覧のとおり、2423 秒間トレーニングジョブを実行しましたが、マネージドスポットトレーニングのおかげで請求は 837 秒で行われ、65% 節約できます! このトピックにとどまっている間に、料金がどのように機能しているかについて説明します。

料金
管理型スポットトレーニングジョブは、それが完了する前、またはそれが終了する前に実行された時間について料金が請求されます。

チェックポイントを使用しない組み込みアルゴリズムと AWS Marketplace アルゴリズムの場合、最大トレーニング時間である 60 分間 (MaxWaitTimeInSeconds パラメータ) を施行しています。

最後になりましたが、トレーニングジョブを何度再開または再開しても、データのダウンロード時間は 1 回しか請求されません。

今すぐご利用いただけます!
この新機能は、Amazon SageMaker が利用可能なすべてのリージョンで利用可能ですから、待たずに、今すぐ節約を開始してください!

いつものように、皆さまからののフィードバックをお待ちしています。Amazon SageMakerAWS フォーラムに投稿するか、通常の AWS 連絡先を通じて送信してください。

Julien;