View a markdown version of this page

SageMaker トレーニングジョブのコンピューティングキャパシティを取得する - Amazon SageMaker AI

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

SageMaker トレーニングジョブのコンピューティングキャパシティを取得する

コンピューティングキャパシティをリクエストする前に、 AWS アカウントが次の前提条件を満たしていることを確認してください。これらの要件に順番に対処すると、一般的なプロビジョニングの失敗を回避できます。

ステップ 1: リージョンでインスタンスの可用性を確認する

すべてのインスタンスタイプがすべての AWS リージョンで使用できるわけではありません。トレーニングワークロードのインスタンスタイプを選択する前に、ターゲットリージョンで使用可能であることを確認します。

  • リージョンごとのインスタンスの可用性と料金を確認するには、SageMaker AI の料金」を参照してください。トレーニングタブを選択し、リージョンを選択すると、使用可能なインスタンスタイプ、仕様、時間単位の料金が表示されます。

インスタンスタイプがリージョンで使用できない場合:

  • リージョンで使用できる代替インスタンスタイプを選択します。GPU アクセラレーショントレーニングでは、同等の GPU メモリとネットワーク機能を備えたインスタンスファミリーを特定します。

  • ワークロードに特定のインスタンスタイプが必要で、データレジデンシーとコンプライアンス要件で許可されている場合は、そのインスタンスタイプが利用可能な別のリージョンでトレーニングジョブを実行することを検討してください。ターゲットリージョンからトレーニングデータにアクセスできることを確認するか、リージョン間のデータ転送を計画します。

アベイラビリティーゾーンごとにインスタンスの可用性を検証する

インスタンスの可用性は、リージョン内のアベイラビリティーゾーンによっても異なります。リージョンで提供されるインスタンスタイプは、必ずしもそのリージョンのすべてのアベイラビリティーゾーンで提供されるわけではありません。これは、プライベート VPC でトレーニングジョブを実行するときに重要です。指定したサブネットによって、SageMaker AI がインスタンスのプロビジョニングに使用できるアベイラビリティーゾーンが決まります。詳細については、「ステップ 3: VPC とサブネットを設定する (オプション)」を参照してください。

リージョンでインスタンスタイプを提供するアベイラビリティーゾーンを一覧表示するには、Amazon Elastic Compute Cloud DescribeInstanceTypeOfferings API を使用します。

aws ec2 describe-instance-type-offerings \ --location-type availability-zone \ --filters Name=instance-type,Values=p5.48xlarge \ --region us-east-1 \ --query 'InstanceTypeOfferings[].Location' \ --output table
注記

SageMaker AI インスタンスタイプ (p5.48xlarge) ではなく、Amazon Elastic Compute Cloud インスタンスタイプ () を指定しますml.p5.48xlarge。SageMaker AI トレーニングインスタンスタイプは、ml.プレフィックスが削除された同等の Amazon Elastic Compute Cloud インスタンスタイプにマッピングされます。

ステップ 2: サービスクォータを確認してリクエストする

AWS アカウントには、SageMaker トレーニングジョブで同時に使用できるインスタンスの数を制限するデフォルトのクォータがあります。各インスタンスタイプには独自のクォータがあります。

  • 現在のクォータを表示するには、Service Quotas コンソールを開き、使用するインスタンスタイプをフィルタリングします。

  • トレーニングジョブに必要なインスタンス数に対してクォータが不十分な場合は、クォータの引き上げをリクエストします。クォータの引き上げはすぐには行われません。計画されたトレーニング実行の前にリクエストを送信します。

ヒント

Flexible Training Plans の場合、サービスクォータはプラン内のインスタンス数以上である必要があります。詳細については、「AWS マネジメントコンソールを使用して SageMaker トレーニングプランのクォータを表示する」を参照してください。

ステップ 3: VPC とサブネットを設定する (オプション)

このステップは、プライベート VPC でトレーニングジョブを実行する場合にのみ適用されます。デフォルトでは、SageMaker トレーニングジョブは SageMaker AI が管理するネットワーク環境で実行され、VPC 設定は必要ありません。組織で、VPC エンドポイントまたはファイルシステムを介して Amazon S3 に保存されているデータなど、プライベート VPC 内のリソースにアクセスするためのトレーニングジョブが必要な場合は、 CreateTrainingJob API の VpcConfigパラメータSecurityGroupIdsSubnetsと を指定する必要があります。

VPC を設定すると、指定したサブネットによって、SageMaker AI がインスタンスのプロビジョニングに使用できるアベイラビリティーゾーンが決まります。

  • 複数のアベイラビリティーゾーンにサブネットを提供します。SageMaker AI per-Availability-Zoneキャパシティプールからトレーニングインスタンスをプロビジョニングします。より多くのアベイラビリティーゾーンにサブネットを含めると、SageMaker AI が引き出すことができるキャパシティープールが増え、インスタンスのプロビジョニングが成功する可能性が高まり、待機時間が短縮されます。可能な場合は、少なくとも 3 つのアベイラビリティーゾーンにサブネットを指定します。

    SageMaker AI は、1 つのサブネット (1 つのアベイラビリティーゾーン) 内の特定のジョブのすべてのインスタンスを引き続き起動し、それらを物理的に近く保ち、ノード間のレイテンシーを最小限に抑えます。追加のサブネットは、SageMaker AI が選択できるオプションのみを拡張します。1 つのジョブのインスタンスをアベイラビリティーゾーンに分散しません。

  • Flexible Training Plans の場合、サブネットをリザーブドキャパシティーに合わせます。各リザーブドキャパシティブロックは、特定のアベイラビリティーゾーンにプロビジョニングされます。Subnets の には、リザーブドキャパシティブロックがプロビジョニングされるアベイラビリティーゾーンが含まれているVpcConfig必要があります。異なるアベイラビリティーゾーンにまたがる複数のブロックを持つプランの場合は、関連するすべてのゾーンにサブネットを含めます。

  • データソースをトレーニングインスタンスのアベイラビリティーゾーンに合わせます。トレーニングデータが や Amazon EFS Availability-Zone-specificストレージサービスに存在する場合は、トレーニングインスタンスが実行されるのと同じアベイラビリティーゾーンからファイルシステムにアクセスできることを確認します。

キャパシティーオプションを選択する

オンデマンドインスタンス

オンデマンドは、SageMaker トレーニングジョブのデフォルトの容量オプションです。インスタンスは、トレーニングジョブの開始時にプロビジョニングされ、完了時に解放されます。コンピューティングの料金は 1 秒あたりで、アドホックジョブを実行する事前のコミットメントはありません。ジョブに必要な容量は、ジョブの送信中のリージョンでの可用性に基づいて、ベストエフォートベースで割り当てられます。

リクエストされたインスタンスタイプでオンデマンドキャパシティーが利用できない場合、トレーニングジョブは待機状態になります。を設定することで、2 時間から 28 日間の待機期間を設定できますMaxPendingTimeInSeconds。その期間内に容量が利用できなくなった場合、ジョブは で失敗しますInsufficientCapacityError

ヒント

連続するトレーニングジョブ間でオンデマンド容量を保持するには、マネージドウォームプールを有効にします。ウォームプールは、ジョブの完了後もプロビジョニングされたインスタンスを保持するため、後続のジョブは容量を再取得せずに同じインスタンスを再利用します。これは、ハイパーパラメータの調整や分散トレーニングのデバッグなどの反復的なワークロードに役立ちます。

マネージドスポットトレーニング

マネージドスポットトレーニングは、オンデマンド料金と比較して最大 90% のコスト削減で予備の Amazon EC2 スポット容量を使用します。SageMaker AI は、中断や自動再起動など、スポットライフサイクルを管理します。スポットトレーニングでは、ワークロードが中断される可能性があります。最後に保存された状態からジョブを再開するには、チェックポイント戦略が推奨されます。

スポットキャパシティプールは、インスタンスタイプとアベイラビリティーゾーンごとに定義されます。スポットの可用性を最大化するには、 で複数のアベイラビリティーゾーンにまたがるサブネットを指定しますVpcConfig.Subnets。ジョブを停止する前に SageMaker AI がスポット容量を待機する時間を制御するStoppingCondition.MaxWaitTimeInSecondsには、 を設定します。

詳細については、「Amazon SageMaker AI でのマネージドスポットトレーニング」を参照してください。

柔軟なトレーニングプラン

Flexible Training Plans を使用すると、特定の日付と期間に GPU 容量を事前に予約できます。容量を予約することで、オンデマンド GPU インスタンスタイプへの予測可能なアクセスが可能になり、トレーニングコストを事前に計画および予算化し、自動化されたリソース管理と耐障害性を活用できます。料金は、インスタンスタイプ、インスタンス数、予約期間、開始日によって異なります。特定の設定の料金を表示するには、 SearchTrainingPlanOfferings API または SageMaker AI コンソールを使用します。サポートされているインスタンスタイプについては、「」を参照してくださいML ワークロードの柔軟なトレーニングプランを予約する

プランを購入する前に、 AWS アカウントの SageMaker AI コンソールから、または SearchTrainingPlanOfferings API を使用して、利用可能なトレーニングプランサービスを検索します。利用可能なサービスには、インスタンスタイプ、期間、料金、キャパシティがプロビジョニングされるアベイラビリティーゾーンなどがあります。

注記

Flexible Training Plans を検索して購入するには、IAM ID に sagemaker:SearchTrainingPlanOfferingsおよび を含む適切なアクセス許可が必要ですsagemaker:CreateTrainingPlan。必要なアクションの完全なリストについては、Amazon SageMakerで定義されるアクション」を参照してください。

ヒント

トレーニングジョブがプライベート VPC で実行されている場合、各リザーブドキャパシティブロックは特定のアベイラビリティーゾーンにプロビジョニングされます。Subnets の には、リザーブドキャパシティブロックがプロビジョニングされるアベイラビリティーゾーンが含まれているVpcConfig必要があります。異なるアベイラビリティーゾーンにまたがる複数のブロックを持つプランの場合は、関連するすべてのゾーンにサブネットを含めます。

Flexible Training Plans は、特定のインスタンスタイプのセットをサポートし、一部の AWS リージョンで利用できます。サポートされている設定については、「」を参照してくださいML ワークロードの柔軟なトレーニングプランを予約する。料金については、SageMaker AI の料金」を参照してください。

ヒント

SageMaker トレーニングジョブを使用した分散トレーニングワークロードのベストプラクティスについては、Amazon SageMakerでの大規模言語モデルのトレーニング: ベストプラクティス」を参照してください。