Membuat MIG dengan slice Cloud TPU host tunggal
Dokumen ini menjelaskan cara membuat grup instance terkelola (MIG) dengan beberapa slice TPU single-host yang independen.
Prasyarat
Selesaikan prasyarat berikut:
- Buat project untuk TPU Anda seperti yang dijelaskan dalam Menyiapkan project untuk TPU.
- Tentukan persyaratan TPU Anda seperti yang dijelaskan dalam Merencanakan resource Anda.
Membuat MIG dengan beberapa slice TPU host tunggal
Untuk membuat beberapa VM TPU independen dalam MIG:
- Membuat template instance.
- Buat MIG.
Membuat template instance
Konfigurasi template instance bervariasi berdasarkan opsi penggunaan yang Anda gunakan: on-demand, Spot, reservasi, atau Flex-start. Untuk mengetahui informasi selengkapnya tentang opsi penggunaan, lihat Merencanakan resource TPU .
Membuat template instance untuk VM TPU sesuai permintaan
Perintah berikut membuat template instance yang menggunakan opsi konsumsi on-demand:
gcloud
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--maintenance-policy=TERMINATE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT
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"
},
"networkInterfaces": [
{
"network": "global/networks/default"
}
]
}
}' \
"https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/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. Jika Anda ingin menginstal versi OS tertentu, gunakan flag--image. Untuk mengetahui informasi selengkapnya tentang image OS, lihat Image OS.IMAGE_PROJECT: Project yang berisi image OS. Untuk image TPU, ini adalahubuntu-os-accelerator-images.
Membuat template instance untuk VM Spot TPU
Perintah berikut membuat template instance yang menggunakan opsi konsumsi Spot:
gcloud
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--maintenance-policy=TERMINATE \
--instance-termination-action=STOP \
--provisioning-model=SPOT \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT
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": "SPOT",
"instanceTerminationAction": "STOP"
},
"networkInterfaces": [
{
"network": "global/networks/default"
}
]
}
}' \
"https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/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. Jika Anda ingin menginstal versi OS tertentu, gunakan flag--image. Untuk mengetahui informasi selengkapnya tentang image OS, lihat Image OS.IMAGE_PROJECT: Project yang berisi image OS. Untuk image TPU, ini adalahubuntu-os-accelerator-images.
Membuat template instance untuk VM yang terikat reservasi TPU
Perintah berikut membuat template instance yang menggunakan opsi konsumsi terikat reservasi:
gcloud
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--maintenance-policy=TERMINATE \
--instance-termination-action=DELETE \
--reservation-affinity=specific \
--provisioning-model=reservation-bound \
--reservation=RESERVATION_NAME \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT
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": "RESERVATION_BOUND",
"instanceTerminationAction": "DELETE"
},
"reservationAffinity": {
"consumeReservationType": "SPECIFIC_RESERVATION",
"key": "compute.googleapis.com/reservation-name",
"values": [
"RESERVATION_NAME"
]
},
"networkInterfaces": [
{
"network": "global/networks/default"
}
]
}
}' \
"https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/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).RESERVATION_NAME: Nama reservasi tertentu yang ingin Anda gunakan. Untuk pemesanan mode Semua Kapasitas, Anda dapat menargetkan blok atau sub-blok dengan menentukan URL reservasi sebagai berikut:Tentukan blok:
RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAMETentukan sub-blok:
RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME/reservationSubBlocks/RESERVATION_SUBBLOCK_NAME
IMAGE_FAMILY: Kelompok image OS untuk VM TPU. Jika Anda ingin menginstal versi OS tertentu, gunakan flag--image. Untuk mengetahui informasi selengkapnya tentang image OS, lihat Image OS.IMAGE_PROJECT: Project yang berisi image OS. Untuk image TPU, ini adalahubuntu-os-accelerator-images.
Membuat template instance untuk VM TPU Flex-start
Perintah berikut membuat template instance yang menggunakan opsi konsumsi Flex-start:
gcloud
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--maintenance-policy=TERMINATE \
--instance-termination-action=DELETE \
--provisioning-model=FLEX_START \
--max-run-duration=DURATION \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT
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/global/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).DURATION: Durasi proses maksimum untuk VM TPU. Untuk REST, tentukan ini sebagai string yang berisi jumlah detik yang diikuti dengan "s" (misalnya,3600suntuk 1 jam, atau604800suntuk 7 hari).IMAGE_FAMILY: Kelompok image OS untuk VM TPU. Jika Anda ingin menginstal versi OS tertentu, gunakan flag--image. Untuk mengetahui informasi selengkapnya tentang image OS, lihat Image OS.IMAGE_PROJECT: Project yang berisi image OS. Untuk image TPU, ini adalahubuntu-os-accelerator-images.
Membuat MIG
Untuk membuat MIG zona yang berisi slice TPU host tunggal, gunakan perintah berikut:
gcloud
gcloud compute instance-groups managed create MIG_NAME \
--size=MIG_SIZE \
--template=INSTANCE_TEMPLATE_URL \
--zone=ZONE
REST
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"name": "MIG_NAME",
"targetSize": MIG_SIZE,
"instanceTemplate": "INSTANCE_TEMPLATE_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.MIG_SIZE: Ukuran MIG.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:
ZONE: Zona untuk MIG Anda.
Untuk membuat MIG regional yang berisi slice TPU host tunggal, gunakan perintah berikut:
gcloud
gcloud compute instance-groups managed create MIG_NAME \
--size=MIG_SIZE \
--template=INSTANCE_TEMPLATE_URL \
--region=REGION \
--target-distribution-shape=ANY_SINGLE_ZONE \
--instance-redistribution-type=none
REST
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"name": "MIG_NAME",
"targetSize": MIG_SIZE,
"instanceTemplate": "INSTANCE_TEMPLATE_URL",
"distributionPolicy": {
"targetShape": "ANY_SINGLE_ZONE"
},
"updatePolicy": {
"instanceRedistributionType": "NONE"
}
}' \
"https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers"
Ganti placeholder berikut:
PROJECT_ID: ID Google Cloud project Anda.MIG_NAME: Nama MIG Anda.MIG_SIZE: Jumlah VM di MIG.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:
ZONE: Zona tempat Anda ingin MIG disediakan.REGION: Region tempat Anda ingin MIG disediakan.
Membuat VM dengan nama kustom di MIG
Anda dapat membuat VM di MIG dengan menentukan nama kustom untuk setiap VM. Hal ini berguna untuk proses debug dan memastikan instance dibuat dalam urutan tertentu.
gcloud
Buat VM dengan nama kustom menggunakan
perintah create-instance
dan tentukan flag --instance. Untuk membuat beberapa VM, ulangi perintah
untuk setiap VM. Jika tidak, gunakan metode REST API untuk menentukan beberapa VM
dalam satu permintaan.
Untuk MIG zona, gunakan perintah berikut:
gcloud compute instance-groups managed create-instance MIG_NAME \ --zone=ZONE \ --instance=INSTANCE_NAMEUntuk MIG regional, gunakan perintah berikut:
gcloud compute instance-groups managed create-instance MIG_NAME \ --region=REGION \ --instance=INSTANCE_NAME
Ganti placeholder berikut:
REST
Buat VM dengan nama kustom menggunakan salah satu metode REST API berikut:
Untuk MIG zona, gunakan
instanceGroupManagers.createInstances.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/createInstances { "instances": [ { "name": "INSTANCE_NAME_1" }, { "name": "INSTANCE_NAME_2" }, ... ] }Untuk MIG regional, gunakan
regionInstanceGroupManagers.createInstances.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/createInstances { "instances": [ { "name": "INSTANCE_NAME_1" }, { "name": "INSTANCE_NAME_2" }, ... ] }
Ganti placeholder berikut:
Langkah berikutnya
- Pelajari VM dan MIG TPU.
- Pelajari cara Membuat MIG dengan slice Cloud TPU multi-host.
- Pelajari cara mengelola VM TPU.
- Pelajari TPU di GKE.
- Pelajari cara menjalankan workload ML di TPU, misalnya, Menyajikan Qwen2-72B-Instruct dengan vLLM di TPU.