Solicitar recursos de máquina do Google Cloud com os pipelines da Vertex AI

É possível executar o componente Python no Vertex AI Pipelines usando recursos de máquina específicos do Google Cloud oferecidos pelo treinamento personalizado da Vertex AI.

Use o método create_custom_training_job_from_component dos Componentes de pipeline do Google Cloud para transformar um componente Python em um job de treinamento personalizado da Vertex AI. Saiba como criar um job personalizado.

Criar um job de treinamento personalizado com base em um componente usando os pipelines da Vertex AI

Na amostra a seguir, mostramos como usar o método create_custom_training_job_from_component para transformar um componente Python em um job de treinamento personalizado com recursos de máquina do Google Cloud definidos pelo usuário e, em seguida, executar o pipeline compilado no 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')

Substitua:

  • DISPLAY_NAME: o nome do job personalizado. Se você não especificar o nome, o nome do componente será usado, por padrão.

  • MACHINE_TYPE: o tipo de máquina para executar o job personalizado, por exemplo, e2-standard-4. Para mais informações sobre tipos de máquinas, consulte Tipos de máquinas. Se você especificou uma TPU como accelerator_type, defina-a como cloud-tpu. Para mais informações, consulte a referência de parâmetro machine_type.

  • ACCELERATOR_TYPE: o tipo de acelerador anexado à máquina. Para mais informações sobre as GPUs disponíveis e como configurá-las, consulte GPUs. Para mais informações sobre os tipos de TPU disponíveis e como configurá-las, consulte TPUs. Para mais informações, consulte a referência de parâmetro accelerator_type.

  • ACCELERATOR_COUNT: o número de aceleradores anexados à máquina que executa o job personalizado. Se você especificar o tipo, a contagem será definida como 1 por padrão.

  • BOOT_DISK_TYPE: o tipo de disco de inicialização. Para mais informações, consulte a referência de parâmetro boot_disk_type.

  • BOOT_DISK_SIZE: o tamanho do disco de inicialização em GB; Para mais informações, consulte a referência de parâmetro boot_disk_size_gb.

  • NETWORK: se o job personalizado fizer peering com uma rede do Compute Engine que tenha o acesso a serviços particulares configurado, especifique o nome completo da rede. Para mais informações, consulte a referência de parâmetro network.

  • RESERVED_IP_RANGES: uma lista de nomes para os intervalos de IP reservados na rede VPC usada para implantar o job personalizado. Para mais informações, consulte a referência de parâmetro reserved_ip_ranges.

  • NFS_MOUNTS: uma lista de recursos de montagem do NFS no formato de dicionário JSON. Para mais informações, consulte a referência de parâmetro nfs_mounts.

  • PIPELINE_ROOT: especifique um URI do Cloud Storage que sua conta de serviço de pipelines possa acessar. Os artefatos das execuções de pipeline são armazenados na raiz do pipeline.

  • PROJECT_ID: o projeto do Google Cloud em que este pipeline é executado.

  • LOCATION: o local ou a região em que o pipeline é executado.

Referência da API

Para ver uma lista completa de argumentos compatíveis com o método create_custom_training_job_from_component, consulte a Referência do SDK de componentes do pipeline do Google Cloud.