Amazon Web Services ブログ

新しい Amazon SageMaker HyperPod タスクガバナンスを使用して、モデル開発のためにアクセラレーターの使用率を最大化

12 月 4 日、Amazon SageMaker HyperPod タスクガバナンスの一般提供の開始を発表しました。これは、トレーニング、ファインチューニング、推論などの生成 AI モデル開発タスク全体で GPU と Tranium の使用率を簡単かつ一元的に管理し、最大化するための新しいイノベーションです。

お客様から、生成 AI プロジェクトへの投資が急速に増加しているものの、限られたコンピューティングリソースを効率的に割り当てることにおいて課題に直面しているとの報告を受けています。リソース割り当てについての動的で一元化されたガバナンスが不足すると、一部のプロジェクトではリソースが十分に活用されず、他のプロジェクトでは停滞してしまい、非効率が生じます。この状況では、絶えず計画し直さなければならないという負担が管理者に生じ、データサイエンティストやデベロッパーの作業が遅れ、AI イノベーションの実現に遅れが生じ、リソースの非効率的な使用によるコスト超過が発生します。

SageMaker HyperPod タスクガバナンスを使用すると、コンピューティングリソースの活用不足によるコスト超過を回避しながら、AI イノベーションのための市場投入までの時間を短縮できます。管理者は、いくつかのステップを実行することで、プロジェクトの予算とタスクの優先度に基づいてコンピューティングリソースの割り当てを管理するクォータを設定できます。データサイエンティストやデベロッパーは、モデルトレーニング、ファインチューニング、評価などのタスクを作成できます。SageMaker HyperPod は、割り当てられたクォータ内でこれらのタスクを自動的にスケジュールして実行します。

SageMaker HyperPod タスクガバナンスはリソースを管理し、高優先度タスクにすぐに対応する必要がある場合に、低優先度タスクからコンピューティングを自動的に解放します。これは、低優先度のトレーニングタスクを一時停止し、チェックポイントを保存して、後でリソースが使用可能になったときに再開することで行われます。さらに、チームのクォータ内のアイドルコンピューティングは、別のチームの待機タスクを加速するために自動的に使用できます。

データサイエンティストとデベロッパーは、タスクキューを継続的にモニタリングし、保留中のタスクを表示して、必要に応じて優先順位を調整できます。また、管理者は、スケジュールされたタスクとコンピューティングリソースの使用状況をチームとプロジェクト全体でモニタリングおよび監査することもできます。その結果、割り当てを調整してコストを最適化し、組織全体でリソースの可用性を改善できます。このアプローチにより、リソースの効率を最大化しながら、重要なプロジェクトを適時に完了できます。

SageMaker HyperPod タスクガバナンスの開始方法
タスクガバナンスは、HyperPod の Amazon EKS クラスターのために使用できます。クラスターのプロビジョニングと管理については、Amazon SageMaker AI コンソール[HyperPod クラスター] の下にある [クラスター管理] をご覧ください。管理者は、このコンソールを通じて HyperPod クラスターの操作とスケーリングを効率化できます。

HyperPod クラスターを選択すると、クラスターの詳細ページに新しい [ダッシュボード][タスク]、および [ポリシー] タブが表示されます。

1.新しいダッシュボード
新しいダッシュボードでは、クラスターの使用率、チームベース、およびタスクベースのメトリクスの概要を確認できます。

まず、すべてのインスタンスグループにわたる GPU、vCPU、メモリ使用率などの重要なコンピューティングリソースのポイントインタイムとトレンドベースの両方のメトリクスを表示できます。

次に、チーム固有のリソース管理に関する包括的なインサイトを得て、チーム全体におけるコンピューティング割り当てに照らして GPU 使用率を重点的に確認できます。チームとクラスターインスタンスグループのカスタマイズ可能なフィルターを使用して、タスクのために割り当てられた GPU/CPU、借りた GPU/CPU、GPU/CPU 使用率などのメトリクスを分析できます。

実行中、保留中、およびプリエンプトされたタスクの数、ならびに平均タスク実行時間と待機時間などのメトリクスを使用して、タスクのパフォーマンスとリソース割り当ての効率を評価することもできます。SageMaker HyperPod クラスターのリソースとソフトウェアコンポーネントに関する包括的なオブザーバビリティを得るには、Amazon CloudWatch Container Insights または Amazon Managed Grafana と統合できます。

2.クラスターポリシーを作成して管理する
タスクの優先順位付けと公平なリソース割り当てを有効にするために、重要なワークロードを優先し、コンピューティング割り当てで定義されたチーム間でアイドルコンピューティングを配分するクラスターポリシーを設定できます。

クラスターの設定で優先度クラスと借りたコンピューティングの公平な共有を設定するには、[クラスターポリシー] セクションで [編集] を選択します。

キューで待機しているタスクが、タスクの優先順位付けでどのように受け入れられるかを定義できます: [先着順] (デフォルト) または [タスクのランク付け]。[タスクのランク付け] を選択すると、キューで待機しているタスクは、このクラスターポリシーで定義されている優先順位で受け入れられます。同じ優先度クラスのタスクは、先着順で実行されます。

また、アイドルコンピューティングをチーム間で割り当てる方法も設定できます: [先着順] または [公平な共有] (デフォルト)。公平な共有の設定により、チームは割り当てられた重みに基づいてアイドルコンピューティングを借りることができます。この重みは、相対コンピューティング割り当てで設定されます。これにより、すべてのチームがアイドルコンピューティングを公平に共有して、待機中のタスクを高速化できます。

[ポリシー] ページの [コンピューティング割り当て] セクションでは、コンピューティング割り当てを作成および編集して、チーム間でコンピューティングリソースを配分したり、アイドル状態のコンピューティングをチームが貸し借りできるようにする設定を有効にしたりできるほか、自らの低優先度のタスクのプリエンプションを設定し、チームに公平な共有の重みを割り当てることもできます。

[チーム] セクションでチーム名を設定すると、データサイエンスチームと機械学習 (ML) チームが使用できる、対応する Kubernetes 名前空間が作成されます。未使用のキャパシティをチーム間でより公平に配分するために公平な共有の重みを設定し、タスクの優先度に基づいてプリエンプションオプションを有効にして、優先度の高いタスクが優先度の低いタスクをプリエンプトできるようにすることができます。

[コンピューティング] セクションでは、インスタンスタイプのクォータを追加してチームに割り当てることができます。さらに、クラスターでまだ使用できないインスタンスタイプのクォータを割り当てて、将来の拡張に備えることもできます。

チームが未使用のキャパシティを他のチームに貸し出すことを許可することで、アイドル状態のコンピューティングリソースを共有できるようにすることができます。この借用モデルは相互的です。チームがアイドル状態のコンピューティングを借りることができるのは、自らの未使用のリソースを他のチームと共有する意思がある場合のみです。また、チームが割り当てられたクォータを超えてコンピューティングリソースを借りられるようにする借用制限を指定することもできます。

3.SageMaker HyperPod クラスターでトレーニングタスクを実行する
データサイエンティストは、HyperPod コマンドラインインターフェイス (CLI) コマンドを使用して、トレーニングジョブを送信し、チームに割り当てられたクォータを使用できます。HyperPod CLI を使用すると、ジョブを開始し、割り当てを持つ、対応する名前空間を指定できます。

$ hyperpod start-job --name smpv2-llama2 --namespace hyperpod-ns-ml-engineers
Successfully created job smpv2-llama2
$ hyperpod list-jobs --all-namespaces
{
 "jobs": [
  {
   "Name": "smpv2-llama2",
   "Namespace": "hyperpod-ns-ml-engineers",
   "CreationTime": "2024-09-26T07:13:06Z",
   "State": "Running",
   "Priority": "fine-tuning-priority"
  },
  ...
 ]
}

[タスク] タブでは、クラスター内のすべてのタスクを確認できます。各タスクの優先度とキャパシティニーズはポリシーに応じて異なります。優先度のより高い別のタスクを実行すると、既存のタスクが一時停止され、その別のタスクが最初に実行されます。

では、優先度の低いタスクの実行中に優先度の高いトレーニングタスクが追加された場合に何が起こるかを示すデモ動画を見てみましょう。

詳細については、「Amazon SageMaker AI デベロッパーガイド」の「SageMaker HyperPod task governance」にアクセスしてください。

今すぐご利用いただけます
Amazon SageMaker HyperPod タスクガバナンスは、米国東部 (バージニア北部)、米国東部 (オハイオ)、米国西部 (オレゴン) の AWS リージョンでご利用いただけるようになりました。HyperPod タスクガバナンスは追加コストなしでご利用いただけます。詳細については、SageMaker HyperPod の製品ページにアクセスしてください。

Amazon SageMaker AI コンソールで HyperPod タスクガバナンスをお試しいただき、AWS re:Post for SageMaker に、または通常の AWS サポートの連絡先を通じて、フィードバックをぜひお寄せください。

Channy

P.S.HyperPod テスト環境の作成に貢献してくれた AWS の Senior Generative AI Specialist Solutions Architect である Nisha Nadkarni に特に感謝します。

原文はこちらです。