TPU VM インスタンスを作成する

このドキュメントでは、TPU 仮想マシン(VM)インスタンスを作成する方法について説明します。TPU VM は、単一ホストの TPU スライスとも呼ばれます。

単一ホストのスライスのグループを作成するには、 単一ホストの TPU スライスを使用して MIG を作成するをご覧ください。

始める前に

前提条件

TPU インスタンスを作成する前に、次の操作を行う必要があります。

  1. TPU のバージョンを選択する: ワークロードに適した TPU バージョンを選択します。ワークロード タイプ別の TPU バージョンのリストについては、 ワークロード タイプ別の推奨 TPU バージョンをご覧ください。

  2. 優先ロケーションで TPU の可用性を確認する: TPU は 特定の Google Cloud リージョンで利用できます。TPU バージョンを使用するには、優先リージョンでそのバージョンが使用可能であることを確認します。TPU ロケーションのリストについては、 TPU の可用性をご覧ください。

  3. プロジェクトに十分な TPU 割り当てがあることを確認する: オンデマンド VM または Spot VM で TPU インスタンスを作成する場合は、使用するリージョンに十分な TPU の割り当てが必要です。TPU 予約を使用する TPU インスタンスの作成には、TPU の割り当ては必要ありません。割り当ては予約の作成時に使用されるためです。TPU 割り当て名のリストについては、TPU 割り当てをご覧ください。割り当てを表示する方法については、割り当てを表示して管理するをご覧ください。

  4. TPU の使用オプションを選択する: ワークロード、その期間、コストのニーズに最適な 使用オプションを選択します。TPU バージョン別の 使用オプションの可用性のリストについては、 TPU の使用オプションをご覧ください。

TPU VM インスタンスを作成する

TPU VM インスタンスの作成に使用するパラメータは、使用している使用オプション(オンデマンド、Spot、予約バインド、Flex Start)によって異なります。詳細については、 VM プロビジョニング モデルについて をご覧ください。

オンデマンド TPU VM インスタンスを作成する

オンデマンド TPU VM インスタンスを作成するには、 gcloud compute instances create コマンドを使用します。

gcloud

gcloud compute instances create TPU_NAME \
  --machine-type=MACHINE_TYPE \
  --image-family=IMAGE_FAMILY \
  --image-project=IMAGE_PROJECT \
  --zone=ZONE \
  --maintenance-policy=TERMINATE

REST

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "TPU_NAME",
    "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        }
      }
    ],
    "scheduling": {
      "onHostMaintenance": "TERMINATE"
    },
    "networkInterfaces": [
      {
        "network": "global/networks/default"
      }
    ]
  }' \
  "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances"

各プレースホルダを次のように置き換えます。

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • TPU_NAME: TPU VM の名前。
  • MACHINE_TYPE:TPU VM のマシンタイプ (例: ct6e-standard-8t)。
  • IMAGE_FAMILY: TPU VM の OS イメージ ファミリー 。特定の OS バージョンをインストールする場合は、--image フラグを使用します。OS イメージの詳細については、OS イメージをご覧ください。
  • IMAGE_PROJECT: OS イメージを含むプロジェクト。 TPU イメージの場合、これは ubuntu-os-accelerator-images です。
  • ZONE: TPU VM のゾーンus-central1-b など)。

TPU Spot VM インスタンスを作成する

TPU Spot VM インスタンスを作成するには、 gcloud compute instances create コマンド--provisioning-model=SPOT フラグを使用します。

gcloud

gcloud compute instances create TPU_NAME \
  --machine-type=MACHINE_TYPE \
  --image-family=IMAGE_FAMILY \
  --image-project=IMAGE_PROJECT \
  --zone=ZONE \
  --provisioning-model=SPOT \
  --instance-termination-action=DELETE \
  --maintenance-policy=TERMINATE

REST

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "TPU_NAME",
    "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        }
      }
    ],
    "scheduling": {
      "onHostMaintenance": "TERMINATE",
      "provisioningModel": "SPOT",
      "instanceTerminationAction": "DELETE"
    },
    "networkInterfaces": [
      {
        "network": "global/networks/default"
      }
    ]
  }' \
  "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances"

各プレースホルダを次のように置き換えます。

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • TPU_NAME: TPU VM の名前。
  • MACHINE_TYPE:TPU VM のマシンタイプ (例: ct6e-standard-8t)。
  • IMAGE_FAMILY: TPU VM の OS イメージ ファミリー 。特定の OS バージョンをインストールする場合は、--image フラグを使用します。OS イメージの詳細については、OS イメージをご覧ください。
  • IMAGE_PROJECT: OS イメージを含むプロジェクト。 TPU イメージの場合、これは ubuntu-os-accelerator-images です。
  • ZONE: TPU VM のゾーンus-central1-b など)。

予約を使用して TPU VM インスタンスを作成する

予約バインドの使用オプションを使用して TPU VM インスタンスを作成するには、gcloud compute instances create コマンド--reservation-affinity=specific フラグおよび --reservation フラグを使用します。

gcloud

gcloud compute instances create TPU_NAME \
  --machine-type=MACHINE_TYPE \
  --image-family=IMAGE_FAMILY \
  --image-project=IMAGE_PROJECT \
  --zone=ZONE \
  --provisioning-model=reservation-bound \
  --reservation-affinity=specific \
  --reservation=RESERVATION_NAME \
  --instance-termination-action=DELETE \
  --maintenance-policy=TERMINATE

REST

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "TPU_NAME",
    "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        }
      }
    ],
    "scheduling": {
      "onHostMaintenance": "TERMINATE",
      "provisioningModel": "RESERVATION_BOUND",
      "instanceTerminationAction": "DELETE"
    },
    "networkInterfaces": [
      {
        "network": "global/networks/default"
      }
    ],
    "reservationAffinity": {
      "consumeReservationType": "SPECIFIC_RESERVATION",
      "key": "compute.googleapis.com/reservation-name",
      "values": [
        "RESERVATION_NAME"
      ]
    }
  }' \
  "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances"

各プレースホルダを次のように置き換えます。

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • TPU_NAME: TPU VM の名前。
  • MACHINE_TYPE:TPU VM のマシンタイプ (例: ct6e-standard-8t)。
  • IMAGE_FAMILY: TPU VM の OS イメージ ファミリー 。特定の OS バージョンをインストールする場合は、--image フラグを使用します。OS イメージの詳細については、OS イメージをご覧ください。
  • IMAGE_PROJECT: OS イメージを含むプロジェクト。 TPU イメージの場合、これは ubuntu-os-accelerator-images です。
  • ZONE: TPU VM のゾーンus-central1-b など)。
  • RESERVATION_NAME: 予約の名前。

TPU Flex Start VM を作成する

TPU Flex Start VM インスタンスを作成するには、 gcloud compute instances create コマンド--provisioning-model=FLEX_START フラグを使用します。

gcloud

gcloud compute instances create TPU_NAME \
  --machine-type=MACHINE_TYPE \
  --image-family=IMAGE_FAMILY \
  --image-project=IMAGE_PROJECT \
  --zone=ZONE \
  --provisioning-model=FLEX_START \
  --max-run-duration=MAX_RUN_DURATION \
  --request-valid-for-duration=VALID_DURATION \
  --instance-termination-action=DELETE \
  --maintenance-policy=TERMINATE

REST

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "TPU_NAME",
    "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        }
      }
    ],
    "params": {
      "requestValidForDuration": {
        "seconds": VALID_DURATION
      }
    },
    "scheduling": {
      "onHostMaintenance": "TERMINATE",
      "provisioningModel": "FLEX_START",
      "instanceTerminationAction": "DELETE",
      "maxRunDuration": {
        "seconds": MAX_RUN_DURATION
      }
    },
    "networkInterfaces": [
      {
        "network": "global/networks/default"
      }
    ]
  }' \
  "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances"

各プレースホルダを次のように置き換えます。

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • TPU_NAME: TPU VM の名前。
  • MACHINE_TYPE:TPU VM のマシンタイプ (例: ct6e-standard-8t)。
  • IMAGE_FAMILY: TPU VM の OS イメージ ファミリー 。特定の OS バージョンをインストールする場合は、--image フラグを使用します。OS イメージの詳細については、OS イメージをご覧ください。
  • IMAGE_PROJECT: OS イメージを含むプロジェクト。 TPU イメージの場合、これは ubuntu-os-accelerator-images です。
  • ZONE: TPU VM のゾーンus-central1-b など)。
  • MAX_RUN_DURATION:TPU VM の最大実行時間(6h など)。REST の場合は、秒数で指定します(6 時間の場合は 21600 など)。
  • VALID_DURATION:リクエストが有効な最大期間。REST の場合は、秒数で指定します(1 時間の場合は 3600 など)。 リクエストが有効です。

Compute Engine インスタンスの作成の詳細については、 Compute Engine インスタンスの作成と開始をご覧ください。

制限事項

  • ライフサイクル オペレーション: TPU インスタンスを停止、開始、再開、一時停止することはできません。再起動が必要な構成を変更する場合や、課金を停止する場合は、インスタンスを削除する必要があります。

  • VM の詳細を更新する: 更新(REFRESH)アクションのみが必要な プロパティを更新 できます。構成に再起動(RESTART)が必要な場合は、インスタンスを再作成する必要があります。

次のステップ