Richiedi risorse per le macchine Google Cloud con Vertex AI Pipelines

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

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

Crea 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 macchina di 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'
)

# 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 su cui eseguire il job personalizzato, ad esempio e2-standard-4. Per ulteriori informazioni sui tipi di macchina, vedi Tipi di macchina. Se hai specificato una TPU come accelerator_type, impostala su cloud-tpu. Per saperne di più, consulta la documentazione di 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 la sezione GPU. Per ulteriori informazioni sui tipi di TPU disponibili e su come configurarli, consulta la sezione TPU. Per saperne di più, consulta la documentazione di 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, il conteggio dell'acceleratore è impostato su 1 per impostazione predefinita.

  • BOOT_DISK_TYPE: il tipo di disco di avvio. Per saperne di più, consulta la documentazione di riferimento al parametro boot_disk_type.

  • BOOT_DISK_SIZE: le dimensioni del disco di avvio in GB. Per saperne di più, consulta la documentazione di riferimento al parametro boot_disk_size_gb.

  • NETWORK: se il job personalizzato è connesso in peering a una rete Compute Engine in cui è configurato l'accesso privato ai servizi, specifica il nome completo della rete. Per saperne di più, consulta la documentazione di 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 saperne di più, consulta la documentazione di riferimento al parametro reserved_ip_ranges.

  • NFS_MOUNTS: un elenco di risorse di montaggio NFS in formato dettatura JSON. Per saperne di più, consulta la documentazione di riferimento al parametro nfs_mounts.

  • 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 all'interno della directory radice.

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

  • LOCATION: la località o la regione in cui viene eseguita la 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 Componenti.