Dokumen ini menjelaskan cara menggunakan pemesanan Compute Engine untuk mendapatkan tingkat jaminan yang tinggi bahwa tugas pelatihan serverless Anda memiliki resource virtual machine (VM) yang diperlukan untuk dijalankan.
Pemesanan adalah fitur Compute Engine. Fitur ini membantu memastikan bahwa Anda memiliki resource yang tersedia untuk membuat VM dengan hardware yang sama (memori dan vCPU) dan resource opsional (CPU, GPU, TPU, dan disk SSD Lokal) kapan pun Anda membutuhkannya.
Saat Anda membuat pemesanan, Compute Engine akan memverifikasi bahwa kapasitas yang diminta tersedia di zona yang ditentukan. Jika demikian, Compute Engine akan mencadangkan resource, membuat pemesanan, dan hal berikut akan terjadi:
- Anda dapat langsung menggunakan resource yang dicadangkan, dan resource tersebut akan tetap tersedia hingga Anda menghapus pemesanan.
- Anda akan dikenai biaya untuk resource yang dicadangkan dengan tarif on-demand yang sama seperti VM yang berjalan, termasuk diskon yang berlaku, hingga pemesanan dihapus. VM yang menggunakan pemesanan tidak dikenai biaya terpisah. Anda hanya dikenai biaya untuk resource di luar pemesanan, seperti disk atau alamat IP. Untuk mempelajari lebih lanjut, lihat harga untuk pemesanan.
Batasan dan persyaratan
Saat menggunakan pemesanan Compute Engine dengan Agent Platform, pertimbangkan batasan dan persyaratan berikut:
- Agent Platform hanya dapat menggunakan pemesanan untuk CPU, VM GPU, atau TPU (Pratinjau).
- Agent Platform tidak dapat menggunakan pemesanan VM yang memiliki disk SSD Lokal yang terpasang secara manual.
- Penggunaan pemesanan Compute Engine dengan Agent Platform hanya didukung untuk pelatihan serverless, inferensi, dan Gemini Enterprise Agent Platform Workbench (Pratinjau) Gemini Enterprise Agent Platform.
- Properti VM pemesanan harus sama persis dengan workload Agent Platform Anda
untuk menggunakan pemesanan. Misalnya, jika pemesanan menentukan jenis mesin
a2-ultragpu-8g, workload Agent Platform hanya dapat menggunakan pemesanan jika juga menggunakan jenis mesina2-ultragpu-8g. Lihat Persyaratan. - Untuk menggunakan pemesanan bersama VM GPU atau TPU, Anda harus menggunakannya menggunakan project pemilik atau project konsumen yang juga memakai pemesanan bersama tersebut. Lihat Cara kerja pemesanan bersama.
- Untuk mendukung update rutin deployment Agent Platform, sebaiknya tingkatkan jumlah VM Anda dengan setidaknya 1 VM tambahan untuk setiap deployment serentak.
-
Flex Start untuk Dynamic Workload Scheduler dan menjalankan tugas pelatihan pada resource persisten didukung, kecuali saat menggunakan pemesanan Compute Engine dengan pelatihan Agent Platform.
Penagihan
Saat menggunakan pemesanan Compute Engine, Anda akan ditagih untuk hal-hal berikut:
- Harga Compute Engine untuk resource Compute Engine, termasuk diskon abonemen (CUD) yang berlaku. Lihat Harga Compute Engine.
- Biaya pengelolaan pelatihan serverless Agent Platform selain penggunaan infrastruktur Anda. Lihat Harga model terlatih kustom.
Sebelum memulai
- Tinjau persyaratan dan batasan untuk pemesanan.
- Tinjau persyaratan kuota dan batasan untuk pemesanan bersama.
Mengizinkan pemesanan untuk digunakan
Sebelum menggunakan pemesanan CPU, VM GPU, atau TPU, Anda harus menetapkan kebijakan berbagi untuk mengizinkan Agent Platform menggunakan pemesanan. Untuk melakukannya, gunakan salah satu metode berikut:
Mengizinkan penggunaan saat membuat pemesanan
Saat membuat pemesanan VM GPU untuk satu project atau bersama, Anda dapat mengizinkan Agent Platform menggunakan pemesanan sebagai berikut:
- Jika Anda menggunakankonsol, di bagian Google Cloud services , pilih Share reservation. Google Cloud
- Jika Anda menggunakan Google Cloud CLI, sertakan flag
--reservation-sharing-policyyang ditetapkan keALLOW_ALL. - Jika Anda menggunakan REST API, di isi permintaan, sertakan kolom
serviceShareTypeyang ditetapkan keALLOW_ALL.
Mengizinkan penggunaan pemesanan yang ada
Anda hanya dapat mengubah pemesanan VM GPU atau TPU yang dibuat secara otomatis untuk pemesanan untuk masa mendatang hanya setelah waktu mulai pemesanan.
Untuk mengizinkan Agent Platform menggunakan pemesanan yang ada, gunakan salah satu metode berikut ini:
Memverifikasi bahwa pemesanan digunakan
Untuk memverifikasi bahwa pemesanan sedang digunakan, lihat Memverifikasi pemakaian pemesanan dalam dokumentasi Compute Engine.Membuat tugas pelatihan serverless dengan pemesanan
Gunakan REST API untuk membuat tugas pelatihan serverless Gemini Enterprise Agent Platform yang menggunakan pemesanan Compute Engine VM GPU.
REST
Sebelum menggunakan data permintaan mana pun, lakukan penggantian berikut:
- LOCATION: Region tempat container atau paket Python akan dijalankan.
- PROJECT_ID: project tempat pemesanan dibuat. Untuk menggunakan pemesanan bersama dari project lain, Anda harus membagikan pemesanan ke project tersebut. Untuk mengetahui informasi selengkapnya, lihat Mengubah project konsumen dalam pemesanan bersama.
-
JOB_NAME: Wajib diisi. Nama tampilan untuk
CustomJob. - MACHINE_TYPE: jenis mesin yang akan digunakan untuk tugas. Setelan defaultnya adalah
n1-standard-2. Untuk mengetahui informasi selengkapnya tentang jenis mesin yang didukung, lihat Mengonfigurasi resource komputasi untuk pelatihan kustom. - ACCELERATOR_TYPE: jenis akselerator yang akan dipasang ke mesin. Untuk mengetahui informasi selengkapnya tentang jenis GPU yang didukung setiap jenis mesin, lihat GPU untuk workload komputasi.
- ACCELERATOR_COUNT: jumlah akselerator yang akan dipasang ke mesin.
- Tentukan tugas pelatihan kustom:
RESERVATION_AFFINITY_TYPE: Harus berupa
ANY_RESERVATION,SPECIFIC_RESERVATION, atauNO_RESERVATION.ANY_RESERVATIONberarti VMcustomJobAnda dapat otomatis menggunakan pemesanan apa pun dengan properti yang cocok.SPECIFIC_RESERVATIONberarti VMcustomJobAnda hanya dapat menggunakan pemesanan yang secara khusus ditargetkan oleh VM berdasarkan nama.NO_RESERVATIONberarti VMcustomJobAnda tidak dapat menggunakan pemesanan apa pun. MenentukanNO_RESERVATIONmemiliki efek yang sama dengan menghapus spesifikasi afinitas pemesanan.
- ZONE: zona tempat pemesanan dibuat.
- RESERVATION_NAME: nama pemesanan Anda.
- DISK_TYPE: Opsional. Jenis boot disk yang akan digunakan untuk tugas, baik
pd-standard(default) ataupd-ssd. Pelajari jenis disk lebih lanjut - DISK_SIZE: Opsional. Ukuran boot disk yang digunakan untuk tugas dalam satuan GB. Nilai defaultnya adalah 100.
- REPLICA_COUNT: jumlah replika worker yang akan digunakan. Pada umumnya,
tetapkan ini ke
1untuk kumpulan worker pertama Anda. - Jika aplikasi pelatihan Anda berjalan dalam container kustom, tentukan hal berikut:
- CUSTOM_CONTAINER_IMAGE_URI: URI image container di Artifact Registry atau Docker Hub yang akan dijalankan di setiap replika worker.
- CUSTOM_CONTAINER_COMMAND: Opsional. Perintah yang akan dipanggil saat container dimulai. Perintah ini mengganti titik entri default container.
- CUSTOM_CONTAINER_ARGS: Opsional. Argumen yang akan diteruskan saat memulai container.
- Jika aplikasi pelatihan Anda adalah paket Python yang berjalan dalam container bawaan,
tentukan hal berikut:
- EXECUTOR_IMAGE_URI: URI image container yang menjalankan kode yang disediakan. Lihat container bawaan yang tersedia untuk pelatihan.
- PYTHON_PACKAGE_URIS: Daftar URI Cloud Storage yang dipisahkan koma yang menentukan file paket Python yang merupakan program pelatihan dan paket dependensinya. Jumlah maksimum URI paket adalah 100.
- PYTHON_MODULE: Nama modul Python yang akan dijalankan setelah menginstal paket.
- PYTHON_PACKAGE_ARGS: Opsional. Argumen command line yang akan diteruskan ke modul Python.
- TIMEOUT: Opsional. Waktu berjalan maksimum untuk tugas.
- Tentukan LABEL_NAME dan LABEL_VALUE untuk setiap label yang ingin Anda terapkan ke tugas kustom ini.
Metode HTTP dan URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/customJobs
Meminta isi JSON:
{
"displayName": "JOB_NAME",
"jobSpec": {
"workerPoolSpecs": [
{
"machineSpec": {
"machineType": "MACHINE_TYPE",
"acceleratorType": "ACCELERATOR_TYPE",
"acceleratorCount": ACCELERATOR_COUNT,
"reservationAffinity": {
"reservationAffinityType": "RESERVATION_AFFINITY_TYPE",
// Use the following key and values only if
// the reservationAffinityType is SPECIFIC_RESERVATION.
"key": "compute.googleapis.com/reservation-name",
"values": [
"projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME"
]
},
},
"replicaCount": REPLICA_COUNT,
"diskSpec": {
"bootDiskType": DISK_TYPE,
"bootDiskSizeGb": DISK_SIZE
},
// Union field task can be only one of the following:
"containerSpec": {
"imageUri": CUSTOM_CONTAINER_IMAGE_URI,
"command": [
CUSTOM_CONTAINER_COMMAND
],
"args": [
CUSTOM_CONTAINER_ARGS
]
},
"pythonPackageSpec": {
"executorImageUri": EXECUTOR_IMAGE_URI,
"packageUris": [
PYTHON_PACKAGE_URIS
],
"pythonModule": PYTHON_MODULE,
"args": [
PYTHON_PACKAGE_ARGS
]
}
// End of list of possible types for union field task.
}
// Specify one workerPoolSpec for single replica training, or multiple workerPoolSpecs
// for distributed training.
],
"scheduling": {
"timeout": TIMEOUT
}
},
"labels": {
LABEL_NAME_1": LABEL_VALUE_1,
LABEL_NAME_2": LABEL_VALUE_2
}
}
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json,
dan jalankan perintah berikut:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/customJobs"
PowerShell
Simpan isi permintaan dalam file bernama request.json,
dan jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/customJobs" | Select-Object -Expand Content
Respons ini berisi informasi tentang spesifikasi serta TRAININGPIPELINE_ID.
Langkah berikutnya
- Pelajari lebih lanjut pemesanan resource zona Compute Engine.
- Pelajari cara menggunakan pemesanan dengan Agent Platform inferensi online.
- Pelajari cara menggunakan pemesanan dengan Agent Platform inferensi batch.
- Pelajari cara melihat pemesanan.
- Pelajari cara memantau pemakaian pemesanan.