Menjalankan tugas pelatihan serverless Vertex AI pada resource persisten

Halaman ini menunjukkan cara menjalankan tugas pelatihan serverless di resource persisten menggunakan Google Cloud CLI, Vertex AI SDK for Python, dan REST API.

Biasanya, saat membuat tugas pelatihan serverless, Anda perlu menentukan resource komputasi yang dibuat dan dijalankan oleh tugas tersebut. Setelah membuat resource persisten, Anda dapat mengonfigurasi tugas pelatihan serverless untuk dijalankan di satu atau beberapa kumpulan resource dari resource persisten tersebut. Menjalankan tugas pelatihan kustom pada resource persisten akan mengurangi waktu startup tugas secara signifikan yang biasanya diperlukan untuk pembuatan resource komputasi.

Peran yang diperlukan

Guna mendapatkan izin yang diperlukan untuk menjalankan trainingjob serverless di resource persisten, minta administrator Anda untuk memberi Anda peran IAM Vertex AI User (roles/aiplatform.user) 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.customJobs.create yang diperlukan untuk menjalankan tugas pelatihan serverless di resource persisten.

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Membuat tugas pelatihan yang berjalan di resource persisten

Untuk membuat tugas pelatihan serverless yang berjalan di resource persisten, lakukan modifikasi berikut pada petunjuk standar untuk membuat tugas pelatihan serverless:

gcloud

  • Tentukan flag --persistent-resource-id dan tetapkan nilai ke ID resource persisten (PERSISTENT_RESOURCE_ID) yang ingin Anda gunakan.
  • Tentukan flag --worker-pool-spec sehingga nilai untuk machine-type dan disk-type sama persis dengan kumpulan resource yang sesuai dari resource persisten. Tentukan satu --worker-pool-spec untuk pelatihan node tunggal dan beberapa untuk pelatihan terdistribusi.
  • Tentukan replica-count yang kurang dari atau sama dengan replica-count atau max-replica-count dari kumpulan resource yang terkait.

Python

Untuk mempelajari cara menginstal atau mengupdate Vertex AI SDK untuk Python, lihat Menginstal Vertex AI SDK untuk Python. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Python.

def create_custom_job_on_persistent_resource_sample(
    project: str,
    location: str,
    staging_bucket: str,
    display_name: str,
    container_uri: str,
    persistent_resource_id: str,
    service_account: Optional[str] = None,
) -> None:
    aiplatform.init(
        project=project, location=location, staging_bucket=staging_bucket
    )

    worker_pool_specs = [{
        "machine_spec": {
            "machine_type": "n1-standard-4",
            "accelerator_type": "NVIDIA_TESLA_K80",
            "accelerator_count": 1,
        },
        "replica_count": 1,
        "container_spec": {
            "image_uri": container_uri,
            "command": [],
            "args": [],
        },
    }]

    custom_job = aiplatform.CustomJob(
        display_name=display_name,
        worker_pool_specs=worker_pool_specs,
        persistent_resource_id=persistent_resource_id,
    )

    custom_job.run(service_account=service_account)

REST

  • Tentukan parameter persistent_resource_id dan tetapkan nilai ke ID resource persisten (PERSISTENT_RESOURCE_ID) yang ingin Anda gunakan.
  • Tentukan parameter worker_pool_specs sedemikian rupa sehingga nilai machine_spec dan disk_spec untuk setiap kumpulan resource sama persis dengan kumpulan resource yang sesuai dari resource persisten. Tentukan salah satu machine_spec untuk pelatihan node tunggal dan beberapa untuk pelatihan terdistribusi.
  • Tentukan replica_count yang kurang dari atau sama dengan replica_count atau max_replica_count dari kumpulan resource yang terkait, tidak termasuk jumlah replika tugas lain yang berjalan pada kumpulan resource tersebut.

Langkah berikutnya