Saiba como pedir recursos de máquina da Google Cloud no Vertex AI Pipelines

Pode executar o seu componente Python no Vertex AI Pipelines usando recursos de máquinas específicos oferecidos pela preparação personalizada do Vertex AI. Google Cloud

Pode usar o método create_custom_training_job_from_component dos componentes de pipeline do Google Cloud para transformar um componente Python num trabalho de preparação personalizado do Vertex AI. Saiba como criar uma tarefa personalizada.

Crie uma tarefa de preparação personalizada a partir de um componente com os Vertex AI Pipelines

O exemplo seguinte mostra como usar o método create_custom_training_job_from_component para transformar um componente Python num trabalho de preparação personalizado com recursos de máquinas Google Cloud definidos pelo utilizador 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'
    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')

Substitua o seguinte:

  • DISPLAY_NAME: o nome da tarefa personalizada. Se não especificar o nome, é usado o nome do componente por predefinição.

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

  • ACCELERATOR_TYPE: o tipo de acelerador associado à máquina. Para mais informações sobre as GPUs disponíveis e como as configurar, consulte o artigo GPUs. Para mais informações sobre os tipos de TPUs disponíveis e como os configurar, consulte o artigo TPUs. Para mais informações, consulte a referência de parâmetros accelerator_type.

  • ACCELERATOR_COUNT: o número de aceleradores associados à máquina que executa a tarefa personalizada. Se especificar o tipo de acelerador, a quantidade de aceleradores é definida como 1 por predefinição.

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

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

  • NETWORK: Se a tarefa personalizada estiver em peering com uma rede do Compute Engine que tenha o acesso privado aos serviços configurado, especifique o nome completo da rede. Para mais informações, consulte a referência de parâmetros network.

  • RESERVED_IP_RANGES: Uma lista de nomes para os intervalos de IP reservados na rede VPC usada para implementar a tarefa personalizada. Para mais informações, consulte a referência de parâmetros reserved_ip_ranges.

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

  • PERSISTENT_RESOURCE_ID (pré-visualização): o ID do recurso persistente para executar o pipeline. Se especificar um recurso persistente, o pipeline é executado em máquinas existentes associadas ao recurso persistente, em vez de em recursos de máquinas a pedido e de curta duração. Tenha em atenção que a configuração da rede e da CMEK para o pipeline tem de corresponder à configuração especificada para o recurso persistente. Para mais informações sobre recursos persistentes e como criá-los, consulte o artigo Crie um recurso persistente.

  • PIPELINE_ROOT: especifique um URI do Cloud Storage ao qual a conta de serviço das suas pipelines pode aceder. Os artefactos das execuções do pipeline são armazenados na raiz do pipeline.

  • PROJECT_ID: O Google Cloud projeto no qual esta pipeline é executada.

  • LOCATION: a localização ou a região em que este pipeline é executado.

Referência da API

Para ver uma lista completa dos argumentos suportados pelo método create_custom_training_job_from_component, consulte a referência do SDK de componentes de pipelines do Google Cloud.