Cuando realizas un entrenamiento personalizado, debes especificar el código de aprendizaje automático que quieres que ejecute Vertex AI. Para ello, configura los ajustes del contenedor de entrenamiento para un contenedor personalizado o una aplicación de entrenamiento de Python que se ejecute en un contenedor prediseñado.
Para determinar si quieres usar un contenedor personalizado o uno precompilado, consulta los requisitos del código de entrenamiento.
En este documento se describen los campos de la API Vertex AI que debe especificar en cualquiera de los casos anteriores.
Dónde especificar la configuración del contenedor
Especifica los detalles de la configuración en un elemento WorkerPoolSpec. En función de cómo realices el entrenamiento personalizado, coloca este WorkerPoolSpec en uno de los siguientes campos de la API:
Si vas a crear un
CustomJobrecurso, especifica elWorkerPoolSpecenCustomJob.jobSpec.workerPoolSpecs.Si usas la CLI de Google Cloud, puedes usar la marca
--worker-pool-speco la marca--configen el comandogcloud ai custom-jobs createpara especificar las opciones del grupo de trabajadores.Si vas a crear un
HyperparameterTuningJobrecurso, especifica elWorkerPoolSpecenHyperparameterTuningJob.trialJobSpec.workerPoolSpecs.Si usas la CLI de gcloud, puedes usar la marca
--configen el comandogcloud ai hpt-tuning-jobs createpara especificar las opciones del grupo de trabajadores.Si vas a crear un
TrainingPipelinerecurso sin ajuste de hiperparámetros, especifica elWorkerPoolSpecenTrainingPipeline.trainingTaskInputs.workerPoolSpecs.Más información sobre cómo crear un
TrainingPipelinepersonalizadoSi vas a crear un
TrainingPipelinecon ajuste de hiperparámetros, especifica elWorkerPoolSpecenTrainingPipeline.trainingTaskInputs.trialJobSpec.workerPoolSpecs.
Si realizas un entrenamiento distribuido, puedes usar diferentes ajustes para cada grupo de trabajadores.
Configurar los ajustes del contenedor
En función de si usas un contenedor precompilado o uno personalizado, debes especificar diferentes campos en WorkerPoolSpec. Selecciona la pestaña correspondiente a tu situación:
Contenedor prediseñado
Selecciona un contenedor predefinido que admita el framework de aprendizaje automático que quieras usar para el entrenamiento. Especifica uno de los URIs de la imagen del contenedor en el campo
pythonPackageSpec.executorImageUri.Especifica los URIs de Cloud Storage de tu aplicación de formación de Python en el campo
pythonPackageSpec.packageUris.Especifica el módulo del punto de entrada de tu aplicación de entrenamiento en el campo
pythonPackageSpec.pythonModule.También puede especificar una lista de argumentos de línea de comandos que se pasarán al módulo del punto de entrada de la aplicación de entrenamiento en el campo
pythonPackageSpec.args.
En los siguientes ejemplos se destaca dónde se especifican estos ajustes del contenedor al crear un CustomJob:
Consola
En la consola 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 ajustes de contenedor prediseñados en determinados campos del paso Contenedor de entrenamiento:
pythonPackageSpec.executorImageUri: Usa las listas desplegables Framework del modelo y Versión del framework del modelo.pythonPackageSpec.packageUris: usa el campo Ubicación del paquete.pythonPackageSpec.pythonModule: usa el campo Módulo de Python.pythonPackageSpec.args: usa el campo Arguments (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, consulta la guía para crear un
CustomJob.
Contenedor personalizado
Especifique el URI de Artifact Registry o Docker Hub de su contenedor personalizado en el campo
containerSpec.imageUri.Si quiere anular las instrucciones de
ENTRYPOINToCMDde su contenedor, especifique los camposcontainerSpec.commandocontainerSpec.args. Estos campos afectan al funcionamiento del contenedor según las siguientes reglas:Si no especifica ninguno de los dos campos: el contenedor se ejecuta según su instrucción
ENTRYPOINTe instrucciónCMD(si existe). Consulta la documentación de Docker sobre cómo interactúanCMDyENTRYPOINT.Si solo especifica
containerSpec.command: su contenedor se ejecuta con el valorcontainerSpec.commanden lugar de la instrucciónENTRYPOINT. Si el contenedor tiene una instrucciónCMD, se ignora.Si solo especificas
containerSpec.args: el contenedor se ejecuta según su instrucciónENTRYPOINT, con el valor decontainerSpec.argsen lugar de su instrucciónCMD.Si especificas ambos campos: tu contenedor se ejecuta con
containerSpec.commanden lugar de la instrucciónENTRYPOINTy concontainerSpec.argsen lugar de la instrucciónCMD.
En el siguiente ejemplo se destaca dónde puede especificar algunos de estos ajustes del contenedor al crear un CustomJob:
Consola
En la consola 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 Google Cloud , puedes especificar ajustes de contenedor personalizados en determinados campos del paso Contenedor de entrenamiento:
containerSpec.imageUri: usa el campo Imagen del contenedor.containerSpec.command: este campo de la API no se puede configurar en la consolaGoogle Cloud .containerSpec.args: usa el campo Arguments (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 Java instrucciones de configuración de la guía de inicio rápido de Vertex AI con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Java de Vertex AI.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Node.js
Antes de probar este ejemplo, sigue las Node.js instrucciones de configuración de la guía de inicio rápido de Vertex AI con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Node.js de Vertex AI.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Python
Para saber cómo instalar o actualizar el SDK de Vertex AI para Python, consulta Instalar el SDK de Vertex AI para Python. Para obtener más información, consulta la documentación de referencia de la API Python.
Para obtener más información, consulta la guía para crear un
CustomJob.
Siguientes pasos
- Consulta cómo llevar a cabo un entrenamiento personalizado creando un
CustomJob.