Como gerenciar modelos e jobs

Durante o processo de treinamento e implantação de modelos e de recebimento de predições, é necessário gerenciar os recursos no Google Cloud Platform. Nesta página, você aprende a trabalhar com modelos, versões e jobs.

Como nomear recursos do AI Platform Prediction

Especifique um nome para cada job criado. As regras de nomenclatura são consistentes nos três tipos de recursos. Cada nome:

  • só pode conter letras, números e sublinhados;
  • diferencia maiúsculas de minúsculas;
  • precisa começar com uma letra;
  • não pode ter mais de 128 caracteres;
  • precisa ser exclusivo dentro do respectivo namespace (seu projeto para modelos e jobs, o modelo pai para versões).

Crie nomes que sejam fáceis de distinguir em listas de recursos, como registros de jobs. Veja algumas sugestões:

  • Use o nome do modelo e um índice de job (por exemplo, o carimbo de data/hora da criação do job) para nomear todos os jobs de um modelo.
  • Nomeie seus modelos para que sejam facilmente identificados pelo conjunto de dados que usam (census_wide_deep costuma ser melhor que my_new_model, por exemplo).
  • O ideal é que as versões sejam facilmente legíveis. Em vez de usar um carimbo de data/hora ou um valor único semelhante, recomendamos o uso de designadores de versão simples, como v1.

Como gerenciar modelos

Seus recursos de modelo no AI Platform Prediction são contêineres lógicos para implementações individuais do seu modelo de aprendizado de máquina. Eles são os recursos mais simples de usar porque não têm operações complexas nem recursos extras para alocar e manter.

Na tabela a seguir, você encontra um resumo das operações do modelo e uma lista das interfaces que podem ser usadas para executá-las:

Operação Interfaces Observações
create projects.models.create
gcloud ai-platform models create
Criar modelo na página Modelos do AI Platform Prediction.
delete projects.models.delete

A exclusão de um modelo é uma operação de longa duração.

Não é possível excluir um modelo que tenha versões associadas a ele.

gcloud ai-platform models delete
Excluir na lista Modelos ou na página Detalhes do modelo.
get projects.models.get

A informação recebida está descrita na referência do recurso de Model.

gcloud ai-platform models describe
Página Detalhes do modelo. Acesse com um link da lista Modelos.
list projects.models.list
gcloud ai-platform models list
Página Modelos do AI Platform Prediction.

Como gerenciar versões

As versões são iterações específicas dos modelos. O núcleo de uma versão de modelo é um SavedModel do TensorFlow.

Na tabela a seguir, você encontra um resumo das operações da versão e uma lista das interfaces que podem ser usadas para executá-las:

Operação Interfaces Observações
create projects.models.versions.create

A criação de uma versão está implementando um SavedModel para o AI Platform Prediction Para mais informações, consulte o guia de implantação de modelos.

gcloud ai-platform versions create
Criar versão na página Detalhes do modelo. Acesse com um link da lista de Modelos.
delete projects.models.versions.delete

A exclusão de uma versão é uma operação de longa duração.

Só é possível excluir a versão padrão de um modelo se ela for a única versão atribuída a ele.

gcloud ai-platform versions delete
Excluir na lista Versões na página Detalhes do modelo.
get projects.models.versions.get

A informação recebida está descrita na referência do recurso de Version.

gcloud ai-platform versions describe
Página Detalhes da versão. Acesse com um link da lista Versões na página Detalhes do modelo.
list projects.models.versions.list
gcloud ai-platform versions list
Lista Versões na página Detalhes do modelo.
setDefault projects.models.versions.setDefault

Esta é a única maneira de atribuir uma nova versão padrão para um modelo. Depois da primeira versão, criar uma nova não a torna padrão.

gcloud ai-platform versions set-default
Definir como padrão na lista Versões na página Detalhes do modelo.

Como gerenciar jobs

O AI Platform Prediction é compatível com dois tipos de jobs: de treinamento e de previsão em lote. Os detalhes de cada um são diferentes, mas a operação básica é a mesma.

Na tabela a seguir, você encontra um resumo das operações do job e uma lista das interfaces que podem ser usadas para executá-las:

Operação Interfaces Observações
create projects.jobs.create

A criação de jobs está descrita detalhadamente nos guias sobre treinamento e previsão em lote.

gcloud ai-platform jobs submit training

gcloud ai-platform jobs submit prediction

Nenhuma implementação do console.
cancel projects.jobs.cancel

Cancela um job em execução.

gcloud ai-platform jobs cancel

Cancelar na página Detalhes do job.
get projects.jobs.get A informação recebida está descrita na referência do recurso Jobs.

gcloud ai-platform jobs describe

Página Detalhes do job. Acesse com um link da lista Jobs.
list projects.jobs.list Somente jobs criados nos últimos 90 dias serão exibidos.

gcloud ai-platform jobs list

Lista Jobs.

Como lidar com operações assíncronas

A maioria das operações de gerenciamento de recursos do AI Platform Prediction retorna o mais rápido possível e fornece uma resposta completa. No entanto, há dois tipos de operações assíncronas que precisam ser compreendidas: jobs e operações de longa duração.

Ao iniciar uma operação assíncrona, normalmente você quer saber quando ela estará concluída. O processo para receber o status é diferente para jobs e operações de longa duração.

Como receber o status de um job

Use projects.jobs.get para receber o status de um job. Esse método também é fornecido como gcloud ai-platform jobs describe e na página Jobs no Console do Google Cloud. Independentemente de como o status for recebido, a informação será baseada nos membros do recurso Job. Você saberá que o job foi concluído quando Job.state na resposta for igual a um destes valores:

  • SUCCEEDED
  • FAILED
  • CANCELLED

Como receber o status de uma operação de longa duração

O AI Platform Prediction tem três operações de longa duração:

  • Criação de uma versão
  • exclusão de um modelo
  • exclusão de uma versão

Das operações de longa duração, apenas a criação de uma versão deve levar muito tempo para ser concluída. A exclusão de modelos e versões geralmente é realizada em tempo quase real.

Se você criar uma versão usando a ferramenta de linha de comando gcloud ou o Console do Cloud, a interface informará automaticamente quando a operação for concluída. Se você criar uma versão com a API, poderá acompanhar o status da operação:

  1. Receba o nome da operação atribuída pelo serviço do objeto Operation recebido na resposta da chamada a projects.models.versions.create. A chave do valor do nome é "name".

  2. Use projects.operations.get para pesquisar periodicamente o status da operação.

    1. Use o nome da operação do primeiro passo para formar uma string de nome do formulário:

      'projects/my_project/operations/operation_name'
      

      A mensagem de resposta contém um objeto Operação.

    2. Receba o valor da chave "done". É um indicador booleano de conclusão da operação. Ele será true se a operação estiver concluída.

  3. O objeto de operação incluirá uma das duas chaves na conclusão:

    • A chave "response" estará presente se a operação for bem-sucedida. Seu valor precisa ser google.protobuf.Empty, já que nenhuma das operações de longa duração do AI Platform Prediction tem objetos de resposta.

    • A chave "error" está presente se ocorreu um erro. O valor dela é um objeto Status.

A seguir