Esegui job di addestramento serverless di Colab Enterprise su una risorsa permanente

Questa pagina mostra come eseguire un job di addestramento serverless su una risorsa permanente utilizzando la Google Cloud CLI, l'SDK Vertex AI Python e l'API REST.

In genere, quando crei un job di addestramento serverless, devi specificare le risorse di calcolo su cui il job viene creato ed eseguito. Dopo aver creato una risorsa permanente, puoi invece configurare il job di addestramento serverless in modo che venga eseguito su uno o più pool di risorse di quella risorsa permanente. L'esecuzione di un job di addestramento personalizzato su una risorsa permanente riduce significativamente il tempo di avvio del job altrimenti necessario per la creazione delle risorse di calcolo.

Ruoli obbligatori

Per ottenere l'autorizzazione necessaria per eseguire job di addestramento serverless su una risorsa permanente, chiedi all'amministratore di concederti il ruolo IAM Utente della piattaforma agente (roles/aiplatform.user) nel progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Questo ruolo predefinito contiene l' aiplatform.customJobs.create autorizzazione, necessaria per eseguire job di addestramento serverless su una risorsa permanente.

Potresti anche ottenere questa autorizzazione con ruoli personalizzati o altri ruoli predefiniti.

Creare un job di addestramento eseguito su una risorsa permanente

Per creare un job di addestramento serverless eseguito su una risorsa permanente, apporta le seguenti modifiche alle istruzioni standard per la creazione di un job di addestramento serverless:

gcloud

  • Specifica il flag --persistent-resource-id e imposta il valore sull'ID della risorsa permanente (PERSISTENT_RESOURCE_ID) che vuoi utilizzare.
  • Specifica il --worker-pool-spec flag in modo che i valori di machine-type e disk-type corrispondano esattamente a un pool di risorse corrispondente della risorsa permanente. Specifica un --worker-pool-spec per l'addestramento con un singolo nodo e più per l'addestramento distribuito.
  • Specifica un replica-count minore o uguale a replica-count o max-replica-count del pool di risorse corrispondente.

Python

Per scoprire come installare o aggiornare l'SDK Vertex AI Python, consulta Installare l'SDK Vertex AI Python. Per saperne di più, consulta la documentazione di riferimento dell'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

  • Specifica il parametro persistent_resource_id e imposta il valore sull'ID della risorsa permanente (PERSISTENT_RESOURCE_ID) che vuoi utilizzare.
  • Specifica il parametro worker_pool_specs in modo che i valori di machine_spec e disk_spec per ogni pool di risorse corrispondano esattamente a un pool di risorse corrispondente della risorsa permanente. Specifica un machine_spec per l'addestramento con un singolo nodo e più per l'addestramento distribuito.
  • Specifica un replica_count minore o uguale a replica_count o max_replica_count del pool di risorse corrispondente, escluso il conteggio delle repliche di eventuali altri job in esecuzione su quel pool di risorse.

Passaggi successivi