Spécifier la configuration d'une machine pour une étape de pipeline
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Les composants du pipeline Kubeflow sont des fonctions de fabrique qui créent des étapes de pipeline. Chaque composant décrit les entrées, les sorties et l'implémentation du composant. Par exemple, train_op est un composant de l'exemple de code suivant.
Par exemple, un composant d'entraînement peut utiliser un fichier CSV en entrée et l'utiliser pour entraîner un modèle. En définissant les paramètres de type de machine à l'étape du pipeline, vous pouvez gérer les exigences de chaque étape de votre pipeline. Si vous avez deux étapes d'entraînement, dont l'une sur un fichier de données volumineux et l'autre sur un petit fichier de données, vous pouvez allouer plus de mémoire et de processeurs à la première tâche, et moins de ressources à la deuxième.
Par défaut, le composant sera exécuté en tant qu'IA Vertex CustomJob à l'aide d'une machine e2-standard-4, avec des processeurs à 4 cœurs et 16 Go de mémoire. Pour en savoir plus sur la sélection de l'une des ressources machine spécifiques à Google Cloudrépertoriées dans la section Types de machines, consultez la page Demander des ressources machine Google Cloud avec Vertex AI Pipelines.
L'exemple suivant montre comment définir les paramètres de configuration du processeur, de la mémoire et du GPU pour une étape :
CPU_LIMIT : limite maximale du processeur pour cet opérateur. Cette valeur de chaîne peut être un nombre (valeur entière pour le nombre de processeurs) ou un nombre suivi de "m", qui signifie 1/1000. Vous pouvez spécifier au maximum 96 processeurs.
MEMORY_LIMIT : limite de mémoire maximale pour cet opérateur. Cette valeur de chaîne peut être un nombre, ou un nombre suivi de "K" (kilo-octet), "M" (mégaoctet) ou "G" (gigaoctet).
La limite est fixée à 624 Go.
SELECTOR_CONSTRAINT: chaque contrainte est une étiquette de paire clé-valeur.
Pour que le conteneur puisse être exécuté sur un nœud, chacune des contraintes doit y être définie sous forme d'étiquette. Exemple : 'cloud.google.com/gke-accelerator', 'NVIDIA_TESLA_T4'
ACCELERATOR_LIMIT : limite d'accélérateur (GPU ou TPU) pour l'opérateur. Vous pouvez spécifier un entier positif. Pour en savoir plus sur les GPU disponibles et leur configuration, consultez la page GPU. Pour en savoir plus sur les TPU disponibles et leur configuration, consultez TPU.
CustomJob est compatible avec des types de machines spécifiques qui vous limitent à 96 processeurs et 624 Go de mémoire. En fonction de la configuration du processeur, de la mémoire et de l'accélérateur que vous spécifiez, Vertex AI Pipelines sélectionne automatiquement la correspondance la plus proche parmi les types de machines compatibles.
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 2025/09/04 (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 2025/09/04 (UTC)."],[],[],null,["# Specify the machine configuration for a pipeline step\n\nKubeflow pipeline components are factory functions that create pipeline\nsteps. Each component describes the inputs, outputs, and implementation of the\ncomponent. For example, `train_op` is a component in the following code sample.\n\nFor example, a training component could take a CSV file as an input and use it\nto train a model. By setting the machine type parameters on the pipeline step,\nyou can manage the requirements of each step in your pipeline. If you have two\ntraining steps and one step trains on a huge data file and the second step\ntrains on a small data file, you can allocate more memory and CPU to the first\ntask, and fewer resources to the second task.\n\nBy default, the component will run on as a Vertex AI\n[`CustomJob`](/vertex-ai/docs/reference/rest/v1/projects.locations.customJobs)\nusing an **e2-standard-4** machine, with 4 core CPUs and 16GB memory. For more information about selecting one of the Google Cloud-specific machine resources listed in [Machine types](/vertex-ai/docs/training/configure-compute#machine-types), see [Request Google Cloud machine resources with Vertex AI Pipelines](/vertex-ai/docs/pipelines/request-gcp-machine-resources).\n\nThe following sample shows you how to set CPU, memory, and GPU configuration\nsettings for a step:\n**Note:** If you want to specify the disk space in the machine configuration, you must [create a custom training job from a component by requesting Google Cloud machine resources](/vertex-ai/docs/pipelines/request-gcp-machine-resources#create-customtrainingjob-from-component) instead. \n\n from kfp import dsl\n\n @dsl.pipeline(name='custom-container-pipeline')\n def pipeline():\n generate = generate_op()\n train = (\n train_op(\n training_data=generate.outputs['training_data'],\n test_data=generate.outputs['test_data'],\n config_file=generate.outputs['config_file'])\n .set_cpu_limit('\u003cvar translate=\"no\"\u003eCPU_LIMIT\u003c/var\u003e')\n .set_memory_limit('\u003cvar translate=\"no\"\u003eMEMORY_LIMIT\u003c/var\u003e')\n .add_node_selector_constraint(\u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-n\"\u003eSELECTOR_CONSTRAINT\u003c/span\u003e\u003c/var\u003e)\n .set_accelerator_limit(\u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-n\"\u003eACCELERATOR_LIMIT\u003c/span\u003e\u003c/var\u003e))\n\nReplace the following:\n\n- \u003cvar translate=\"no\"\u003eCPU_LIMIT\u003c/var\u003e: The maximum CPU limit for this operator. This string\n value can be a number (integer value for number of CPUs), or a number\n followed by \"m\", which means 1/1000. You can specify at most 96 CPUs.\n\n- \u003cvar translate=\"no\"\u003eMEMORY_LIMIT\u003c/var\u003e: The maximum memory limit for this operator. This\n string value can be a number, or a number followed by\n \"K\" (kilobyte), \"M\" (megabyte), or \"G\" (gigabyte).\n At most 624GB is supported.\n\n | **Note:** Vertex AI Pipelines does not support calling [`set_memory_request`](https://kubeflow-pipelines.readthedocs.io/page/source/dsl.html#kfp.dsl.PipelineTask.set_memory_request) on an operator ; you must use [`set_memory_limit`](https://kubeflow-pipelines.readthedocs.io/page/source/dsl.html#kfp.dsl.PipelineTask.set_memory_request) to request a specific memory amount.\n- \u003cvar translate=\"no\"\u003eSELECTOR_CONSTRAINT\u003c/var\u003e: Each constraint is a key-value pair label.\n For the container to be eligible to run on a node, the node must have each\n constraint as a label. For example:\n `'cloud.google.com/gke-accelerator', 'NVIDIA_TESLA_T4'`\n\n The following constraints are available:\n - `NVIDIA_GB200`^+^ (includes [GPUDirect-RDMA](/vertex-ai/docs/training/configure-compute#gpudirect-rdma))\n - `NVIDIA_B200`^\\*^ (includes [GPUDirect-RDMA](/vertex-ai/docs/training/configure-compute#gpudirect-rdma))\n - `NVIDIA_H100_MEGA_80GB`^\\*^ (includes [GPUDirect-TCPXO](/vertex-ai/docs/training/configure-compute#gpudirect-tcpxo))\n - `NVIDIA_H100_80GB`\n - `NVIDIA_H200_141GB`^\\*^ (includes [GPUDirect-RDMA](/vertex-ai/docs/training/configure-compute#gpudirect-rdma))\n - `NVIDIA_A100_80GB`\n - `NVIDIA_TESLA_A100` (NVIDIA A100 40GB)\n - `NVIDIA_TESLA_P4`\n - `NVIDIA_TESLA_P100`\n - `NVIDIA_TESLA_T4`\n - `NVIDIA_TESLA_V100`\n - `NVIDIA_L4`\n\n \u003cbr /\u003e\n\n - `TPU_V2`\n - `TPU_V3`\n- \u003cvar translate=\"no\"\u003eACCELERATOR_LIMIT\u003c/var\u003e: The accelerator (GPU or TPU) limit for the\n operator. You can specify a positive integer. For more information about the\n available GPUs and how to configure them, see\n [GPUs](/vertex-ai/docs/training/configure-compute#specifying_gpus). For more information\n about the available TPUs and how to configure them, see\n [TPUs](/vertex-ai/docs/training/configure-compute#tpu).\n\n | **Note:** TPUs are only available in specific locations. For more information, see [Using accelerators](/vertex-ai/docs/general/locations#accelerators).\n\n`CustomJob` supports specific machine types that limit you to a maximum of 96 CPUs and 624GB of memory. Based on the CPU, memory, and accelerator configuration that you specify, Vertex AI Pipelines automatically selects the closest match from the supported machine types."]]