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 oWorkerPoolSpecemCustomJob.jobSpec.workerPoolSpecs.Se você estiver usando a Google Cloud CLI, vai poder usar a sinalização
--worker-pool-specou a sinalização--configno comandogcloud ai custom-jobs createpara especificar as opções do pool de workers.Saiba mais sobre como criar um
CustomJob.Se você estiver criando um recurso
HyperparameterTuningJob, especifiqueWorkerPoolSpecemHyperparameterTuningJob.trialJobSpec.workerPoolSpecs.Se você estiver usando a CLI gcloud, vai ser possível usar a sinalização
--configno comandogcloud ai hpt-tuning-jobs createpara especificar as opções do pool de workers.Saiba mais sobre como criar um
HyperparameterTuningJob.Se você estiver criando um recurso
TrainingPipelinesem ajuste de hiperparâmetros, especifiqueWorkerPoolSpecemTrainingPipeline.trainingTaskInputs.workerPoolSpecs.Saiba mais sobre como criar um
TrainingPipelinepersonalizado.Se você estiver criando uma
TrainingPipelinecom ajuste de hiperparâmetro, especifiqueWorkerPoolSpecemTrainingPipeline.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 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 Google Cloud , é possível especificar as configurações de contêiner
pré-criadas em determinados campos na etapa 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
ENTRYPOINTouCMDno seu contêiner, especifique a funçãocontainerSpec.commandoucontainerSpec.argscampos para criar um anexo da VLAN de monitoramento. 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
ENTRYPOINTe a instruçãoCMD(se existir). Consulte a documentação do Docker sobre comoCMDeENTRYPOINTinteragem (em inglês).Se você especificar apenas
containerSpec.command: seu contêiner será executado com o valor decontainerSpec.commandsubstituindo 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.argssubstituindo a instruçãoCMD.Se você especificar os dois campos: seu contêiner será executado com
containerSpec.commandsubstituindo a instruçãoENTRYPOINTecontainerSpec.argssubstituindo 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 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 consoleGoogle 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.