Specifica la configurazione della macchina per un passaggio della pipeline
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
I componenti della pipeline di Kubeflow sono funzioni factory che creano i passaggi della pipeline. Ogni componente descrive gli input, gli output e l'implementazione del
componente. Ad esempio, train_op è un componente nel seguente esempio di codice.
Ad esempio, un componente di addestramento potrebbe prendere un file CSV come input e usarlo
per addestrare un modello. Impostando i parametri del tipo di macchina nel passaggio della pipeline,
puoi gestire i requisiti di ogni passaggio della pipeline. Se hai due passaggi di addestramento e un passaggio esegue l'addestramento su un file di dati di grandi dimensioni e il secondo passaggio esegue l'addestramento su un file di dati di piccole dimensioni, puoi allocare più memoria e CPU alla prima attività e meno risorse alla seconda.
Per impostazione predefinita, il componente verrà eseguito come Vertex AI
CustomJob
utilizzando una macchina e2-standard-4, con CPU a 4 core e 16 GB di memoria. Per saperne di più sulla selezione di una delle risorse macchina specifiche per Google Cloudelencate in Tipi di macchine, consulta Richiedere risorse macchina Google Cloud con Vertex AI Pipelines.
Il seguente esempio mostra come impostare le impostazioni di configurazione di CPU, memoria e GPU
per un passaggio:
CPU_LIMIT: il limite massimo della CPU per questo operatore. Questo valore
stringa può essere un numero (valore intero per il numero di CPU) o un numero
seguito da "m", che significa 1/1000. Puoi specificare al massimo 96 CPU.
MEMORY_LIMIT: Il limite massimo di memoria per questo operatore. Questo
valore stringa può essere un numero o un numero seguito da
"K" (kilobyte), "M" (megabyte) o "G" (gigabyte).
Sono supportati al massimo 624 GB.
SELECTOR_CONSTRAINT: ogni vincolo è un'etichetta di coppia chiave-valore.
Affinché il container possa essere eseguito su un nodo, il nodo deve avere ogni vincolo come etichetta. Ad esempio:
'cloud.google.com/gke-accelerator', 'NVIDIA_TESLA_T4'
ACCELERATOR_LIMIT: il limite dell'acceleratore (GPU o TPU) per l'operatore. Puoi specificare un numero intero positivo. Per ulteriori informazioni sulle
GPU disponibili e su come configurarle, consulta
GPU. Per saperne di più
sulle TPU disponibili e su come configurarle, consulta la sezione
TPU.
CustomJob supporta tipi di macchine specifici che ti limitano a un massimo di 96 CPU e 624 GB di memoria. In base alla configurazione di CPU, memoria e acceleratore che specifichi, Vertex AI Pipelines seleziona automaticamente la corrispondenza più vicina tra i tipi di macchine supportati.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Difficile da capire","hardToUnderstand","thumb-down"],["Informazioni o codice di esempio errati","incorrectInformationOrSampleCode","thumb-down"],["Mancano le informazioni o gli esempi di cui ho bisogno","missingTheInformationSamplesINeed","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 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."]]