Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Um contêiner personalizado é uma imagem do Docker que você cria para executar seu aplicativo de treinamento. Ao executar o job de treinamento de machine learning (ML)
em um contêiner personalizado, é possível usar frameworks de ML, dependências não ML,
bibliotecas e binários que não são compatíveis com a Vertex AI.
Como funciona o treinamento com contêineres
O aplicativo de treinamento implementado no framework de ML escolhido é o núcleo do processo de treinamento.
Crie um aplicativo que treine o modelo usando o framework de ML da sua preferência.
Decida se quer usar um contêiner personalizado. Pode haver um contêiner pré-criado que seja compatível com suas dependências. Caso contrário, você precisará criar um contêiner personalizado para o job de treinamento. No contêiner personalizado, você pré-instala o aplicativo de treinamento e todas as respectivas dependências em uma imagem que será usada para executar esse job.
Armazene os dados de treinamento e verificação em uma fonte que a
Vertex AI possa acessar. Para simplificar a autenticação e reduzir a latência, armazene seus dados no Cloud Storage, no Bigtable ou em outroGoogle Cloud serviço de armazenamento no mesmo projeto e região do Google Cloud que você usa para a Vertex AI. Saiba mais sobre
como a Vertex AI carrega dados.
Quando o aplicativo estiver pronto para ser executado, crie a imagem do Docker e
a envie ao Artifact Registry ou ao Docker Hub. Certifique-se de que a
Vertex AI possa acessar o registro.
A Vertex AI configura recursos para o job. Ele aloca uma ou mais máquinas virtuais denominadas instâncias de treinamento com base na configuração do job. Para configurar uma instância de treinamento, use o contêiner personalizado especificado como parte do objeto WorkerPoolSpec ao enviar o job de treinamento personalizado.
O AI Platform executa a imagem do Docker, passando por qualquer
argumento de linha de comando especificado ao criar o job.
Quando o job de treinamento é bem-sucedido ou encontra um erro irrecuperável,
a Vertex AI interrompe todos os processos do job e limpa os
recursos.
Vantagens dos contêineres personalizados
Com os contêineres personalizados, você especifica e pré-instala todas as dependências necessárias para o aplicativo.
Inicialização mais rápida. Se você usa um contêiner personalizado com dependências pré-instaladas, o aplicativo de treinamento leva menos tempo para instalar suas dependências durante a inicialização.
Uso do framework de ML de sua preferência. Se você não encontrar um
contêiner predefinido da Vertex AI com o framework de ML que
quer usar, crie um contêiner personalizado com o framework que preferir e
use-o para executar jobs na Vertex AI. Por exemplo, use um contêiner de cliente para treinar com o PyTorch.
Suporte estendido no treinamento distribuído. Com os contêineres personalizados, você faz treinamento distribuído usando qualquer framework de ML.
Uso da versão mais recente. Também é possível usar a compilação mais recente ou a versão secundária
de um framework de ML. Por exemplo, é possível
criar um contêiner personalizado para fazer treinamentos com tf-nightly.
Ajuste de hiperparâmetro com contêineres personalizados
Para fazer o ajuste de hiperparâmetro na Vertex AI,
especifique métricas de meta e informe se quer minimizar ou maximizar cada métrica.
Por exemplo, aumentar a precisão do modelo ou reduzir a perda dele. Além disso, liste os hiperparâmetros que você quer ajustar com o intervalo de valores aceitáveis para cada um deles. A Vertex AI
faz várias avaliações do aplicativo de treinamento, rastreando e ajustando os
hiperparâmetros após a realização delas. Quando o job de ajuste de hiperparâmetros é
concluído, a Vertex AI informa os valores da configuração mais
eficaz dos hiperparâmetros. Ela também apresenta um resumo de cada teste.
Para realizar o ajuste de hiperparâmetros com contêineres personalizados, é preciso fazer as modificações a seguir:
Use cloudml-hypertune para informar os resultados de cada tentativa ao chamar as respectivas funções auxiliares report_hyperparameter_tuning_metric (em inglês).
Adicione argumentos de linha de comando a cada hiperparâmetro e processe a análise deles com
uma ferramenta como argparse (em inglês).
Para fazer o treinamento com GPUs, o contêiner personalizado precisa atender a alguns requisitos especiais. É necessário criar uma imagem do Docker diferente daquela usada para fazer treinamentos com CPUs.
Pré-instale o kit de ferramentas CUDA e cuDNN na imagem do Docker. A maneira recomendada de criar um contêiner personalizado compatível com GPUs é usar a imagem nvidia/cuda como base para o contêiner personalizado. A imagem de contêiner nvidia/cuda tem versões correspondentes do kit de ferramentas CUDA e cuDNN pré-instalados e ajuda na configuração correta das variáveis de ambiente relacionadas.
Instale o aplicativo de treinamento com o framework de ML necessário e outras dependências na imagem do Docker.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-08-19 UTC."],[],[],null,["# Custom containers overview\n\nA custom container is a Docker image that you create to run\nyour training application. By running your machine learning (ML) training job\nin a *custom container*, you can use ML frameworks, non-ML dependencies,\nlibraries, and binaries that are not otherwise supported\non Vertex AI.\n\nHow training with containers works\n----------------------------------\n\nYour training application, implemented in the ML framework of your choice,\nis the core of the training process.\n\n1. Create an application that trains your model, using the ML framework\n of your choice.\n\n2. Decide whether to use a custom container. There could be a\n [prebuilt container](/vertex-ai/docs/training/pre-built-containers) that already supports\n your dependencies. Otherwise, you need to [build a custom container for\n your training job](/vertex-ai/docs/training/create-custom-container). In your custom container, you\n pre-install your training application and all its dependencies onto an\n image that is used to run your training job.\n\n3. Store your training and verification data in a source that\n Vertex AI can access. To simplify authentication and reduce\n latency, store your data in Cloud Storage, Bigtable, or another\n Google Cloud storage service in the same Google Cloud project\n and region that you are using for Vertex AI. Learn more about\n [the ways Vertex AI can load your data](/vertex-ai/docs/training/code-requirements#loading-data).\n\n4. When your application is ready to run, you must build your Docker image and\n push it to Artifact Registry or Docker Hub, making sure that\n [Vertex AI can access your registry](/vertex-ai/docs/training/create-custom-container#manage-container-registry-permissions).\n\n5. Submit your custom training job by [creating a custom\n job](/vertex-ai/docs/training/create-custom-job) or [creating a custom training\n pipeline](/vertex-ai/docs/training/create-training-pipeline).\n\n6. Vertex AI sets up resources for your job. It allocates one or\n more virtual machines (called *training instances* ) based on your job\n configuration. You set up a training instance by using the custom container\n you specify as part of the [`WorkerPoolSpec`](/vertex-ai/docs/reference/rest/v1/CustomJobSpec#workerpoolspec) object when\n you [submit your custom training\n job](/vertex-ai/docs/training/create-custom-job).\n\n7. Vertex AI runs your Docker image, passing through any\n command-line arguments you specify when you create the training job.\n\n8. When your training job succeeds or encounters an unrecoverable error,\n Vertex AI halts all job processes and cleans up the\n resources.\n\nAdvantages of custom containers\n-------------------------------\n\nCustom containers let you specify and pre-install all the dependencies\nneeded for your application.\n\n- **Faster start-up time.** If you use a custom container with your dependencies pre-installed, you can save the time that your training application would otherwise take to install dependencies when starting up.\n- **Use the ML framework of your choice.** If you can't find an Vertex AI prebuilt container with the ML framework you want to use, you can build a custom container with your chosen framework and use it to run jobs on Vertex AI. For example, you can use a customer container to train with PyTorch.\n- **Extended support for distributed training.** With custom containers, you can do distributed training using any ML framework.\n- **Use the newest version.** You can also use the latest build or minor version of an ML framework. For example, you can build a custom container to train with `tf-nightly`.\n\nHyperparameter tuning with custom containers\n--------------------------------------------\n\nTo do [hyperparameter tuning](/vertex-ai/docs/training/hyperparameter-tuning-overview) on Vertex AI, you\nspecify goal metrics, along with whether to minimize or maximize each metric.\nFor example, you might want to maximize your model accuracy, or minimize your\nmodel loss. You also list the hyperparameters you'd like to tune, along with\nthe range of acceptable values for each hyperparameter. Vertex AI\ndoes multiple *trials* of your training application, tracking and adjusting the\nhyperparameters after each trial. When the hyperparameter tuning job is\ncomplete, Vertex AI reports values for the most effective\nconfiguration of your hyperparameters, and a summary for each trial.\n\nTo do hyperparameter tuning with custom containers, you need to make\nthe following adjustments:\n\n- In your Dockerfile: install [`cloudml-hypertune`](https://github.com/GoogleCloudPlatform/cloudml-hypertune).\n- In your training code:\n - Use `cloudml-hypertune` to report the results of each trial by calling its helper function, [`report_hyperparameter_tuning_metric`](https://github.com/GoogleCloudPlatform/cloudml-hypertune/blob/master/hypertune/hypertune.py#L49).\n - Add command-line arguments for each hyperparameter, and handle the argument parsing with an argument parser such as [`argparse`](https://docs.python.org/3/library/argparse.html).\n\nSee how to [configure a hyperparameter tuning job that uses custom\ncontainers](/vertex-ai/docs/training/using-hyperparameter-tuning) or learn more about\n[how hyperparameter tuning works on Vertex AI](/vertex-ai/docs/training/hyperparameter-tuning-overview).\n\nGPUs in custom containers\n-------------------------\n\nFor training with GPUs, your custom container needs to meet a few special\nrequirements. You must build a different Docker image than what you'd use for\ntraining with CPUs.\n\n- Pre-install the CUDA toolkit and cuDNN in your Docker image. The recommended way to build a custom container with support for GPUs is to use the [`nvidia/cuda`](https://hub.docker.com/r/nvidia/cuda/) image as your base image for your custom container. The `nvidia/cuda` container image has matching versions of CUDA toolkit and cuDNN pre-installed, and it helps you set up the related environment variables correctly.\n- Install your training application, along with your required ML framework and other dependencies in your Docker image.\n\nSee an [example Dockerfile for training with GPUs](https://github.com/GoogleCloudPlatform/cloudml-samples/blob/master/pytorch/containers/quickstart/mnist/Dockerfile-gpu).\n\nWhat's next\n-----------\n\n- Learn more about how to [create a custom container for your training\n job](/vertex-ai/docs/training/create-custom-container)."]]