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'
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')
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 pouraccelerator_type
, définissez cette valeur surcloud-tpu
. Pour en savoir plus, consultez la documentation de référence sur le paramètremachine_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
.PERSISTENT_RESOURCE_ID (preview): ID de la ressource persistante pour exécuter le pipeline. Si vous spécifiez une ressource persistante, le pipeline s'exécute sur les machines existantes associées à la ressource persistante, plutôt que sur les ressources de machine à la demande et de courte durée. Notez que la configuration réseau et CMEK du pipeline doit correspondre à la configuration spécifiée pour la ressource persistante. Pour en savoir plus sur les ressources persistantes et leur création, consultez la section Créer une ressource persistante.
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.
Documentation 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.