Membuat VM TPU Flex-start dengan Compute Engine

VM TPU dengan mulai fleksibel, yang didukung oleh Dynamic Workload Scheduler, menawarkan cara yang fleksibel dan hemat biaya untuk mengakses resource TPU bagi workload AI hingga 7 hari tanpa reservasi jangka panjang. Saat Anda meminta VM TPU Flex-start, permintaan Anda akan tetap berada dalam antrean hingga kapasitas tersedia. Setelah disediakan, VM TPU akan berjalan selama durasi yang Anda tentukan.

VM dengan fitur mulai cepat TPU cocok untuk eksperimen cepat, pengujian skala kecil, penyediaan TPU dinamis untuk workload inferensi, penyesuaian model, dan menjalankan workload yang membutuhkan waktu kurang dari 7 hari. Untuk mengetahui informasi selengkapnya tentang opsi pemakaian TPU lainnya, lihat Opsi pemakaian Cloud TPU.

Anda dapat menghapus resource TPU kapan saja untuk menghentikan penagihan. Untuk mengetahui informasi selengkapnya tentang harga TPU, lihat Harga Cloud TPU.

Batasan

VM TPU dengan mulai fleksibel memiliki batasan berikut:

  • Anda dapat meminta VM TPU Flex-start untuk durasi hingga 7 hari.
  • Anda dapat meminta versi dan zona Cloud TPU berikut:
    • TPU7x: us-central1-c
    • TPU v6e: asia-northeast1-b, us-east5-a, us-south1-ai1b
    • TPU v5p: us-east5-a

MIG dengan TPU memiliki batasan berikut:

  • Operasi siklus proses: Anda tidak dapat menghentikan, memulai, melanjutkan, atau menangguhkan instance TPU. Untuk mengubah konfigurasi yang memerlukan mulai ulang atau untuk berhenti dikenai biaya, Anda harus menghapus instance.

  • Distribusi zona MIG regional: Anda harus menetapkan bentuk distribusi target ke ANY_SINGLE_ZONE.

  • Update konfigurasi di MIG:

    • Anda tidak dapat mengupdate MIG yang membentuk slice TPU multi-host karena topologi akselerator yang ditentukan.
    • Anda dapat mengupdate MIG yang membentuk slice TPU host tunggal menggunakan metode otomatis atau selektif. Namun, update untuk slice TPU host tunggal tidak mendukung tindakan mulai ulang (RESTART). Jika mulai ulang diperlukan dan tindakan paling mengganggu yang diizinkan adalah penggantian (REPLACE), updater akan mengganti instance; jika tidak, upaya update akan gagal dengan error.

  • Untuk MIG yang membentuk slice TPU multi-host, batasan berikut juga berlaku:

    • Kebijakan ukuran target: Anda harus menetapkan mode kebijakan ukuran target ke BULK. Setelah Anda menetapkan mode ini, Anda tidak dapat mengubahnya.

    • Ukuran target: Dalam mode massal, Anda dapat menetapkan ukuran target ke 0 atau jumlah instance yang diperlukan untuk membentuk topologi akselerator.

    • Kebijakan workload: Anda harus menentukan kebijakan workload tempat topologi akselerator ditentukan. Setelah menetapkan kebijakan workload, Anda tidak dapat mengubah atau menghapus kebijakan dari MIG.

  • Fitur yang tidak didukung: MIG dengan TPU tidak mendukung fitur berikut:

Sebelum memulai

Sebelum meminta VM TPU Flex-start, Anda harus:

  • Menginstal Google Cloud CLI
  • Buat Google Cloud project
  • Aktifkan Compute Engine API (compute.googleapis.com)
  • Pastikan Anda memiliki izin yang diperlukan:
    • roles/compute.instanceAdmin.v1
    • roles/iam.serviceAccountUser

Untuk mengetahui informasi selengkapnya, lihat Menyiapkan project untuk TPU. Google Cloud

Pastikan Anda memiliki kuota preemptible yang cukup untuk menggunakan VM TPU Flex-start. Jika workload Anda memerlukan lebih banyak core daripada alokasi saat ini, Anda dapat meminta penambahan kuota. Untuk mengetahui detailnya, lihat Kuota Cloud TPU.

Membuat VM TPU Flex-start dengan MIG

Untuk menggunakan VM dengan fitur Mulai fleksibel TPU, Anda membuat grup instance terkelola (MIG) dengan konfigurasi template instance tertentu.

Untuk mengetahui petunjuk umum tentang cara membuat VM mulai fleksibel, lihat Membuat VM mulai fleksibel.

Membuat VM TPU Flex-start dengan slice multi-host

Membuat template instance

Buat template instance yang menentukan model penyediaan FLEX_START dan durasi berjalan yang Anda pilih.

gcloud

gcloud compute instance-templates create INSTANCE_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

REST

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

Ganti placeholder berikut:

  • PROJECT_ID: ID Google Cloud project Anda.
  • INSTANCE_TEMPLATE_NAME: Nama template instance Anda.
  • MACHINE_TYPE: Jenis mesin untuk VM TPU (misalnya, ct6e-standard-8t).
  • IMAGE_FAMILY: Kelompok image OS untuk VM TPU (misalnya, ubuntu-accelerator-2204-amd64-with-tpu-v6e)
  • IMAGE_PROJECT: Project image OS untuk VM TPU (misalnya, ubuntu-os-accelerator-images)
  • DURATION: Durasi proses maksimum. Untuk REST, tentukan ini sebagai jumlah detik (misalnya, 3600 untuk 1 jam, atau 604800 untuk 7 hari).
  • REGION: Region tempat template instance akan dibuat.

Membuat kebijakan beban kerja

Perintah berikut akan membuat kebijakan workload. Hal ini bersifat opsional untuk slice host tunggal.

gcloud

gcloud compute resource-policies create workload-policy WORKLOAD_POLICY_NAME \
  --type=high-throughput \
  --accelerator-topology=TOPOLOGY \
  --region=REGION

REST

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "WORKLOAD_POLICY_NAME",
    "workloadPolicy": {
      "type": "HIGH_THROUGHPUT",
      "acceleratorTopology": "TOPOLOGY"
    }
  }' \
  "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies"

Ganti placeholder berikut:

  • PROJECT_ID: ID Google Cloud project Anda.
  • WORKLOAD_POLICY_NAME: Nama kebijakan workload Anda.
  • TOPOLOGY: Topologi VM TPU, misalnya, 4x4x8.
  • REGION: Region tempat membuat kebijakan workload.

Buat MIG

Buat MIG menggunakan template.

gcloud

gcloud compute instance-groups managed create MIG_NAME \
    --zone=ZONE \
    --template=INSTANCE_TEMPLATE_URL \
    --size=SIZE \
    --workload-policy=WORKLOAD_POLICY_URL \
    --default-action-on-vm-failure=do-nothing \
    --target-size-policy-mode=bulk

REST

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "MIG_NAME",
    "targetSize": SIZE,
    "targetSizePolicy": {
      "mode": "BULK"
    },
    "instanceTemplate": "INSTANCE_TEMPLATE_URL",
    "instanceLifecyclePolicy": {
      "defaultActionOnFailure": "DO_NOTHING"
    },
    "resourcePolicies": {
      "workloadPolicy": "WORKLOAD_POLICY_URL"
    }
  }' \
  "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers"

Ganti placeholder berikut:

  • PROJECT_ID: ID Google Cloud project Anda.
  • MIG_NAME: Nama MIG Anda.
  • ZONE: Zona MIG Anda.
  • INSTANCE_TEMPLATE_URL: URL template instance yang ingin Anda gunakan untuk membuat instance di MIG. URL dapat berisi ID atau nama template instance. Tentukan salah satu nilai berikut:
    • Untuk template instance regional: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • Untuk template instance global: INSTANCE_TEMPLATE_ID
  • SIZE: Jumlah instance yang akan dibuat.
  • WORKLOAD_POLICY_URL: URL kebijakan beban kerja yang ingin Anda gunakan untuk membuat instance di MIG. Contoh: projects/PROJECT_ID/regions/WORKLOAD_POLICY_REGION/resourcePolicies/WORKLOAD_POLICY_NAME.

Membuat VM TPU Flex-start dengan slice host tunggal

Membuat template instance

Buat template instance yang menentukan model penyediaan FLEX_START dan durasi berjalan yang Anda pilih.

gcloud

gcloud compute instance-templates create INSTANCE_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

REST

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

Ganti placeholder berikut:

  • PROJECT_ID: ID Google Cloud project Anda.
  • INSTANCE_TEMPLATE_NAME: Nama template instance Anda.
  • MACHINE_TYPE: Jenis mesin untuk VM TPU (misalnya, ct6e-standard-8t).
  • IMAGE_FAMILY: Kelompok image OS untuk VM TPU (misalnya, ubuntu-accelerator-2204-amd64-with-tpu-v6e)
  • IMAGE_PROJECT: Project image OS untuk VM TPU (misalnya, ubuntu-os-accelerator-images)
  • DURATION: Durasi proses maksimum. Untuk REST, tentukan ini sebagai jumlah detik (misalnya, 3600 untuk 1 jam, atau 604800 untuk 7 hari).
  • REGION: Region tempat template instance akan dibuat.

Membuat kebijakan beban kerja

Perintah berikut akan membuat kebijakan workload. Hal ini bersifat opsional untuk slice host tunggal.

gcloud

gcloud compute resource-policies create workload-policy WORKLOAD_POLICY_NAME \
  --type=high-throughput \
  --region=REGION

REST

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "WORKLOAD_POLICY_NAME",
    "workloadPolicy": {
      "type": "HIGH_THROUGHPUT"
    }
  }' \
  "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies"

Ganti placeholder berikut:

  • PROJECT_ID: ID Google Cloud project Anda.
  • WORKLOAD_POLICY_NAME: Nama untuk kebijakan workload Anda.
  • REGION: Region tempat membuat kebijakan workload.

Buat MIG

Buat MIG menggunakan template.

gcloud

gcloud compute instance-groups managed create MIG_NAME \
    --zone=ZONE \
    --template=INSTANCE_TEMPLATE_URL \
    --size=SIZE \
    --workload-policy=WORKLOAD_POLICY_URL

REST

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "MIG_NAME",
    "targetSize": SIZE,
    "instanceTemplate": "INSTANCE_TEMPLATE_URL",
    "resourcePolicies": {
      "workloadPolicy": "WORKLOAD_POLICY_URL"
    }
  }' \
  "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers"

Ganti placeholder berikut:

  • PROJECT_ID: ID Google Cloud project Anda.
  • MIG_NAME: Nama MIG Anda.
  • ZONE: Zona MIG Anda.
  • INSTANCE_TEMPLATE_URL: URL template instance yang ingin Anda gunakan untuk membuat instance di MIG. URL dapat berisi ID atau nama template instance. Tentukan salah satu nilai berikut:
    • Untuk template instance regional: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • Untuk template instance global: INSTANCE_TEMPLATE_ID
  • SIZE: Jumlah instance yang akan dibuat.
  • WORKLOAD_POLICY_URL: URL kebijakan beban kerja yang ingin Anda gunakan untuk membuat instance di MIG. Contoh: projects/PROJECT_ID/regions/WORKLOAD_POLICY_REGION/resourcePolicies/WORKLOAD_POLICY_NAME.