HyperPod でのモデルデプロイのタスクガバナンス - Amazon SageMaker AI

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

HyperPod でのモデルデプロイのタスクガバナンス

このセクションでは、リアルタイム推論ワークロード用に共有 Amazon SageMaker HyperPod EKS クラスターを最適化する方法について説明します。クォータ管理、優先度スケジューリング、リソース共有ポリシーなど、Kueue のタスクガバナンス機能を設定して、チームのトレーニング、評価、テストアクティビティ全体で公平な配分を維持しながら、トラフィックの急増時に推論ワークロードに必要な GPU リソースを確実に取得する方法について説明します。タスクガバナンスの詳細については、SageMaker HyperPod タスクガバナンス「」を参照してください。

推論ワークロード管理の仕組み

共有 HyperPod EKS クラスターのリアルタイムの推論トラフィックの急増を効果的に管理するには、Kueue の既存の機能を使用して次のタスクガバナンス戦略を実装します。

Priority クラス設定

重みが高い推論ワークロード (100 など) 専用の優先度クラスを定義して、推論ポッドが他のタスクタイプより先に許可およびスケジュールされるようにします。この設定により、推論ワークロードはクラスターのロード中に優先度の低いジョブを優先できます。これは、トラフィックの急増時に低レイテンシー要件を維持する上で重要です。

クォータのサイズ設定と割り当て

予想される推論スパイクを処理するClusterQueueのに十分な GPU リソースをチームの に予約します。推論トラフィックが少ない期間中は、未使用のクォータリソースを他のチームのタスクに一時的に割り当てることができます。推論の需要が増加すると、これらの借用リソースを再利用して、保留中の推論ポッドに優先順位を付けることができます。詳細については、「クラスターキュー」を参照してください。

リソース共有戦略

要件に基づいて 2 つのクォータ共有アプローチから選択します。

  1. 厳格なリソース制御: クォータの貸借を無効にして、リザーブド GPU 容量がワークロードで常に使用可能であることを保証します。このアプローチでは、ピーク需要を個別に処理するのに十分なサイズのクォータが必要であり、トラフィックが少ない時間帯にアイドルノードが発生する可能性があります。

  2. Flexible Resource Sharing: クォータの借用を有効にして、必要に応じて他のチームのアイドル状態のリソースを活用します。借りたポッドはプリエンプティブルとマークされ、融資チームがキャパシティを再利用すると削除される可能性があります。

チーム内プリエンプション

同じクォータで混合ワークロード (評価、トレーニング、推論) を実行する場合、チーム内プリエンプションを有効にします。これにより、Kueue はチーム内の優先度の低いジョブを優先して優先度の高い推論ポッドに対応できるため、外部クォータの借用に応じて、リアルタイム推論を なしで実行できます。詳細については、「プリエンプション」を参照してください。

サンプル推論ワークロードの設定

次の例は、Kueue が共有 Amazon SageMaker HyperPod クラスター内の GPU リソースを管理する方法を示しています。

クラスター設定とポリシー設定

クラスターには次の設定があります。

  • チーム A: 10 P4 GPU クォータ

  • チーム B: 20 P4 GPU クォータ

  • 静的プロビジョニング: 自動スケーリングなし

  • 合計容量: 30 P4 GPUs

共有 GPU プールはこの優先度ポリシーを使用します。

  1. リアルタイム推論: Priority 100

  2. トレーニング: Priority 75

  3. 評価: Priority 50

Kueue は、チームのクォータと優先度クラスを適用し、プリエンプションとクォータの借用を有効にします。

初期状態: 通常のクラスター使用率

通常のオペレーションの場合:

  • チーム A は 10 個の P4 GPUs すべてでトレーニングジョブと評価ジョブを実行します

  • チーム B は、20 個の GPU クォータ内でリアルタイム推論 (10 P4s) と評価 (10 P4s) を実行します。

  • クラスターは、許可および実行されているすべてのジョブで完全に利用されます。

推論の急増: チーム B には追加の GPUsが必要です

チーム B でトラフィックが急増した場合、追加の推論ポッドにはさらに 5 つの P4 GPUsが必要です。Kueue は、新しいポッドが以下であることを検出します。

  • チーム B の名前空間内

  • Priority 100 (リアルタイム推論)

  • クォータの制約による保留中のアドミッション

Kueue の応答プロセスは、次の 2 つのオプションから選択します。

オプション 1: クォータの借用 - チーム A が 10 P4s のうち 6 個しか使用していない場合、Kueue はアイドル状態の 4 個の P4s。ただし、これらの借用リソースは使用不可です。チーム A がジョブを送信してクォータ全体に達すると、Kueue はチーム B の借用推論ポッドを削除します。

オプション 2: セルフプリエンプション (推奨) - チーム B は優先度の低い評価ジョブ (優先度 50) を実行します。優先度の高い推論ポッドが待機している場合、Kueue はチーム B のクォータ内の評価ジョブを優先し、推論ポッドを承認します。このアプローチは、外部エビクションリスクなしで安全なリソース割り当てを提供します。

Kueue は 3 ステップのプロセスに従ってリソースを割り当てます。

  1. クォータチェック

    質問: チーム B には未使用のクォータがありますか?

    • はい → ポッドを承認します

    • いいえ → ステップ 2 に進む

  2. チーム B 内のセルフプリエンプション

    質問: 優先度の低いチーム B ジョブを優先できますか?

    • はい → 評価ジョブを優先 (優先度 50)、PP4s 5 個無料、推論ポッドを承認する

    • いいえ → ステップ 3 に進む

    このアプローチは、ワークロードをチーム B の保証クォータ内に維持し、外部エビクションリスクを回避します。

  3. 他のチームからの借用

    質問: 他のチームからのアイドルで借用可能なクォータはありますか?

    • はい → 借用クォータ (プリエンプティブルとしてマーク) を使用して承認する

    • いいえ → Pod は NotAdmitted状態のままです