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
CustomJob
recurso, especifica elWorkerPoolSpec
enCustomJob.jobSpec.workerPoolSpecs
.Si usas la CLI de Google Cloud, puedes usar la marca
--worker-pool-spec
o la marca--config
en el comandogcloud ai custom-jobs create
para especificar las opciones del grupo de trabajadores.Si vas a crear un
HyperparameterTuningJob
recurso, especifica elWorkerPoolSpec
enHyperparameterTuningJob.trialJobSpec.workerPoolSpecs
.Si usas la CLI de gcloud, puedes usar la marca
--config
en el comandogcloud ai hpt-tuning-jobs create
para especificar las opciones del grupo de trabajadores.Si vas a crear un
TrainingPipeline
recurso sin ajuste de hiperparámetros, especifica elWorkerPoolSpec
enTrainingPipeline.trainingTaskInputs.workerPoolSpecs
.Más información sobre cómo crear un
TrainingPipeline
personalizadoSi vas a crear un
TrainingPipeline
con ajuste de hiperparámetros, especifica elWorkerPoolSpec
enTrainingPipeline.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
ENTRYPOINT
oCMD
de su contenedor, especifique los camposcontainerSpec.command
ocontainerSpec.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
ENTRYPOINT
e instrucciónCMD
(si existe). Consulta la documentación de Docker sobre cómo interactúanCMD
yENTRYPOINT
.Si solo especifica
containerSpec.command
: su contenedor se ejecuta con el valorcontainerSpec.command
en 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.args
en lugar de su instrucciónCMD
.Si especificas ambos campos: tu contenedor se ejecuta con
containerSpec.command
en lugar de la instrucciónENTRYPOINT
y concontainerSpec.args
en 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
.