Richiedere risorse di macchine Google Cloud con Vertex AI Pipelines

Puoi eseguire il componente Python su Vertex AI Pipelines utilizzando le risorse di macchine specifiche di Google Cloud offerte dall'addestramento personalizzato di Vertex AI.

Puoi utilizzare il metodo create_custom_training_job_from_component dei componenti della pipeline di Google Cloud per trasformare un componente Python in un job di addestramento personalizzato Vertex AI. Scopri come creare un job personalizzato.

Creare un job di addestramento personalizzato da un componente utilizzando Vertex AI Pipelines

L'esempio seguente mostra come utilizzare il metodo create_custom_training_job_from_component per trasformare un componente Python in un job di addestramento personalizzato con risorse di macchine Google Cloud definite dall'utente, quindi eseguire la pipeline compilata su Vertex AI Pipelines:


import kfp
from kfp import dsl
from google_cloud_pipeline_components.v1.custom_job import create_custom_training_job_from_component

# Create a Python component
@dsl.component
def my_python_component():
  import time
  time.sleep(1)

# Convert the above component into a custom training job
custom_training_job = create_custom_training_job_from_component(
    my_python_component,
    display_name = 'DISPLAY_NAME',
    machine_type = 'MACHINE_TYPE',
    accelerator_type='ACCELERATOR_TYPE',
    accelerator_count='ACCELERATOR_COUNT',
    boot_disk_type: 'BOOT_DISK_TYPE',
    boot_disk_size_gb: 'BOOT_DISK_SIZE',
    network: 'NETWORK',
    reserved_ip_ranges: 'RESERVED_IP_RANGES',
    nfs_mounts: 'NFS_MOUNTS'
    persistent_resource_id: 'PERSISTENT_RESOURCE_ID'
)

# Define a pipeline that runs the custom training job
@dsl.pipeline(
  name="resource-spec-request",
  description="A simple pipeline that requests a Google Cloud machine resource",
  pipeline_root='PIPELINE_ROOT',
)
def pipeline():
  training_job_task = custom_training_job(
      project='PROJECT_ID',
      location='LOCATION',
  ).set_display_name('training-job-task')

Sostituisci quanto segue:

  • DISPLAY_NAME: il nome del job personalizzato. Se non specifichi il nome, per impostazione predefinita viene utilizzato il nome del componente.

  • MACHINE_TYPE: il tipo di macchina per l'esecuzione del job personalizzato, ad esempio e2-standard-4. Per saperne di più sui tipi di macchine, consulta Tipi di macchine. Se hai specificato una TPU come accelerator_type, imposta questo valore su cloud-tpu. Per ulteriori informazioni, consulta il riferimento al parametro machine_type.

  • ACCELERATOR_TYPE: il tipo di acceleratore collegato alla macchina. Per ulteriori informazioni sulle GPU disponibili e su come configurarle, consulta GPU. Per ulteriori informazioni sui tipi di TPU disponibili e su come configurarli, consulta TPU. Per ulteriori informazioni, consulta il riferimento al parametro accelerator_type.

  • ACCELERATOR_COUNT: il numero di acceleratori collegati alla macchina che esegue il job personalizzato. Se specifichi il tipo di acceleratore, per impostazione predefinita il conteggio degli acceleratori è impostato su 1.

  • BOOT_DISK_TYPE: il tipo di disco di avvio. Per ulteriori informazioni, consulta il riferimento al parametro boot_disk_type.

  • BOOT_DISK_SIZE: le dimensioni del disco di avvio in GB. Per ulteriori informazioni, consulta il riferimento al parametro boot_disk_size_gb.

  • NETWORK: se il job personalizzato è in peering con una rete Compute Engine in cui è configurato l'accesso privato ai servizi, specifica il nome completo della rete. Per ulteriori informazioni, consulta il riferimento al parametro network.

  • RESERVED_IP_RANGES: un elenco di nomi per gli intervalli IP riservati nella rete VPC utilizzata per eseguire il deployment del job personalizzato. Per ulteriori informazioni, consulta il riferimento al parametro reserved_ip_ranges.

  • NFS_MOUNTS: un elenco di risorse di montaggio NFS in formato dict JSON. Per ulteriori informazioni, consulta il riferimento al parametro nfs_mounts.

  • PERSISTENT_RESOURCE_ID (anteprima): l'ID della risorsa permanente per eseguire la pipeline. Se specifichi una risorsa permanente, la pipeline viene eseguita sulle macchine esistenti associate alla risorsa permanente anziché sulle risorse delle macchine on demand e di breve durata. Tieni presente che la configurazione della rete e di CMEK per la pipeline deve corrispondere a quella specificata per la risorsa permanente. Per saperne di più sulle risorse permanenti e su come crearle, consulta Creare una risorsa permanente.

  • PIPELINE_ROOT: specifica un URI Cloud Storage a cui può accedere l'account di servizio delle pipeline. Gli artefatti delle esecuzioni della pipeline vengono archiviati nella directory principale della pipeline.

  • PROJECT_ID: il progetto Google Cloud in cui viene eseguita questa pipeline.

  • LOCATION: la località o la regione in cui viene eseguita questa pipeline.

Riferimento API

Per un elenco completo degli argomenti supportati dal metodo create_custom_training_job_from_component, consulta la sezione Riferimento all'SDK Google Cloud Pipeline Components.