Esegui job di addestramento personalizzato su una risorsa permanente

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

Generalmente, quando creare un job di addestramento personalizzato, devi e specificare le risorse di computing su cui il job viene creato ed eseguito. Dopo aver creato risorsa permanente, puoi configurare il job di addestramento personalizzato da eseguire uno o più pool di risorse della risorsa permanente. L'esecuzione di una un job di addestramento su una risorsa permanente riduce significativamente i tempi di avvio del job altrimenti necessaria per la creazione delle risorse di calcolo.

Ruoli obbligatori

Per ottenere l'autorizzazione necessaria per eseguire job di addestramento personalizzato su una risorsa permanente, chiedi all'amministratore di concederti Ruolo IAM Utente Vertex AI (roles/aiplatform.user) per il tuo progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.

Questo ruolo predefinito contiene aiplatform.customJobs.create, che è richiesta per eseguire job di addestramento personalizzati su una risorsa permanente.

Potresti anche riuscire a ottenere questa autorizzazione con ruoli personalizzati altri ruoli predefiniti.

Crea un job di addestramento eseguito su una risorsa permanente

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

gcloud

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

Python

Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, vedi Installare l'SDK Vertex AI per Python. Per ulteriori informazioni, consulta 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 all'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 risorsa corrisponde esattamente a un pool di risorse corrispondente dall'elenco risorsa. Specifica un machine_spec per l'addestramento su nodo singolo e per l'addestramento distribuito.
  • Specifica un valore replica_count minore o uguale al replica_count o max_replica_count del pool di risorse corrispondente, escluso il conteggio delle repliche di qualsiasi altro job in esecuzione su quel pool di risorse.

Passaggi successivi