Visão geral dos contêineres

Os contêineres na AI Platform são um recurso usado para executar o aplicativo em uma imagem do Docker. É possível criar o próprio contêiner personalizado para executar jobs na AI Platform. Você utiliza versões e frameworks de ML, além de binários, bibliotecas e dependências não relacionados a machine learning que não são normalmente compatíveis com a AI Platform.

Como funciona o treinamento com contêineres

O aplicativo de treinamento implementado no framework de ML escolhido é o núcleo do processo de treinamento.

  1. Crie um aplicativo que treine o modelo usando o framework de ML da sua preferência.
  2. Decida se quer usar um contêiner personalizado. Poderá haver uma versão de ambiente de execução que seja compatível com as 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.
  3. Armazene os dados de treinamento e verificação em uma fonte que a AI Platform consiga acessar. Em geral, isso significa colocá-los no Cloud Storage, no Cloud Bigtable ou em outro serviço de armazenamento do Google Cloud Platform associado ao mesmo projeto do GCP que está sendo usado para o AI Platform.
  4. Quando o aplicativo estiver pronto para ser executado, crie a imagem do Docker e a envie para o Container Registry. Certifique-se de que o serviço da AI Platform possa acessar o registro.
  5. Use gcloud beta ai-platform jobs submit training para enviar o job, especificando os argumentos em um arquivo config.yaml ou nas sinalizações gcloud correspondentes.
  6. O serviço de treinamento do AI Platform 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 TrainingInput ao enviar o job de treinamento.
  7. O serviço de treinamento executa a imagem do Docker, passando por qualquer argumento de linha de comando especificado ao criar o job.
  8. É possível conseguir informações sobre seu job em execução das seguintes maneiras:
  9. Quando o job de treinamento é bem-sucedido ou encontra um erro irrecuperável, o AI Platform interrompe todos os processos dele 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 da sua escolha. Se você não conseguir encontrar uma versão do ambiente de execução da AI Platform compatível com a estrutura do ML que você quer usar, é possível criar um contêiner personalizado que instale o framework escolhido e use-o para executar jobs na AI Platform. Por exemplo, é possível fazer treinamentos com o PyTorch.
  • Suporte estendido para 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, crie um contêiner personalizado para fazer treinamentos com tf-nightly ou visualizar o TensorFlow 2.0.

Ajuste de hiperparâmetro com contêineres personalizados

Para fazer o ajuste de hiperparâmetro na AI Platform, especifique uma métrica de meta e informe se é para reduzi-la ou aumentá-la. Por exemplo, aumentar a precisão do modelo ou reduzir a perda dele. Além disso, liste os hiperparâmetros que você quer ajustar, além de um valor de destino para cada um deles. Com a AI Platform, você 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, o AI Platform informa os valores da configuração mais eficaz, bem como um resumo de cada tentativa.

Para realizar o ajuste de hiperparâmetro com contêineres personalizados, você precisa fazer as seguintes modificações:

Veja um exemplo de treinamento com contêineres personalizados usando o ajuste de hiperparâmetros ou saiba mais sobre como o ajuste de hiperparâmetros funciona na AI Platform.

Usar GPUs com contêineres personalizados

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. Usar a imagem nvidia/cuda como a imagem de base é a maneira recomendada de lidar com esse processo. Isso acontece porque ela inclui as versões correspondentes do kit de ferramentas CUDA e cuDNN pré-instaladas 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.

Veja um exemplo de Dockerfile para treinamento com GPUs.

A seguir

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…