Resource persisten Vertex AI adalah cluster yang berjalan lama, yang dapat Anda gunakan untuk menjalankan tugas pelatihan kustom dan menjalankan pipeline. Dengan menggunakan resource persisten untuk menjalankan pipeline, Anda dapat membantu memastikan ketersediaan resource komputasi dan mengurangi waktu startup tugas pipeline. Resource persisten mendukung semua VM dan GPU yang didukung oleh tugas pelatihan kustom. Pelajari resource persisten lebih lanjut.
Halaman ini menunjukkan cara melakukan hal berikut:
Sebelum memulai
Sebelum dapat membuat pipeline yang berjalan dengan resource persisten, Anda harus menyelesaikan prasyarat berikut terlebih dahulu.
Menentukan dan mengompilasi pipeline
Tentukan pipeline Anda, lalu kompilasi definisi pipeline menjadi file YAML. Untuk informasi selengkapnya tentang cara menentukan dan mengompilasi pipeline, lihat Mem-build pipeline.
Peran IAM yang diperlukan
Untuk mendapatkan izin yang diperlukan guna membuat resource persisten,
minta administrator untuk memberi Anda
peran IAM Vertex AI Administrator (roles/aiplatform.admin
) di project Anda.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran bawaan ini berisi izin aiplatform.persistentResources.create
, yang diperlukan untuk membuat resource persisten.
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Membuat resource yang persisten
Gunakan contoh berikut untuk membuat resource persisten yang dapat Anda kaitkan dengan proses pipeline. Untuk informasi selengkapnya tentang cara membuat resource persisten, lihat Membuat resource persisten.
gcloud
Untuk membuat resource persisten yang dapat Anda kaitkan dengan operasi pipeline, gunakan
perintah gcloud ai persistent-resources create
bersama dengan flag --enable-custom-service-account
.
Resource persisten dapat memiliki satu atau beberapa kumpulan resource. Untuk membuat beberapa
kumpulan resource dalam resource persisten, tentukan beberapa
flag --resource-pool-spec
.
Anda dapat menetapkan semua konfigurasi kumpulan resource sebagai bagian dari command line,
atau menggunakan flag --config
untuk menentukan jalur ke file YAML yang
berisi konfigurasi tersebut.
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- PROJECT_ID: Project ID dari project Google Cloud tempat Anda ingin membuat resource persisten.
- LOCATION: Region tempat Anda ingin membuat resource persisten. Untuk mengetahui daftar wilayah yang didukung, lihat Ketersediaan fitur.
- PERSISTENT_RESOURCE_ID: ID resource persisten.
- DISPLAY_NAME: Opsional. Nama tampilan resource persisten.
- MACHINE_TYPE: Jenis virtual machine (VM)
yang akan digunakan. Untuk daftar VM yang didukung, lihat
Jenis mesin.
Kolom ini sesuai dengan kolom
machineSpec.machineType
di dalam pesan APIResourcePool
. - REPLICA_COUNT: Opsional. Jumlah replika yang akan dibuat
untuk kumpulan resource, jika Anda tidak ingin menggunakan penskalaan otomatis. Kolom ini sesuai dengan
kolom
replicaCount
di dalam pesan APIResourcePool
. Anda harus menentukan jumlah replika jika tidak menentukan kolom MIN_REPLICA_COUNT dan MAX_REPLICA_COUNT. - MIN_REPLICA_COUNT: Opsional. Jumlah minimum replika jika Anda menggunakan penskalaan otomatis untuk kumpulan resource. Anda harus menentukan MIN_REPLICA_COUNT dan MAX_REPLICA_COUNT untuk menggunakan penskalaan otomatis.
- MAX_REPLICA_COUNT: Opsional. Jumlah replika maksimum jika Anda menggunakan penskalaan otomatis untuk kumpulan resource. Anda harus menentukan MIN_REPLICA_COUNT dan MAX_REPLICA_COUNT untuk menggunakan penskalaan otomatis.
- CONFIG: Jalur ke file konfigurasi YAML resource
persisten, yang berisi daftar spesifikasi
ResourcePool
. Jika opsi ditentukan dalam file konfigurasi dan argumen command line, argumen command line akan menggantikan file konfigurasi. Perhatikan bahwa kunci dengan garis bawah dianggap tidak valid.Contoh file konfigurasi YAML:
resourcePoolSpecs: machineSpec: machineType: n1-standard-4 replicaCount: 1
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
gcloud ai persistent-resources create \ --persistent-resource-id=PERSISTENT_RESOURCE_ID \ --display-name=DISPLAY_NAME \ --project=PROJECT_ID \ --region=LOCATION \ --resource-pool-spec="replica-count=REPLICA_COUNT,machine-type=MACHINE_TYPE,min-replica-count=MIN_REPLICA_COUNT,max-replica-count=MAX_REPLICA_COUNT" \ --enable-custom-service-account
Windows (PowerShell)
gcloud ai persistent-resources create ` --persistent-resource-id=PERSISTENT_RESOURCE_ID ` --display-name=DISPLAY_NAME ` --project=PROJECT_ID ` --region=LOCATION ` --resource-pool-spec="replica-count=REPLICA_COUNT,machine-type=MACHINE_TYPE,min-replica-count=MIN_REPLICA_COUNT,max-replica-count=MAX_REPLICA_COUNT" ` --enable-custom-service-account
Windows (cmd.exe)
gcloud ai persistent-resources create ^ --persistent-resource-id=PERSISTENT_RESOURCE_ID ^ --display-name=DISPLAY_NAME ^ --project=PROJECT_ID ^ --region=LOCATION ^ --resource-pool-spec="replica-count=REPLICA_COUNT,machine-type=MACHINE_TYPE,min-replica-count=MIN_REPLICA_COUNT,max-replica-count=MAX_REPLICA_COUNT" ^ --enable-custom-service-account
Anda akan melihat respons seperti berikut:
Using endpoint [https://us-central1-aiplatform.googleapis.com/] Operation to create PersistentResource [projects/PROJECT_NUMBER/locations/us-central1/persistentResources/mypersistentresource/operations/OPERATION_ID] is submitted successfully. You can view the status of your PersistentResource create operation with the command $ gcloud ai operations describe projects/sample-project/locations/us-central1/operations/OPERATION_ID
Contoh perintah gcloud
:
gcloud ai persistent-resources create \ --persistent-resource-id=my-persistent-resource \ --region=us-central1 \ --resource-pool-spec="replica-count=4,machine-type=n1-standard-4" --enable-custom-service-account
Konfigurasi gcloud
lanjutan
Jika ingin menentukan opsi konfigurasi yang tidak tersedia di
contoh sebelumnya, Anda dapat menggunakan flag --config
untuk menentukan jalur ke file
config.yaml
di dalam lingkungan lokal Anda, yang berisi kolom dari
persistentResources
. Contoh:
gcloud ai persistent-resources create \ --persistent-resource-id=PERSISTENT_RESOURCE_ID \ --project=PROJECT_ID \ --region=LOCATION \ --config=CONFIG --enable-custom-service-account
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di Panduan memulai Vertex AI menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Python Vertex AI.
Untuk melakukan autentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Untuk membuat resource persisten yang dapat Anda gunakan dengan operasi pipeline, tetapkan parameterenable_custom_service_account
ke True
dalam objek ResourceRuntimeSpec
saat membuat
resource persisten.
my_example_resource = persistent_resource.PersistentResource.create(
persistent_resource_id=PERSISTENT_RESOURCE_ID,
display_name=DISPLAY_NAME,
resource_pools=[
resource_pool.ResourcePool(
machine_spec=machine_spec.MachineSpec(
machine_type=MACHINE_TYPE,
),
replica_count=REPLICA_COUNT,
)
],
resource_runtime_spec=resource_runtime_spec.ResourceRuntimeSpec(
enable_custom_service_account=True,
),
)
Ganti kode berikut:
- PERSISTENT_RESOURCE_ID: ID resource persisten.
- DISPLAY_NAME: Opsional. Nama tampilan resource persisten.
- MACHINE_TYPE: Jenis virtual machine (VM)
yang akan digunakan. Untuk daftar VM yang didukung, lihat
Jenis mesin.
Kolom ini sesuai dengan kolom
machineSpec.machineType
dalam pesan APIResourcePool
. - REPLICA_COUNT: Jumlah replika yang akan dibuat saat membuat kumpulan resource ini.
REST
Untuk membuat resource PersistentResource
yang dapat Anda kaitkan dengan proses pipeline, kirim permintaan POST menggunakan metode persistentResources/create
dengan parameter enable_custom_service_account
yang ditetapkan ke true
dalam isi permintaan.
Resource persisten dapat memiliki satu atau beberapa kumpulan resource. Anda dapat mengonfigurasi setiap kumpulan resource untuk menggunakan jumlah replika tetap atau penskalaan otomatis.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: Project ID dari project Google Cloud tempat Anda ingin membuat resource persisten.
- LOCATION: Region tempat Anda ingin membuat resource persisten. Untuk mengetahui daftar wilayah yang didukung, lihat Ketersediaan fitur.
- PERSISTENT_RESOURCE_ID: ID resource persisten.
- DISPLAY_NAME: Opsional. Nama tampilan resource persisten.
- MACHINE_TYPE: Jenis virtual machine (VM)
yang akan digunakan. Untuk daftar VM yang didukung, lihat
Jenis mesin.
Kolom ini sesuai dengan kolom
machineSpec.machineType
di dalam pesan APIResourcePool
. - REPLICA_COUNT: Opsional. Jumlah replika yang akan dibuat
untuk kumpulan resource, jika Anda tidak ingin menggunakan penskalaan otomatis. Kolom ini sesuai dengan
kolom
replicaCount
di dalam pesan APIResourcePool
. Anda harus menentukan jumlah replika jika tidak menentukan kolom MIN_REPLICA_COUNT dan MAX_REPLICA_COUNT. - MIN_REPLICA_COUNT: Opsional. Jumlah minimum replika jika Anda menggunakan penskalaan otomatis untuk kumpulan resource. Anda harus menentukan MIN_REPLICA_COUNT dan MAX_REPLICA_COUNT untuk menggunakan penskalaan otomatis.
- MAX_REPLICA_COUNT: Opsional. Jumlah replika maksimum jika Anda menggunakan penskalaan otomatis untuk kumpulan resource. Anda harus menentukan MIN_REPLICA_COUNT dan MAX_REPLICA_COUNT untuk menggunakan penskalaan otomatis.
Metode HTTP dan URL:
POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/persistentResources?persistent_resource_id=PERSISTENT_RESOURCE_ID
Meminta isi JSON:
{ "display_name": "DISPLAY_NAME", "resource_pools": [ { "machine_spec": { "machine_type": "MACHINE_TYPE" }, "replica_count": REPLICA_COUNT, "autoscaling_spec": { "min_replica_count": MIN_REPLICA_COUNT, "max_replica_count": MAX_REPLICA_COUNT } } ], "resource_runtime_spec": { "enable_custom_service_account: true } }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/persistentResources/mypersistentresource/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreatePersistentResourceOperationMetadata", "genericMetadata": { "createTime": "2023-02-08T21:17:15.009668Z", "updateTime": "2023-02-08T21:17:15.009668Z" } } }
Membuat proses pipeline menggunakan resource persisten
Gunakan contoh kode berikut untuk membuat operasi pipeline yang menggunakan resource persisten:
job = aiplatform.PipelineJob(display_name = 'DISPLAY_NAME',
template_path = 'COMPILED_PIPELINE_PATH',
pipeline_root = 'PIPELINE_ROOT',
project = 'PROJECT_ID',
location = 'LOCATION',
default_runtime = {
"persistentResourceRuntimeDetail": {
"persistentResourceName": "PERSISTENT_RESOURCE_ID",
"taskResourceUnavailableWaitTimeMs": WAIT_TIME,
"taskResourceUnavailableTimeoutBehavior": TIMEOUT_BEHAVIOR,
}
}
Ganti kode berikut:
DISPLAY_NAME: Nama pipeline. Nama ini akan muncul di konsol Google Cloud.
COMPILED_PIPELINE_PATH: Jalur ke file YAML pipeline yang dikompilasi. Ini dapat berupa jalur lokal atau Cloud Storage URI.
PIPELINE_ROOT: Tentukan Cloud Storage URI untuk menyimpan artefak dari operasi pipeline Anda.
PROJECT_ID: Project Google Cloud tempat pipeline ini berjalan.
LOCATION: Region tempat proses pipeline dijalankan. Untuk mengetahui informasi selengkapnya tentang region tempat Vertex AI Pipelines tersedia, lihat panduan lokasi Vertex AI. Jika Anda tidak menetapkan parameter ini, Vertex AI Pipelines akan menggunakan lokasi default yang ditetapkan di
aiplatform.init
.PERSISTENT_RESOURCE_ID: ID resource persisten yang Anda buat.
WAIT_TIME: Waktu dalam milidetik untuk menunggu jika resource persisten tidak tersedia.
TIMEOUT_BEHAVIOR: Menentukan perilaku penggantian tugas pipeline jika WAIT_TIME terlampaui. Nilai yang memungkinkan mencakup:
FAIL
Tugas pipeline gagal setelah melebihi waktu tunggu.FALL_BACK_TO_ON_DEMAND
Tugas pipeline terus berjalan menggunakan resource pelatihan Vertex AI default, tanpa menggunakan resource persisten.
Langkah berikutnya
- Pelajari cara menjalankan pipeline.