Compute Engine で TPU Flex Start VM を作成する
Dynamic Workload Scheduler を活用した TPU Flex Start VM は、長期的な予約なしで最大 7 日間、AI ワークロードの TPU リソースに柔軟かつ費用対効果の高い方法でアクセスできるようにします。 TPU Flex Start VM をリクエストすると、容量が利用可能になるまでリクエストはキューに残ります。プロビジョニングされると、TPU VM は指定した期間実行されます。
TPU Flex Start VM は、迅速なテスト、小規模なテスト、推論ワークロード用の TPU の動的プロビジョニング、モデルのファインチューニング、7 日未満のワークロード実行に適しています。他の TPU 使用オプションの詳細については、Cloud TPU の使用オプションをご覧ください。
TPU リソースはいつでも削除して課金を停止できます。TPU の料金の詳細については、Cloud TPU の料金をご覧ください。
制限事項
TPU Flex Start VM には次の制限があります。
- TPU Flex Start VM をリクエストできる期間は最大 7 日間です。
- リクエストできる Cloud TPU のバージョンとゾーンは次のとおりです。
TPU を使用する MIG には次の制限があります。
ライフサイクル オペレーション: TPU インスタンスを停止、起動、再開、一時停止することはできません。再起動が必要な構成を変更する場合や、課金を停止する場合は、インスタンスを削除する必要があります。
リージョン MIG ゾーンの分散: ターゲット分配形態を
ANY_SINGLE_ZONEに設定する必要があります。MIG の構成の更新:
- 定義されたアクセラレータ トポロジのため、マルチホスト TPU スライスを形成する MIG を更新することはできません。
- 自動または選択の方法を使用して、単一ホスト TPU スライスを形成する MIG を更新できます。ただし、単一ホスト TPU スライスの更新では、再起動(
RESTART)アクションはサポートされていません。再起動が必要で、許可されている最も破壊的なアクションが置換(REPLACE)の場合、Updater はインスタンスを置き換えます。それ以外の場合、更新の試行はエラーで失敗します。
マルチホスト TPU スライスを形成する MIG には、次の制限も適用されます。
ターゲット サイズ ポリシー: ターゲット サイズ ポリシー モードを
BULKに設定する必要があります。このモードを設定すると、変更できなくなります。ターゲット サイズ: バルクモードでは、ターゲット サイズを
0または アクセラレータ トポロジの形成に必要なインスタンス数に設定できます。ワークロード ポリシー: アクセラレータ トポロジが定義されているワークロード ポリシーを指定する必要があります。ワークロード ポリシーを設定すると、MIG からポリシーを変更または削除できなくなります。
サポートされていない機能: TPU を使用する MIG では、次の 機能はサポートされていません。
- インスタンスの柔軟性
- リソースを一度に取得する サイズ変更リクエスト
- ステートフル構成
- マルチホスト TPU スライスを形成する MIG では、次の機能もサポートされていません。
始める前に
TPU Flex Start VM をリクエストする前に、次の作業を行う必要があります。
- Google Cloud CLI をインストールする
- プロジェクトを作成する Google Cloud
- Compute Engine API(
compute.googleapis.com)を有効にする - 必要な権限があることを確認します。
roles/compute.instanceAdmin.v1roles/iam.serviceAccountUser
詳細については、TPU 用の Google Cloud プロジェクトを設定するをご覧ください。
TPU Flex Start VM を使用するために十分なプリエンプティブル割り当てがあることを確認します。ワークロードで現在の割り当てよりも多くのコアが必要な場合は、割り当ての増加をリクエストできます。詳細については、Cloud TPU の割り当てをご覧ください。
MIG を使用して TPU Flex Start VM を作成する
TPU Flex Start VM を使用するには、特定のインスタンス テンプレート構成でマネージド インスタンス グループ(MIG)を作成します。
Flex Start VM の作成に関する一般的な手順については、Flex Start VM を作成するをご覧ください。
マルチホスト スライスで TPU Flex Start VM を作成する
インスタンス テンプレートの作成
FLEX_START プロビジョニング モデルと選択した実行時間を指定して、インスタンス テンプレートを作成します。
gcloud compute instance-templates create TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--provisioning-model=FLEX_START \
--instance-termination-action=DELETE \
--max-run-duration=DURATION \
--region=REGION \
--maintenance-policy=TERMINATE
各プレースホルダを次のように置き換えます。
- TEMPLATE_NAME: インスタンス テンプレートの名前。
- MACHINE_TYPE:TPU VM のマシンタイプ
(例:
ct6e-standard-8t)。 - IMAGE_FAMILY: TPU VM の OS イメージ ファミリー(
例:
ubuntu-accelerator-2204-amd64-with-tpu-v6e) - IMAGE_PROJECT: TPU VM の OS イメージ プロジェクト
(
ubuntu-os-accelerator-imagesなど) - DURATION:最大実行時間(たとえば、7 日間の場合は
7dなど)。 - REGION:インスタンス テンプレートを作成するリージョン。
ワークロード ポリシーの作成
次のコマンドは、ワークロード ポリシーを作成します。これは、単一ホスト スライスでは省略可能です。
gcloud compute resource-policies create workload WORKLOAD_POLICY_NAME \
--type=high-throughput \
--accelerator-topology=TOPOLOGY
各プレースホルダを次のように置き換えます。
- WORKLOAD_POLICY_NAME: ワークロード ポリシーの名前。
- TOPOLOGY:TPU VM のトポロジ(
4x4x8など)。
MIG を作成する
テンプレートを使用して MIG を作成します。
gcloud compute instance-groups managed create MIG_NAME \
--zone=ZONE \
--template=TEMPLATE_NAME \
--size=SIZE \
--workload-policy=projects/PROJECT_ID/regions/WORKLOAD_POLICY_REGION/resourcePolicies/WORKLOAD_POLICY_NAME \
--target-size-policy-mode=bulk
各プレースホルダを次のように置き換えます。
- MIG_NAME: MIG の名前。
- ZONE: MIG のゾーン。
- TEMPLATE_NAME: インスタンス テンプレートの名前。
- SIZE: 作成するインスタンスの数。
- PROJECT_ID: 実際の Google Cloud プロジェクト ID。
- WORKLOAD_POLICY_REGION:ワークロード ポリシーが定義されているリージョン 。
- WORKLOAD_POLICY_NAME: ワークロード ポリシーの名前。
単一ホスト スライスで TPU Flex Start VM を作成する
インスタンス テンプレートの作成
FLEX_START プロビジョニング モデルと選択した実行時間を指定して、インスタンス テンプレートを作成します。
gcloud compute instance-templates create TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--provisioning-model=FLEX_START \
--instance-termination-action=DELETE \
--max-run-duration=DURATION \
--region=REGION \
--maintenance-policy=TERMINATE
各プレースホルダを次のように置き換えます。
- TEMPLATE_NAME: インスタンス テンプレートの名前。
- MACHINE_TYPE:TPU VM のマシンタイプ
(例:
ct6e-standard-8t)。 - IMAGE_FAMILY: TPU VM の OS イメージ ファミリー(
例:
ubuntu-accelerator-2204-amd64-with-tpu-v6e) - IMAGE_PROJECT: TPU VM の OS イメージ プロジェクト(
例:
ubuntu-os-accelerator-images) - DURATION:最大実行時間(たとえば、7 日間の場合は
7dなど)。 - REGION:インスタンス テンプレートを作成するリージョン。
ワークロード ポリシーの作成
次のコマンドは、ワークロード ポリシーを作成します。これは、単一ホスト スライスでは省略可能です。
gcloud compute resource-policies create workload WORKLOAD_POLICY_NAME \
--type=high-throughput
各プレースホルダを次のように置き換えます。
- WORKLOAD_POLICY_NAME: ワークロード ポリシーの名前。
MIG を作成する
テンプレートを使用して MIG を作成します。
gcloud compute instance-groups managed create MIG_NAME \
--zone=ZONE \
--template=TEMPLATE_NAME \
--size=SIZE \
--workload-policy=projects/PROJECT_ID/regions/WORKLOAD_POLICY_REGION/resourcePolicies/WORKLOAD_POLICY_NAME
各プレースホルダを次のように置き換えます。
- MIG_NAME: MIG の名前。
- ZONE: MIG のゾーン。
- TEMPLATE_NAME: インスタンス テンプレートの名前。
- SIZE: 作成するインスタンスの数。
- PROJECT_ID: 実際の Google Cloud プロジェクト ID。
- WORKLOAD_POLICY_REGION: ワークロード ポリシーが定義されているリージョン。
- WORKLOAD_POLICY_NAME: ワークロード ポリシーの名前。