はじめに

前回のGoogle Cloudでの GPU インスタンスの確保と予約作業までの道のりで記載したように、LLM 開発において GPU インスタンスの確保が重要になっています。長期的に GPU インスタンスが必要でなく、利用予定に余裕がある場合、DWS (Dynamic Workload Scheduler)の利用が検討できます。この記事では、DWS の詳細について詳しく解説します。

DWSとは

DWS(Dynamic Workload Scheduler)は、GPU の需要が高まったことから生まれた、効率的にリソースを確保する仕組みです。リンク先に詳細が記載されていますが、簡単に言えば、 GPU の利用を順番待ちするイメージです。

予約と DWS の違い

予約はキャパシティが確保できれば可能ですが、確保できない場合は予約できません。 DWS はキャパシティが確保できない状態でも、空きが出たタイミングで自動的に予定台数を起動することができます。また、Private Preview ですが将来日付に対する設定も可能です。

DWS のモードについて

DWS には以下の2つのモードがあります。それぞれの違いについて説明します。

  • Flex Start Mode
  • Calendar Mode(Private Preview)

Flex Start Mode

DWS(Flex Start mode)
必要な数、期間、および希望するリージョンを指定して GPU の容量をリクエストします。DWS がリクエストを繰り返し行い、必要な容量が確保されると、VM が自動的にプロビジョニングされます。最小期間の制約はなく、最大7日間の連続起動が可能です。このモードは、実行スケジュールに余裕があり、7日間以内で完了する処理に適しています。

Calendar Mode

DWS(Calender Mode)
予約機能を拡張したもので、最大14日間利用可能です。8週間前から予約でき、リクエストが承認されれば、指定したタイミングから確実に起動し利用できます。このモードは、特定のタイミングから利用したい場合や、14日以内の利用に適しています。※この機能は Private Preview です。

モード比較表

モード 説明 最大利用期間 予約可能期間 ユースケース
Flex Start Mode 必要な数、期間、および希望するリージョンを指定し、GPUの容量をリクエストします。DWSがリクエストを繰り返し、必要な容量が確保されると、VMが自動的にプロビジョニングされます。 最大7日間 なし 実行スケジュールに余裕があり、7日間以内で完了する処理に適しています。
Calendar Mode 予約機能を拡張したもので、リクエストが承認されれば、指定したタイミングから確実に起動し利用できます。 最大14日間 8週間前から予約可能 特定のタイミングから利用したい場合や、14日以内の利用に適しています。

手順

DWS の利用手順について簡単に触れます。以下は MIG を利用した Flex Start Mode の手順です。

  1. インスタンステンプレートを作成
    インスタンステンプレートを作成し、MIG作成の事前準備を行います。
  2. MIGを作成または更新
    MIGを作成し、GPUの利用リクエストを行う準備を整えます(この時点ではサイズを0とします)。
  3. MIGでリサイズリクエストを作成
    MIGでGPU利用数量、期間を指定し、利用リクエストを送ります。起動できるまで繰り返し続けるので、キャパシティに余裕が無い場合、Cloud Loggingにエラーが記録されます。

こちらに Calendar Mode の実行例が記載されていますので、参照ください。
もし Calendar Mode ご利用されたい場合、Google Cloud の担当者と連携されることをお勧めします。

まとめ

DWS は通常の予約とは異なり、キャパシティが空いたタイミングで効率的に GPU を利用できる方法となります。 GPU の確保が難しくなっている現在、 DWS の利用は今後増えてくるのかなと思っています。予約が難しい場合や、実行までの時間に余裕がある処理で GPU を利用したい場合は、 Flex Start Mode を検討してみてください。必要なタイミングや期間が決まっている場合は、Calendar Modeも検討し、Google Cloud の担当者と連携してみてください。