AWS Batch におけるサービス環境とは
サービス環境は、AWS Batch を SageMaker AI と統合する上で必要な設定パラメータを含む AWS Batch リソースです。サービス環境により、AWS Batch は AWS Batch のキューイング、スケジューリング、優先度管理機能を提供しながら、SageMaker トレーニングジョブを送信および管理できます。
サービス環境は、データサイエンスチームが機械学習ワークロードを管理する際に直面する一般的な課題に対処します。多くの場合、組織はトレーニングモデルで使用できるインスタンスの数を制限して偶発的な過剰支出を防止し、予算の制約に対応し、リザーブドインスタンスでコストを削減し、ワークロードにおいて特定のインスタンスタイプを使用します。しかし、データサイエンティストは、割り当てられたインスタンスで実行できる数よりも多くのワークロードを同時に実行したい場合もあり、どのワークロードをいつ実行するかを手動で調整する必要があります。
この調整の課題は、データサイエンティストの少ないチームから大規模な運用に至るまで、あらゆる規模の組織に影響を与えます。組織が成長するにつれて、複雑さが増し、ワークロードの調整管理にさらに時間がかかるようになり、インフラストラクチャ管理者の関与が必要になることがよくあります。これらの手動作業により、時間が浪費され、インスタンスの効率が低下し、顧客には実際のコストが発生します。
サービス環境では、データサイエンティストと ML エンジニアは設定可能なキューに優先順位を付けて SageMaker トレーニングジョブを送信できるため、ワークロードはリソースが利用可能になったら介入せずともすぐ自動的に実行されます。この統合では、AWS Batch の広範なキューイング機能およびスケジューリング機能を活用し、顧客は組織の目標に合わせてキューイングおよびスケジューリングのポリシーをカスタマイズできます。
サービス環境を他の AWS Batch コンポーネントと連携させる方法
サービス環境を他の AWS Batch コンポーネントと統合し、SageMaker トレーニングジョブのキューイングを有効にします。
-
ジョブキュー - サービス環境はジョブキューに関連付けられ、キューが SageMaker トレーニングジョブのサービスジョブを処理できるようにします。
-
サービスジョブ - サービス環境に関連付けられたキューにサービスジョブを送信すると、AWS Batch は環境の設定を使用して対応する SageMaker トレーニングジョブを送信します。
-
スケジューリングポリシー - サービス環境は AWS Batch スケジューリングポリシーと連携し、SageMaker トレーニングジョブの実行順序の優先順位付けと管理を行います。
この統合により、SageMaker トレーニングジョブの完全な機能と柔軟性を維持しつつ、AWS Batch の成熟したキューイング機能およびスケジューリング機能を活用できます。
サービス環境のベストプラクティス
サービス環境は、SageMaker トレーニングジョブを大規模に管理するための機能を提供します。これらのベストプラクティスに従うことで、機械学習ワークフローに影響を与えかねない一般的な設定の問題を回避しながら、コスト、パフォーマンス、運用効率を最適化できます。
サービス環境の容量を計画するときは、SageMaker トレーニングジョブのキューイングに適用される特定のクォータと制限を考慮してください。各サービス環境には、インスタンス数で表される最大容量制限があり、これによって同時に実行できる SageMaker トレーニングジョブの数が直接制御されます。これらの制限を理解することで、リソースの競合を防ぎ、予測可能なジョブ実行時間を確保できます。
最適なサービス環境のパフォーマンスは、SageMaker トレーニングジョブスケジューリングならではの特性を理解することにかかっています。従来のコンテナ化されたジョブとは異なり、サービスジョブは SCHEDULED 状態に移行し、SageMaker AI は必要なトレーニングインスタンスを取得してプロビジョニングします。つまり、ジョブの開始時間は、インスタンスの可用性とリージョンの容量によって大きく異なる可能性があります。
重要
サービス環境には、SageMaker トレーニングワークロードのスケーリング能力に影響を与える可能性のある特定のクォータがあります。アカウントごとに最大 50 のサービス環境を作成できます。各ジョブキューは、関連付けられた 1 つのサービス環境のみをサポートします。さらに、個々のジョブのサービスリクエストペイロードは 10 KiB に制限され、SubmitServiceJob API はアカウントごとに 1 秒あたり 5 トランザクションに制限されます。キャパシティプランニング中にこれらの制限を理解することで、予期しないスケーリングの制約を回避できます。
サービス環境を効果的にモニタリングするには、AWS Batch と SageMaker AI サービスメトリクスの両方に注意する必要があります。ジョブ状態遷移は、システムパフォーマンス、特にキャパシティの可用性パターンを示す SCHEDULED 状態で費やされた時間に関する貴重なインサイトを提供します。サービス環境は、コンピューティング環境と同様に独自のライフサイクル状態を維持し、運用上の健全性を監視する必要がある CREATING、VALID、INVALID、DELETING 状態に遷移します。通常、モニタリングプラクティスが成熟している組織は、キューの深さ、ジョブ完了率、インスタンス使用率パターンを追跡し、サービス環境の設定を時間をかけて最適化します。