Flex Start を使用して Cloud TPU をリクエストする
Dynamic Workload Scheduler を活用した Cloud TPU の Flex Start は、AI ワークロードの TPU リソースに柔軟かつ費用対効果の高い方法でアクセスできるようにします。Flex Start を使用すると、長期的な予約や複雑な割り当て管理を行うことなく、最大 7 日間、必要に応じて TPU を動的にプロビジョニングできます。Flex Start では、容量が利用可能になるまで保持される TPU プロビジョニング リクエストを送信します。利用可能になると、Flex Start はリクエストで指定した期間実行するように TPU VM をプロビジョニングします。
Flex Start は、迅速なテスト、小規模なテスト、推論ワークロード用の TPU の動的プロビジョニング、モデルのファインチューニング、7 日未満のワークロード実行に適しています。他の TPU 使用オプションの詳細については、 Cloud TPU の使用オプションをご覧ください。
TPU リソースはいつでも削除して課金を停止できます。TPU の料金の詳細については、Cloud TPU の料金をご覧ください。
制限事項
Flex Start の Cloud TPU には次の制限があります。
- Flex Start リソースは最大 7 日間リクエストできます。
- Flex Start は、次の Cloud TPU のバージョンとゾーンをサポートしています。
- Cloud TPU で Flex Start を使用するには、キューに格納されたリソース API を使用する必要があります。
始める前に
Flex Start TPU をリクエストする前に、次の要件を満たす必要があります。
- Google Cloud CLI をインストールする
- Google Cloud プロジェクトを作成する
- Cloud TPU API を有効にする
詳細については、Cloud TPU 環境を設定するをご覧ください。
また、Flex Start を使用するために十分なプリエンプティブル割り当てがあることも確認する必要があります。デフォルトの割り当てで付与される量よりも多くの TPU コアが必要な場合は、割り当ての引き上げをリクエストする必要があります。デフォルトと割り当ての追加リクエストの詳細については、Cloud TPU の割り当てをご覧ください。
Flex Start TPU をリクエストする
Flex Start は、TPU キューに格納されたリソース API を使用して、キュー方式で TPU リソースをリクエストします。リクエストされたリソースが使用可能になると、 Google Cloud プロジェクトに割り当てられ、すぐに独占的に使用できるようになります。リクエストされた実行時間が経過すると、TPU VM が削除され、キューに格納されたリソースは SUSPENDED
状態に移行します。キューに格納されたリソースの詳細については、キューに格納されたリソースを管理するをご覧ください。
TPU を Flex Start でリクエストするには、--provisioning-model
フラグを flex-start
に設定し、--max-run-duration
フラグを TPU の実行時間に設定して gcloud alpha compute tpus queued-resources
create
コマンドを使用します。
gcloud alpha compute tpus queued-resources create QUEUED_RESOURCE_ID \ --zone=ZONE \ --accelerator-type=ACCELERATOR_TYPE \ --runtime-version=RUNTIME_VERSION \ --node-id=NODE_ID \ --provisioning-model=flex-start \ --max-run-duration=RUN_DURATION
各プレースホルダを次のように置き換えます。
- QUEUED_RESOURCE_ID: キューに格納されたリソース リクエストのユーザー割り当て ID。
- ZONE: TPU VM を作成するゾーン。
- ACCELERATOR_TYPE: 作成する Cloud TPU のバージョンとサイズを指定します。TPU の各バージョンでサポートされているアクセラレータ タイプの詳細については、TPU のバージョンをご覧ください。
- RUNTIME_VERSION: Cloud TPU ソフトウェアのバージョン。
- NODE_ID: キューに格納されたリソース リクエストの割り当て時に作成される TPU のユーザー割り当て ID。
- RUN_DURATION: TPU の実行時間。期間を、日数、時間、分、秒としてフォーマットし、その後に
d
、h
、m
、s
を続けて指定します。たとえば、期間を 72 時間にする場合は72h
を指定します。期間を 1 日、2 時間、3 分、4 秒にする場合は1d2h3m4s
を指定します。最長で 7 日です。
追加のフラグを使用して、キューに格納されたリソース リクエストを特定の時間に実行するようにカスタマイズできます。
--valid-after-duration
: TPU をプロビジョニングできない期間。--valid-after-time
: TPU をプロビジョニングできない時間。--valid-until-duration
: リクエストの有効期間。この時間内にリクエストが処理されなかった場合、リクエストは期限切れになり、FAILED
状態に移行します。--valid-until-time
: リクエストの有効時間。この時間までにリクエストが処理されなかった場合、リクエストは期限切れになり、FAILED
状態に移行します。
オプション フラグの詳細については、gcloud alpha compute tpus queued-resources
create
のドキュメントをご覧ください。
Flex Start リクエストのステータスを取得する
Flex Start リクエストのステータスをモニタリングするには、キューに格納されたリソース API を使用して、gcloud alpha compute tpus queued-resources describe
コマンドを実行し、キューに格納されたリソースのリクエスト ステータスを取得します。
gcloud alpha compute tpus queued-resources describe QUEUED_RESOURCE_ID \ --zone ZONE
キューに格納されたリソースは、次のいずれかの状態になります。
WAITING_FOR_RESOURCES
: リクエストは最初の検証に合格し、キューに追加されました。PROVISIONING
: リクエストがキューから選択され、TPU VM が作成されています。ACTIVE
: リクエストが処理され、TPU VM の準備が整いました。FAILED
: リクエストを完了できませんでした。詳細を取得するには、describe
コマンドを使用します。SUSPENDING
: リクエストに関連付けられているリソースが現在削除中です。SUSPENDED
: リクエストに関連付けられているリソースが削除されました。
詳細については、キューに格納されたリソース リクエストの状態と診断情報を取得するをご覧ください。
Flex Start TPU の実行時間をモニタリングする
Flex Start TPU の実行時間をモニタリングするには、TPU の終了タイムスタンプを確認します。
- キューに格納されたリソース リクエストの詳細を取得します。
TPU が作成されているかどうかに応じて、次のいずれかのオプションを選択します。
キューに格納されているリソースがリソースを待機している場合: 出力で
maxRunDuration
フィールドを確認します。このフィールドは、TPU の作成後に実行される期間を示します。キューに格納されているリソースに関連付けられた TPU が作成されている場合: 出力で、キューに格納されているリソース内の各ノードにリストされている
terminationTimestamp
フィールドを確認します。このフィールドは、TPU の終了時間を示します。
キューに格納されているリソースの削除
キューに格納されたリソース リクエストとそのリクエストに関連付けられた TPU を削除するには、キューに格納されたリソース リクエストを削除し、--force
フラグを queued-resources
delete
コマンドに渡します。
gcloud alpha compute tpus queued-resources delete QUEUED_RESOURCE_ID \ --force
gcloud compute tpus tpu-vm delete
コマンドを使用して TPU を直接削除する場合は、次の例に示すように、キューに格納されたリソースも削除する必要があります。TPU を削除すると、キューに格納されたリソース リクエストは SUSPENDED
状態に移行し、その後キューに格納されたリソース リクエストを削除できます。
TPU を削除するには、gcloud compute tpus tpu-vm
delete
コマンドを使用します。
gcloud compute tpus tpu-vm delete NODE_ID \ --zone ZONE
キューに格納されたリソースを削除するには、gcloud alpha compute tpus queued-resources delete
コマンドを使用します。
gcloud alpha compute tpus queued-resources delete QUEUED_RESOURCE_ID \ --zone ZONE
詳細については、キューに格納されたリソースのリクエストを削除するをご覧ください。