Demander des ressources machine Google Cloud avec Vertex AI Pipelines
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
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.
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 :
importkfpfromkfpimportdslfromgoogle_cloud_pipeline_components.v1.custom_jobimportcreate_custom_training_job_from_component# Create a Python component@dsl.componentdefmy_python_component():importtimetime.sleep(1)# Convert the above component into a custom training jobcustom_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="AsimplepipelinethatrequestsaGoogleCloudmachineresource",pipeline_root='PIPELINE_ROOT',)defpipeline():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.
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.
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.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2024/11/21 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2024/11/21 (UTC)."],[],[],null,["# Learn how to request Google Cloud machine resources in Vertex AI Pipelines\n\nYou can run your Python component on Vertex AI Pipelines by using Google Cloud-specific machine resources offered by Vertex AI custom training.\n\nYou can use the [`create_custom_training_job_from_component`](https://google-cloud-pipeline-components.readthedocs.io/en/google-cloud-pipeline-components-2.19.0/api/v1/custom_job.html#v1.custom_job.create_custom_training_job_from_component) method from the [Google Cloud Pipeline Components](/vertex-ai/docs/pipelines/gcpc-list) to transform a Python component into a Vertex AI custom training job. [Learn how to create a custom job](/vertex-ai/docs/training/create-custom-job).\n\nCreate a custom training job from a component using Vertex AI Pipelines\n-----------------------------------------------------------------------\n\nThe following sample shows how to use the [`create_custom_training_job_from_component`](https://google-cloud-pipeline-components.readthedocs.io/en/google-cloud-pipeline-components-2.19.0/api/v1/custom_job.html#v1.custom_job.create_custom_training_job_from_component) method to transform a Python component into a custom training job with user-defined Google Cloud machine resources, and then run the compiled pipeline on Vertex AI Pipelines: \n\n\n import kfp\n from kfp import dsl\n from google_cloud_pipeline_components.v1.custom_job import create_custom_training_job_from_component\n\n # Create a Python component\n @dsl.component\n def my_python_component():\n import time\n time.sleep(1)\n\n # Convert the above component into a custom training job\n custom_training_job = create_custom_training_job_from_component(\n my_python_component,\n display_name = '\u003cvar translate=\"no\"\u003eDISPLAY_NAME\u003c/var\u003e',\n machine_type = '\u003cvar translate=\"no\"\u003eMACHINE_TYPE\u003c/var\u003e',\n accelerator_type='\u003cvar translate=\"no\"\u003eACCELERATOR_TYPE\u003c/var\u003e',\n accelerator_count='\u003cvar translate=\"no\"\u003eACCELERATOR_COUNT\u003c/var\u003e',\n boot_disk_type: '\u003cvar translate=\"no\"\u003eBOOT_DISK_TYPE\u003c/var\u003e',\n boot_disk_size_gb: '\u003cvar translate=\"no\"\u003eBOOT_DISK_SIZE\u003c/var\u003e',\n network: '\u003cvar translate=\"no\"\u003eNETWORK\u003c/var\u003e',\n reserved_ip_ranges: '\u003cvar translate=\"no\"\u003eRESERVED_IP_RANGES\u003c/var\u003e',\n nfs_mounts: '\u003cvar translate=\"no\"\u003eNFS_MOUNTS\u003c/var\u003e'\n persistent_resource_id: '\u003cvar translate=\"no\"\u003ePERSISTENT_RESOURCE_ID\u003c/var\u003e'\n )\n\n # Define a pipeline that runs the custom training job\n @dsl.pipeline(\n name=\"resource-spec-request\",\n description=\"A simple pipeline that requests a Google Cloud machine resource\",\n pipeline_root='\u003cvar translate=\"no\"\u003ePIPELINE_ROOT\u003c/var\u003e',\n )\n def pipeline():\n training_job_task = custom_training_job(\n project='\u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e',\n location='\u003cvar translate=\"no\"\u003eLOCATION\u003c/var\u003e',\n ).set_display_name('training-job-task')\n\nReplace the following:\n\n- \u003cvar translate=\"no\"\u003eDISPLAY_NAME\u003c/var\u003e: The name of the custom job. If you don't specify the name, the component name is used, by default.\n\n- \u003cvar translate=\"no\"\u003eMACHINE_TYPE\u003c/var\u003e: The type of the machine for running the custom job---for example, `e2-standard-4`. For more information about machine types, see [Machine types](/vertex-ai/docs/training/configure-compute#machine-types). If you specified a TPU as the `accelerator_type`, set this to `cloud-tpu`.\n For more information, see the [`machine_type` parameter reference](https://google-cloud-pipeline-components.readthedocs.io/en/google-cloud-pipeline-components-2.19.0/api/v1/custom_job.html#v1.custom_job.create_custom_training_job_from_component.machine_type).\n\n- \u003cvar translate=\"no\"\u003eACCELERATOR_TYPE\u003c/var\u003e: The type of accelerator attached to the machine. For more information about the available GPUs and how to configure them, see [GPUs](/vertex-ai/docs/training/configure-compute#specifying_gpus). For more information about the available TPU types and how to configure them, see [TPUs](/vertex-ai/docs/training/configure-compute#tpu).\n For more information, see the [`accelerator_type` parameter reference](https://google-cloud-pipeline-components.readthedocs.io/en/google-cloud-pipeline-components-2.19.0/api/v1/custom_job.html#v1.custom_job.create_custom_training_job_from_component.accelerator_type).\n\n- \u003cvar translate=\"no\"\u003eACCELERATOR_COUNT\u003c/var\u003e: The number of accelerators attached to the machine running the custom job. If you specify the accelerator type, the accelerator count is set to `1`, by default.\n\n- \u003cvar translate=\"no\"\u003eBOOT_DISK_TYPE\u003c/var\u003e: The type of boot disk.\n For more information, see the [`boot_disk_type` parameter reference](https://google-cloud-pipeline-components.readthedocs.io/en/google-cloud-pipeline-components-2.19.0/api/v1/custom_job.html#v1.custom_job.create_custom_training_job_from_component.boot_disk_type).\n\n- \u003cvar translate=\"no\"\u003eBOOT_DISK_SIZE\u003c/var\u003e: The size of the boot disk in GB.\n For more information, see the [`boot_disk_size_gb` parameter reference](https://google-cloud-pipeline-components.readthedocs.io/en/google-cloud-pipeline-components-2.19.0/api/v1/custom_job.html#v1.custom_job.create_custom_training_job_from_component.boot_disk_size_gb).\n\n- \u003cvar translate=\"no\"\u003eNETWORK\u003c/var\u003e: If the custom job is peered to a Compute Engine\n network that has private services access configured, specify the full name of the network. For more information, see the [`network` parameter reference](https://google-cloud-pipeline-components.readthedocs.io/en/google-cloud-pipeline-components-2.19.0/api/v1/custom_job.html#v1.custom_job.create_custom_training_job_from_component.network).\n\n- \u003cvar translate=\"no\"\u003eRESERVED_IP_RANGES\u003c/var\u003e: A list of names for the reserved IP ranges\n under the VPC network used to deploy the custom job.\n For more information, see the [`reserved_ip_ranges` parameter reference](https://google-cloud-pipeline-components.readthedocs.io/en/google-cloud-pipeline-components-2.19.0/api/v1/custom_job.html#v1.custom_job.create_custom_training_job_from_component.reserved_ip_ranges).\n\n- \u003cvar translate=\"no\"\u003eNFS_MOUNTS\u003c/var\u003e: A list of NFS mount resources in JSON dict format.\n For more information, see the [`nfs_mounts` parameter reference](https://google-cloud-pipeline-components.readthedocs.io/en/google-cloud-pipeline-components-2.19.0/api/v1/custom_job.html#v1.custom_job.create_custom_training_job_from_component.nfs_mounts).\n\n- \u003cvar translate=\"no\"\u003ePERSISTENT_RESOURCE_ID\u003c/var\u003e (preview): The ID of the persistent\n resource to run the pipeline. If you specify\n a persistent resource, the pipeline runs on existing machines\n associated to the persistent resource, instead of on-demand and short-lived\n machine resources. Note that the network and CMEK configuration for the\n pipeline must match the configuration specified for the persistent resource.\n For more information about persistent resources and how to create them, see\n [Create a persistent resource](/vertex-ai/docs/training/persistent-resource-create#create-persistent-resource-gcloud).\n\n- \u003cvar translate=\"no\"\u003ePIPELINE_ROOT\u003c/var\u003e: Specify a Cloud Storage URI that your pipelines service account can access. The artifacts of your pipeline runs are stored within the pipeline root.\n\n- \u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e: The Google Cloud project that this pipeline runs in.\n\n- \u003cvar translate=\"no\"\u003eLOCATION\u003c/var\u003e: The location or region that this pipeline runs in.\n\nAPI Reference\n-------------\n\nFor a complete list of arguments supported by the [`create_custom_training_job_from_component`](https://google-cloud-pipeline-components.readthedocs.io/en/google-cloud-pipeline-components-2.19.0/api/v1/custom_job.html#v1.custom_job.create_custom_training_job_from_component) method, see the [Google Cloud Pipeline Components SDK Reference](https://google-cloud-pipeline-components.readthedocs.io/en/google-cloud-pipeline-components-2.19.0/api/v1/index.html)."]]