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:
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
0atau 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:
- Fleksibilitas instance
- Permintaan pengubahan ukuran untuk mendapatkan semua resource sekaligus
- Konfigurasi stateful
- Untuk MIG yang membentuk slice TPU multi-host, hal berikut juga tidak didukung:
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.v1roles/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,
3600untuk 1 jam, atau604800untuk 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
- Untuk template instance regional:
- 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,
3600untuk 1 jam, atau604800untuk 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
- Untuk template instance regional:
- 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.