Cuando realizas un entrenamiento personalizado, debes especificar qué código de aprendizaje automático (AA) deseas que Vertex AI ejecute. Para ello, establece la configuración de los contenedores de entrenamiento para un contenedor personalizado o una aplicación de entrenamiento de Python que se ejecuta en un contenedor compilado previamente.
Para determinar si deseas usar un contenedor personalizado o uno ya compilado, lee Requisitos del código de entrenamiento.
En este documento, se describen los campos de la API de Vertex AI que debes especificar en cualquiera de los casos anteriores.
Dónde especificar la configuración del contenedor
Especifica los detalles de configuración dentro de un WorkerPoolSpec. Según cómo realices el entrenamiento personalizado, coloca este WorkerPoolSpec en uno de los siguientes campos de la API:
- Si creas un recurso - CustomJob, especifica el- WorkerPoolSpecen- CustomJob.jobSpec.workerPoolSpecs.- Si usas la CLI de Google Cloud, puedes usar la marca - --worker-pool-speco- --configen el comando- gcloud ai custom-jobs createpara lo siguiente: especificar las opciones del grupo de trabajadores.- Obtén más información sobre cómo crear un - CustomJob.
- Si creas un recurso - HyperparameterTuningJob, especifica el- WorkerPoolSpecen- HyperparameterTuningJob.trialJobSpec.workerPoolSpecs.- Si usas la CLI de gcloud, puedes usar la marca - --configen el comando- gcloud ai hpt-tuning-jobs createpara especificar las opciones de los grupos de trabajadores.- Obtén más información sobre cómo crear un - HyperparameterTuningJob.
- Si creas un recurso - TrainingPipelinesin ajuste de hiperparámetros, especifica el- WorkerPoolSpecen- TrainingPipeline.trainingTaskInputs.workerPoolSpecs.- Obtén más información sobre cómo crear un recurso - TrainingPipelinepersonalizado.
- Si creas un - TrainingPipelinecon ajuste de hiperparámetros, especifica el- WorkerPoolSpecen- TrainingPipeline.trainingTaskInputs.trialJobSpec.workerPoolSpecs.
Si realizas un entrenamiento distribuido, puedes usar opciones de configuración diferentes para cada grupo de trabajadores.
Configura el Contenedor de la siguiente forma:
Según si usas un contenedor previamente compilado o un contenedor personalizado, debes especificar campos diferentes dentro de WorkerPoolSpec. Selecciona la pestaña de tu situación:
Contenedor previamente compilado
- Selecciona un contenedor compilado previamente que admita el framework del AA que planeas usar para el entrenamiento. Especifica uno de los URI de la imagen de contenedor en el campo - pythonPackageSpec.executorImageUri.
- Especifica los URI de Cloud Storage de tu aplicación de entrenamiento de Python en el campo - pythonPackageSpec.packageUris.
- Especifica el módulo de punto de entrada de la aplicación de entrenamiento en el campo - pythonPackageSpec.pythonModule.
- De manera opcional, especifica una lista de argumentos de la línea de comandos para pasar al módulo de punto de entrada de tu aplicación de entrenamiento en el campo - pythonPackageSpec.args.
En los ejemplos siguientes, se destaca dónde especificarás estas opciones de configuración del contenedor cuando creas un CustomJob:
Console
En la consola de Google Cloud , no puedes crear un CustomJob directamente. Sin embargo, puedes crear un TrainingPipeline que cree un CustomJob. Cuando creas un TrainingPipeline en la Google Cloud consola, puedes especificar una configuración de contenedor compilado previamente en ciertos campos del paso Contenedor de entrenamiento:
- pythonPackageSpec.executorImageUri: usa las listas desplegables Model Framework y Model Framework version.
- pythonPackageSpec.packageUris: usa el campo Package location.
- pythonPackageSpec.pythonModule: usa el campo Python module.
- pythonPackageSpec.args: Usa el campo Argumentos.
gcloud
gcloud ai custom-jobs create \
  --region=LOCATION \
  --display-name=JOB_NAME \
  --python-package-uris=PYTHON_PACKAGE_URIS \
  --worker-pool-spec=machine-type=MACHINE_TYPE,replica-count=REPLICA_COUNT,executor-image-uri=PYTHON_PACKAGE_EXECUTOR_IMAGE_URI,python-module=PYTHON_MODULE
Para obtener más información, lee la guía para crear un CustomJob.
Contenedor personalizado
- Especifica el URI de Artifact Registry o Docker Hub de tu contenedor personalizado en el campo - containerSpec.imageUri.
- De forma opcional, si deseas anular las instrucciones - ENTRYPOINTo- CMDen tu contenedor, especifica los campos- containerSpec.commando- containerSpec.args. Estos campos afectan cómo se ejecuta el contenedor de acuerdo con las siguientes reglas:- Si no especificas ningún campo: el contenedor se ejecuta según su instrucción - ENTRYPOINTy la instrucción- CMD(si existe). Consulta la documentación de Docker sobre cómo interactúan- CMDy- ENTRYPOINT.
- Si especificas solo - containerSpec.command: el contenedor se ejecutará con el valor de- containerSpec.command, y se reemplazará la instrucción- ENTRYPOINT. Si el contenedor tiene una instrucción- CMD, se ignora.
- Si especificas solo - containerSpec.args: tu contenedor se ejecuta según su instrucción- ENTRYPOINTy el valor de- containerSpec.argsreemplaza a su instrucción- CMD.
- Si especificas ambos campos: Tu contenedor se ejecuta con - containerSpec.commandy reemplaza su instrucción- ENTRYPOINTy- containerSpec.argscon el reemplazo de la instrucción- CMD.
 
En el siguiente ejemplo, se destaca dónde puedes especificar algunas de estas configuraciones de contenedor cuando creas un CustomJob:
Console
En la consola de Google Cloud , no puedes crear un CustomJob directamente. Sin embargo, puedes crear un TrainingPipeline que cree un CustomJob. Cuando creas un TrainingPipeline en la consola de Google Cloud , puedes especificar una configuración de contenedor personalizado en ciertos campos del paso Contenedor de entrenamiento:
- containerSpec.imageUri: usa el campo Container image.
- containerSpec.command: Este campo de API no se puede configurar en la consola deGoogle Cloud .
- containerSpec.args: Usa el campo Argumentos.
gcloud
gcloud ai custom-jobs create \
  --region=LOCATION \
  --display-name=JOB_NAME \
  --worker-pool-spec=machine-type=MACHINE_TYPE,replica-count=REPLICA_COUNT,container-image-uri=CUSTOM_CONTAINER_IMAGE_URI
Java
Antes de probar este ejemplo, sigue las instrucciones de configuración para Java incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Java.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Antes de probar este ejemplo, sigue las instrucciones de configuración para Node.js incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Node.js.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Si deseas obtener información para instalar o actualizar el SDK de Vertex AI para Python, consulta Instala el SDK de Vertex AI para Python. Para obtener más información, consulta la documentación de referencia de la API de Python.
Para obtener más información, lee la guía para crear un CustomJob.
¿Qué sigue?
- Obtén información sobre cómo realizar un entrenamiento personalizado mediante la creación de un CustomJob.