Demander des ressources machine Google Cloud avec Vertex AI Pipelines

Vous pouvez exécuter votre composant Python sur Vertex AI Pipelines à l'aide des ressources machine spécifiques à Google Cloud proposées par l'entraînement personnalisé Vertex AI.

Vous pouvez utiliser la méthode create_custom_training_job_from_component de la page Composants du pipeline Google Cloud pour transformer un composant Python en un job d'entraînement personnalisé Vertex AI. Apprenez à créer un job personnalisé.

Créer un job d'entraînement personnalisé à partir d'un composant en utilisant Vertex AI Pipelines

L'exemple suivant montre comment utiliser la méthode create_custom_training_job_from_component pour transformer un composant Python en un job d'entraînement personnalisé avec des ressources machine Google Cloud définies par l'utilisateur, puis exécuter le pipeline compilé sur 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')

Remplacez les éléments suivants :

  • DISPLAY_NAME : nom de la tâche personnalisée. Si vous ne spécifiez pas de nom, le nom du composant est utilisé par défaut.

  • MACHINE_TYPE : type de machine pour l'exécution de la tâche personnalisée (par exemple, e2-standard-4). Pour en savoir plus sur les types de machines, consultez la page Types de machines. Si vous avez spécifié un TPU pour accelerator_type, définissez cette valeur sur cloud-tpu. Pour en savoir plus, consultez la documentation de référence sur le paramètre machine_type.

  • ACCELERATOR_TYPE : type d'accélérateur associé à la machine. Pour en savoir plus sur les GPU disponibles et leur configuration, consultez la page GPU. Pour plus d'informations sur les types de TPU disponibles et leur configuration, consultez la page TPU. Pour en savoir plus, consultez la documentation de référence sur le paramètre accelerator_type.

  • ACCELERATOR_COUNT : nombre d'accélérateurs associés à la machine exécutant la tâche personnalisée. Si vous spécifiez le type d'accélérateur, le nombre d'accélérateurs est défini par défaut sur 1.

  • BOOT_DISK_TYPE: type de disque de démarrage. Pour en savoir plus, consultez la documentation de référence sur le paramètre boot_disk_type.

  • BOOT_DISK_SIZE : taille du disque de démarrage en Go. Pour en savoir plus, consultez la documentation de référence sur le paramètre boot_disk_size_gb.

  • NETWORK: si le job personnalisé est appairé à un réseau Compute Engine pour lequel l'accès aux services privés est configuré, spécifiez le nom complet du réseau. Pour en savoir plus, consultez la documentation de référence sur le paramètre network.

  • RESERVED_IP_RANGES: liste des noms des plages d'adresses IP réservées sous le réseau VPC utilisé pour déployer le job personnalisé. Pour en savoir plus, consultez la documentation de référence sur le paramètre reserved_ip_ranges.

  • NFS_MOUNTS: liste des ressources d'installation NFS au format dict JSON. Pour en savoir plus, consultez la documentation de référence sur le paramètre nfs_mounts.

  • PIPELINE_ROOT : spécifiez un URI Cloud Storage auquel votre compte de service de pipelines peut accéder. Les artefacts des exécutions de votre pipeline sont stockés dans la racine du pipeline.

  • PROJECT_ID: projet Google Cloud dans lequel ce pipeline s'exécute.

  • LOCATION : emplacement ou région dans lequel ce pipeline s'exécute.

Document de référence de l'API

Pour obtenir la liste complète des arguments acceptés par la méthode create_custom_training_job_from_component, consultez la documentation de référence du SDK des composants du pipeline Google Cloud.