Dokumen ini menjelaskan cara menggunakan pemesanan Compute Engine untuk mendapatkan jaminan tingkat tinggi bahwa tugas pelatihan kustom Anda memiliki resource yang diperlukan untuk dijalankan.
Untuk memastikan bahwa tugas pelatihan kustom Anda memiliki resource instance virtual machine (VM) yang tersedia saat dibutuhkan, gunakan reservasi Compute Engine. Pemesanan memberikan tingkat jaminan yang tinggi dalam mendapatkan kapasitas untuk satu atau beberapa VM dengan konfigurasi hardware yang ditentukan. Pemesanan untuk VM akan menimbulkan biaya VM tersebut sejak Anda membuat pemesanan hingga Anda menghapus pemesanan. Namun, saat Anda menggunakan VM tersebut, biaya totalnya setara dengan VM tanpa reservasi. Untuk mempelajari lebih lanjut, lihat Pemesanan resource zona Compute Engine.
Batasan dan persyaratan
Saat menggunakan reservasi Compute Engine dengan Vertex AI, pertimbangkan batasan dan persyaratan berikut:
- Vertex AI hanya dapat menggunakan pemesanan VM yang telah memasang GPU.
- Penggunaan reservasi Compute Engine dengan Vertex AI hanya didukung untuk pelatihan dan prediksi kustom.
- Properti VM pemesanan harus sama persis dengan beban kerja Vertex AI Anda
untuk menggunakan pemesanan. Misalnya, jika reservasi menentukan
jenis mesin
a2-ultragpu-8g
, beban kerja Vertex AI hanya dapat menggunakan reservasi jika juga menggunakan jenis mesina2-ultragpu-8g
. Lihat Persyaratan. - Untuk menggunakan reservasi bersama VM GPU, Anda harus menggunakannya menggunakan project pemiliknya atau project konsumen yang menggunakan reservasi tersebut. Lihat Cara kerja pemesanan bersama.
- Untuk mendukung update reguler deployment Vertex AI, sebaiknya tingkatkan jumlah VM Anda setidaknya 1 VM tambahan untuk setiap deployment serentak.
-
Layanan dan kemampuan berikut tidak didukung saat menggunakan reservasi Compute Engine dengan pelatihan Vertex AI:
- Dynamic Workload Scheduler
- Menjalankan tugas pelatihan pada resource persisten
Penagihan
Saat menggunakan pemesanan Compute Engine, Anda akan ditagih untuk hal-hal berikut:
- Harga Compute Engine untuk resource Compute Engine, termasuk diskon abonemen (DA) yang berlaku. Lihat Harga Compute Engine.
- Biaya pengelolaan pelatihan kustom Vertex AI selain penggunaan infrastruktur Anda. Lihat Harga model yang dilatih secara khusus.
Sebelum memulai
- Tinjau persyaratan dan batasan untuk pemesanan.
- Tinjau persyaratan kuota dan batasan untuk pemesanan bersama.
Mengizinkan reservasi digunakan
Sebelum menggunakan reservasi VM GPU, Anda harus menetapkan kebijakan berbagi untuk mengizinkan Vertex AI menggunakan reservasi. Untuk melakukannya, gunakan salah satu metode berikut:
Mengizinkan penggunaan saat membuat reservasi
Saat membuat VM GPU satu project atau pemesanan bersama, Anda dapat mengizinkan Vertex AI menggunakan pemesanan sebagai berikut:
- Jika Anda menggunakan konsol Google Cloud, di bagian Layanan Google Cloud, pilih Bagikan reservasi.
- Jika Anda menggunakan Google Cloud CLI, sertakan flag
--reservation-sharing-policy
yang ditetapkan keALLOW_ALL
. - Jika Anda menggunakan REST API, dalam isi permintaan, sertakan kolom
serviceShareType
yang ditetapkan keALLOW_ALL
.
Mengizinkan pemakaian dalam reservasi yang ada
Untuk mengizinkan Vertex AI menggunakan reservasi VM GPU yang ada, lihat Mengubah kebijakan berbagi reservasi.Membuat tugas pelatihan kustom dengan reservasi
Untuk membuat tugas pelatihan kustom yang menggunakan reservasi Compute Engine untuk VM GPU, gunakan REST API.
REST
Sebelum menggunakan data permintaan mana pun, lakukan penggantian berikut:
- LOCATION: Region tempat container atau paket Python akan dijalankan.
- PROJECT_ID: project tempat reservasi dibuat. Untuk menggunakan pemesanan bersama dari project lain, Anda harus membagikan pemesanan tersebut 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 default-nya adalah
n1-standard-2
. Untuk 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 beban kerja komputasi.
- ACCELERATOR_COUNT: jumlah akselerator yang akan dipasang ke mesin.
- Tentukan tugas pelatihan kustom:
RESERVATION_AFFINITY_TYPE: Harus berupa
ANY
,SPECIFIC_RESERVATION
, atauNONE
.ANY
berarti VMcustomJob
Anda dapat otomatis menggunakan reservasi apa pun dengan properti yang cocok.SPECIFIC_RESERVATION
berarti VMcustomJob
Anda hanya dapat menggunakan reservasi yang secara khusus ditargetkan oleh VM berdasarkan nama.NONE
berarti VMcustomJob
Anda tidak dapat menggunakan reservasi apa pun. MenentukanNONE
memiliki efek yang sama dengan menghilangkan spesifikasi afinitas reservasi.
- RESERVATION_NAME: nama pemesanan Anda.
- DISK_TYPE: Opsional. Jenis boot disk yang akan digunakan untuk tugas,
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 pekerja yang akan digunakan. Pada umumnya,
tetapkan ini ke
1
untuk kumpulan pekerja 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 pekerja.
- 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/v1beta1/projects/PROJECT_ID/locations/LOCATION/customJobs
Isi JSON permintaan:
{ "displayName": "JOB_NAME", "jobSpec": { "workerPoolSpecs": [ { "machineSpec": { "machineType": "MACHINE_TYPE", "acceleratorType": "ACCELERATOR_TYPE", "acceleratorCount": ACCELERATOR_COUNT, "reservationAffinity": { "reservationAffinityType": "RESERVATION_AFFINITY_TYPE", "key": "compute.googleapis.com/reservation-name", "values": [ "projects/PROJECT_ID/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/v1beta1/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/v1beta1/projects/PROJECT_ID/locations/LOCATION/customJobs" | Select-Object -Expand Content
Respons ini berisi informasi tentang spesifikasi serta TRAININGPIPELINE_ID.
Langkah selanjutnya
- Pelajari lebih lanjut reservasi resource zona Compute Engine.
- Pelajari cara menggunakan reservasi dengan prediksi Vertex AI.