Dynamic Workload Scheduler: リソースへのアクセスと AI / ML ワークロード経済性を最適化
Google Cloud Japan Team
※この投稿は米国時間 2023 年 12 月 7 日に、Google Cloud blog に投稿されたものの抄訳です。
現在は AI 主導によるイノベーションと変革という刺激的な時代にあります。本日、Google は AI ハイパーコンピュータを発表しました。AI に最適化されたハードウェア、ソフトウェア、利用モデルを統合したシステムを採用した画期的なアーキテクチャです。AI ハイパーコンピュータにより、全世界の企業が Google 社内ですでに AI / ML に関する研究、開発、トレーニング、サービス提供のバックボーンとなっている最先端のインフラストラクチャを活用できます。
しかしながら TPU および NVIDIA GPU に対する圧倒的な需要により、効果的なリソース管理の重要性がこれまで以上に増しています。
これに対応するため、本日、GPU や TPU にアクセスするためのシンプルかつパワフルな新しいアプローチである Dynamic Workload Scheduler を発表します。このブログ投稿では、Dynamic Workload Scheduler とはどのようなものか、さらに、その仕組みと使用方法について技術者向けに詳しくご紹介します。
Dynamic Workload Scheduler とは
Dynamic Workload Scheduler は AI ハイパーコンピュータ向けに設計された、リソース管理とジョブ スケジューリングのプラットフォームです。Dynamic Workload Scheduler により、同時に必要となるすべてのアクセラレータをスケジューリングすることで、AI / ML リソースへのアクセス向上、費用の最適化の実現をサポートし、トレーニングやファインチューニング ジョブなどのワークロードを改善します。Dynamic Workload Scheduler は TPU および NVIDIA GPU をサポートし、Google ML フリートから進歩したスケジューリングを Google Cloud のお客様に提供します。Dynamic Workload Scheduler は、多くの Google Cloud AI / ML サービスにも統合されています。Compute Engine マネージド インスタンス グループ、Google Kubernetes Engine、Vertex AI、Batch のほか、今後も追加される予定です。
2 つのモード: Flex Start と Calendar
Dynamic Workload Scheduler には 2 つのモードがあります。1 つはリソースの取得可能性を高め、最適化された経済性を実現する Flex Start モード、もう 1 つはジョブ開始日時の予測性が高い場合に使用する Calendar モードです。
- Flex Start モード: GPU および TPU への効率的なアクセスと経済性の向上
Flex Start モードはモデルの微調整、テスト、短期間のトレーニング ジョブ、抽出、オフライン推論、バッチジョブ向けに設計されています。Flex Start モードを使用すれば、ジョブを実行する準備ができたときに、GPU と TPU の容量をリクエストできます。
Dynamic Workload Scheduler を Flex Start モードで使用する場合、AI / ML ジョブの GPU の容量を必要な量、期間、希望のリージョンを指定してリクエストします。Dynamic Workload Scheduler がインテリジェントにリクエストを維持し、容量が使用可能になったときに自動的に VM をプロビジョニングして、容量が割り当てられている期間中に途切れなくワークロードを実行できるようにします。Dynamic Workload Scheduler は容量のリクエストを最大 7 日間維持します。最短期間の要件はありません。容量のリクエストの期間は最短で数分や数時間の単位から指定できます。通常、長時間のリクエストより短時間のリクエストの方が早く実行されます。
トレーニング ジョブが早く終わった場合は、VM を終了させてリソースを開放し、ワークロードで実際に使用した分だけ料金が発生するようにできます。後で使用するために、アイドル状態のリソースを確保しておく必要がなくなりました。
AI / ML ワークロード向けに GKE ノードプールを使用している場合は、Kueue のようなオーケストレータを介して Dynamic Workload Scheduler を簡単に使用できます。Ray、Kubeflow、Flux、PyTorch などの一般的な ML フレームワークとその他のトレーニング オペレータはデフォルトでサポートされています。これを有効にする手順は次のとおりです。
ステップ 1: 「enable-queued-provisioning」オプションを有効にしてノードプールを作成します。
ステップ 2: GKE ジョブを作成する場合は、Kueue および Dynamic Workload Scheduler で実行されるようにラベルを付けます。後は Kueue が自動的に容量リクエストを送信し、ジョブ開始のオーケストレーションを行います。
2.Calendar モード: AI ワークロードの開始時間を予約する [2024 年 Q1 プレビュー]
Calendar モードは、正確な開始日時と決まった期間に必要となるトレーニングとテストのワークロードに対応します。このモードは、9 月に発表された将来の予約機能を拡張するものです。
Calendar モードを使用すれば、指定した期間の容量ブロックを GPU にリクエストできるようになります。最初は 7 日間または 14 日間の将来の予約を、最も早くて 8 週間前から購入することができます。利用可能な場合は予約が確定し、リクエストした開始日時に指定したプロジェクトに容量が割り当てられます。VM ではこの予約をターゲットとして、使用する容量ブロックを指定できます。指定された期間の終わりに、VM は終了され、予約が削除されます。
ステップ 1: Calendar モードの将来の予約を作成します。
ステップ 2: 予約アフィニティを指定して VM を実行し、本日使用可能な Compute Engine、マネージド インスタンス グループ、または GKE API を通じて希望する開始日時に送信される予約を指定します。
Dynamic Workload Scheduler に関するお客様の声
Dynamic Workload Scheduler は Google の Borg テクノロジーを基盤としています。このテクノロジーは、世界でも最大級の分散 LLM トレーニング ジョブ(2023 年 11 月時点)を含む Google ML フリートの膨大な数のジョブをリアルタイムでスケジューリングするものです。Flex Start モードと Calendar モードにより、柔軟性が高まり、GPU および TPU へのアクセスが向上します。また、リソース使用率の向上と、費用削減も実現します。お客様やパートナーの皆様は、すでに Dynamic Workload Scheduler のメリットを実感しています。
テキストから動画の生成 AI を提供する企業である Linum AI からのコメントをご紹介します。
「新しい Dynamic Workload Scheduler のスケジュール設定機能は、トレーニングの実行に十分な GPU 容量を調達するにあたって大きな変革をもたらすものです。十分なコンピューティング リソースが使用可能になるのを待ってページを更新しつつ、アイドル状態の GPU の費用が無駄になる心配をする必要がなくなったのです。」 - Linum AI、共同創設者兼 CEO、Sahil Chopra 氏
3D 生成 AI を提供する企業である sudoAI は、最新の生成モデルを Dynamic Workload Scheduler によって使用可能になった API を使用してトレーニングしました。
「いつでも必要なときに何も気にすることなく容量を見つけられる便利さが気に入っています。これにより、新しいアイデアをテストし、反復処理を行い、さらに長いトレーニングを実行することができます。新しい Dynamic Workload Scheduler の機能を使用して、当社の最新の 3D 生成 AI モデルを十分にトレーニングし、社内でのリリース期日に間に合わせることができました。」 - sudoAI、共同創設者兼 CEO、Robin Han 氏
今すぐ使用を開始する
今すぐ Dynamic Workload Scheduler が利用できる API の使用を開始しましょう。Google Kubernetes Engine ProvisioningRequest API および Kueue を使用して GPU をデプロイする方法をご覧ください。TPU については、Kubernetes Engine を使用するか、直接キューに格納されたリソースを使用できます。
- コンピューティングおよび ML インフラストラクチャ部門バイス プレジデント兼ゼネラル マネージャー Mark Lohmeyer
- Google Compute Engine プロダクト マネージャー Laura Ionita