Solicita recursos de máquina de Google Cloud con Vertex AI Pipelines

Puedes ejecutar tu componente de Python en las Vertex AI Pipelines mediante los recursos de máquinas específicos de Google Cloud que ofrece el entrenamiento personalizado de Vertex AI.

Puedes usar el método create_custom_training_job_from_component desde los componentes de la canalización de Google Cloud para transformar un componente de Python en un trabajo de entrenamiento personalizado de Vertex AI. Aprende a crear un trabajo personalizado.

Crea un trabajo de entrenamiento personalizado a partir de un componente mediante Vertex AI Pipelines

En el siguiente ejemplo, se muestra cómo usar el método create_custom_training_job_from_component para transformar un componente de Python en un trabajo de entrenamiento personalizado con recursos de máquina de Google Cloud definidos por el usuario y, luego, ejecutar la canalización compilada en 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')

Reemplaza lo siguiente:

  • DISPLAY_NAME: El nombre del trabajo personalizado. Si no especificas el nombre, se usa el nombre del componente de forma predeterminada.

  • MACHINE_TYPE: El tipo de máquina para ejecutar el trabajo personalizado, por ejemplo, e2-standard-4. Para obtener más información sobre los tipos de máquinas, consulta Tipos de máquinas. Si especificaste una TPU como el accelerator_type, configura esto como cloud-tpu. Para obtener más información, consulta la referencia del parámetro machine_type.

  • ACCELERATOR_TYPE: Es el tipo de acelerador que se conecta a la máquina. Para obtener más información sobre las GPU disponibles y cómo configurarlas, consulta GPU. Para obtener más información sobre los tipos de TPU disponibles y cómo configurarlos, consulta TPU. Para obtener más información, consulta la referencia del parámetro accelerator_type.

  • ACCELERATOR_COUNT: La cantidad de aceleradores adjuntos a la máquina que ejecuta el trabajo personalizado. Si especificas el tipo de acelerador, el recuento de aceleradores se establece en 1 de forma predeterminada.

  • BOOT_DISK_TYPE: el tipo de disco de arranque. Para obtener más información, consulta la referencia del parámetro boot_disk_type.

  • BOOT_DISK_SIZE por el tamaño del disco de arranque en GB. Para obtener más información, consulta la referencia del parámetro boot_disk_size_gb.

  • NETWORK: si el trabajo personalizado realiza un intercambio de tráfico con una red de Compute Engine que tiene configurado el acceso privado a servicios, especifica el nombre completo de la red. Para obtener más información, consulta la referencia del parámetro network.

  • RESERVED_IP_RANGES: una lista de nombres para los rangos de IP reservados en la red de VPC que se usa para implementar el trabajo personalizado. Para obtener más información, consulta la referencia del parámetro reserved_ip_ranges.

  • NFS_MOUNTS: una lista de recursos de activación de NFS en formato de diccionario JSON. Para obtener más información, consulta la referencia del parámetro nfs_mounts.

  • PIPELINE_ROOT: Especifica un URI de Cloud Storage al que pueda acceder la cuenta de servicio de tus canalizaciones. Los artefactos de las ejecuciones de tus canalizaciones se almacenan en la raíz de la canalización.

  • PROJECT_ID: Es el proyecto de Google Cloud en el que se ejecuta esta canalización.

  • LOCATION: La ubicación o región en la que se ejecuta esta canalización.

Referencia de la API

Para obtener una lista completa de los argumentos compatibles con el método create_custom_training_job_from_component, consulta la referencia del SDK de componentes de canalización de Google Cloud.