Ao executar um treinamento personalizado, especifique qual código de machine learning (ML) você quer que a Vertex AI execute. Para fazer isso, defina as configurações do contêiner de treinamento para um contêiner personalizado ou um aplicativo de treinamento em Python que é executado em um contêiner pré-criado.
Para determinar se você quer usar um contêiner personalizado ou pré-criado, leia Requisitos do código de treinamento.
Este documento descreve os campos da API Vertex AI que você precisa especificar em um dos casos anteriores.
Onde especificar as configurações do contêiner
Especifique os detalhes de configuração em um WorkerPoolSpec
. Dependendo de como você realiza o treinamento personalizado, coloque esse WorkerPoolSpec
em um dos seguintes campos da API:
Se você estiver criando um recurso
CustomJob
, especifique oWorkerPoolSpec
emCustomJob.jobSpec.workerPoolSpecs
.Se você estiver usando a Google Cloud CLI, vai poder usar a sinalização
--worker-pool-spec
ou a sinalização--config
no comandogcloud ai custom-jobs create
para especificar as opções do pool de workers.Saiba mais sobre como criar um
CustomJob
.Se você estiver criando um recurso
HyperparameterTuningJob
, especifiqueWorkerPoolSpec
emHyperparameterTuningJob.trialJobSpec.workerPoolSpecs
.Se você estiver usando a CLI gcloud, vai ser possível usar a sinalização
--config
no comandogcloud ai hpt-tuning-jobs create
para especificar as opções do pool de workers.Saiba mais sobre como criar um
HyperparameterTuningJob
.Se você estiver criando um recurso
TrainingPipeline
sem ajuste de hiperparâmetros, especifiqueWorkerPoolSpec
emTrainingPipeline.trainingTaskInputs.workerPoolSpecs
.Saiba mais sobre como criar um
TrainingPipeline
personalizado.Se você estiver criando uma
TrainingPipeline
com ajuste de hiperparâmetro, especifiqueWorkerPoolSpec
emTrainingPipeline.trainingTaskInputs.trialJobSpec.workerPoolSpecs
.
Se você estiver realizando o treinamento distribuído, use configurações diferentes para cada pool de workers.
Defina as configurações do contêiner
Dependendo se você estiver usando um contêiner pré-criado ou um personalizado, será necessário
especificar campos diferentes em WorkerPoolSpec
. Selecione a guia do seu cenário:
Contêiner pré-criado
Selecione um contêiner pré-criado compatível com o framework de ML que você planeja usar para o treinamento. Especifique um dos URIs da imagem do contêiner no campo
pythonPackageSpec.executorImageUri
.Especifique os URIs do Cloud Storage de seu aplicativo de treinamento em Python no campo
pythonPackageSpec.packageUris
.Especifique o módulo de ponto de entrada do aplicativo de treinamento no campo
pythonPackageSpec.pythonModule
.Opcionalmente, especifique uma lista de argumentos de linha de comando a serem transmitidos para o módulo de ponto de entrada do seu aplicativo de treinamento no campo
pythonPackageSpec.args
.
Os exemplos a seguir destacam onde você especifica essas configurações de contêiner ao criar um CustomJob
:
Console
No console do Google Cloud, não é possível criar um CustomJob
diretamente. No entanto, é possível criar um TrainingPipeline
que crie um CustomJob
. Ao criar um
TrainingPipeline
no console do Google Cloud, é possível especificar as configurações de contêiner
pré-criadas em determinados campos na etapa do Contêiner de treinamento:
pythonPackageSpec.executorImageUri
: use as listas suspensas Framework de modelo e Versão do modelo de modelo.pythonPackageSpec.packageUris
: use o campo Local do pacote.pythonPackageSpec.pythonModule
: use o campo Python Python.pythonPackageSpec.args
: use o 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 mais contexto, leia o guia para criar um CustomJob
.
Contêiner personalizado
Especifique o URI do Artifact Registry ou do Docker Hub relacionado ao contêiner personalizado no campo
containerSpec.imageUri
.Opcionalmente, se você quiser modificar as instruções
ENTRYPOINT
ouCMD
no contêiner, especifique os camposcontainerSpec.command
oucontainerSpec.args
. Esses campos afetam como o contêiner é executado de acordo com as regras a seguir:Se você não especificar nenhum campo: seu contêiner será executado de acordo com a instrução
ENTRYPOINT
e a instruçãoCMD
(se existir). Consulte a documentação do Docker sobre comoCMD
eENTRYPOINT
interagem (em inglês).Se você especificar apenas
containerSpec.command
: seu contêiner será executado com o valor decontainerSpec.command
substituindo a instruçãoENTRYPOINT
. Se o contêiner tiver uma instruçãoCMD
, ele será ignorado.Se você especificar apenas
containerSpec.args
: seu contêiner é executado de acordo com a instruçãoENTRYPOINT
, com o valor decontainerSpec.args
substituindo a instruçãoCMD
.Se você especificar os dois campos: seu contêiner será executado com
containerSpec.command
substituindo a instruçãoENTRYPOINT
econtainerSpec.args
substituindo a instruçãoCMD
.
O exemplo a seguir destaca onde você pode especificar algumas dessas configurações do contêiner ao criar um CustomJob
:
Console
No console do Google Cloud, não é possível criar um CustomJob
diretamente. No entanto, é possível criar um TrainingPipeline
que crie um CustomJob
. Ao criar um TrainingPipeline
no console do Google Cloud, é possível especificar configurações de contêiner personalizadas em determinados campos na etapa Contêiner de treinamento:
containerSpec.imageUri
: use o campo Imagem do contêiner.containerSpec.command
: este campo de API não é configurável no console do Google Cloud.containerSpec.args
: use o 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 testar esse exemplo, siga as instruções de configuração para Java no Guia de início rápido da Vertex AI sobre como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vertex AI para Java.
Para autenticar na Vertex AI, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Antes de testar esse exemplo, siga as instruções de configuração para Node.js no Guia de início rápido da Vertex AI sobre como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vertex AI para Node.js.
Para autenticar na Vertex AI, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar o SDK da Vertex AI para Python, consulte Instalar o SDK da Vertex AI para Python. Para mais informações, consulte a documentação de referência da API Python.
Para mais contexto, leia o guia para criar um CustomJob
.
A seguir
- Saiba como realizar o treinamento personalizado criando um
CustomJob
.