Como visualizar a arquitetura de modelos com o Cloud Logging

Nesta página, você encontra informações sobre como usar o Cloud Logging para ver detalhes sobre um modelo do AutoML Tables. O Logging torna possível ver os hiperparâmetros do modelo final, além dos hiperparâmetros e valores de objetos usados durante o treinamento e o ajuste do modelo.

Também é possível ver registros gerais do AutoML Tables no seu projeto.

Dados registrados

As mensagens de registro produzidas pelo AutoML Tables fornecem:

  • Hiperparâmetros do modelo final como pares de chave-valor.
  • Os hiperparâmetros usados durante os testes de ajuste, bem como um valor de objetivo.

Por padrão, os registros são excluídos após 30 dias.

Antes de começar

Permissões exigidas para a tarefa

Para executar esta tarefa, é necessário ter as permissões abaixo:

  • logging.logServiceIndexes.list no projeto
  • logging.logServices.list no projeto

Como ver registros de treinamento

Como acessar registros de modelo pelo console do Google Cloud

É possível acessar os registros de hiperparâmetros finais e os registros de hiperparâmetros de testes de ajuste diretamente no AutoML Tables.

  1. Acesse a página do AutoML Tables no console do Google Cloud.

    Acessar a página do AutoML Tables

  2. Selecione a guia Modelos, no painel de navegação à esquerda e clique no nome do modelo para abri-lo.

  3. Selecione a guia "Modelos".

    Detalhes do modelo, mostrando os links "Modelo" e "Testes"

  4. Para ver os registros de hiperparâmetros finais, clique em Modelo.

  5. Para ver os hiperparâmetros de testes de ajuste, clique em Testes.

  6. Expanda o payload, conforme exibido abaixo:

    Registros de modelos expandidos

Como ler registros da arquitetura de modelo

Os registros de atividades são estruturados conforme descrito na documentação do LogEntry.

Os registros de modelo do AutoML Tables têm, entre outros campos:

  • automl_tables como o valor do campo log_type
  • jsonPayload, que contém os detalhes específicos da entrada de registro
  • timestamp, que detalha quando o modelo foi criado

Conteúdo de carga útil

O conteúdo de uma entrada de registro é fornecido no formato de objeto JSON e é armazenado no campo jsonPayload. O campo jsonPayload contém as seguintes informações.

Campo Tipo Descrição
modelStructure JSON

Uma descrição da estrutura do modelo do AutoML Tables. Esse campo conta com um ou mais campos modelParameters com os hiperparâmetros de cada modelo usado. Quando mais de um modelo é usado, eles são agrupados como um conjunto para criar o modelo final.

Consulte a lista de hiperparâmetros para ver mais detalhes.

trainingObjectivePoint JSON O objetivo de otimização usado para treinamento de modelos. Essa entrada inclui um carimbo de data/hora e um valor de objetivo do momento em que a entrada de registro foi gravada.

Lista de hiperparâmetros

Os dados de hiperparâmetros fornecidos nos registros são diferentes em cada tipo de modelo. As seções a seguir descrevem os hiperparâmetros em cada tipo de modelo.

Modelos AdaNet

  • Tipo de modelo: AdaNet
  • Lambda da AdaNet
  • Tipo de complexidade
  • Número inicial de camadas
  • Último tipo de camada (logits ou prelogits)
  • Aumentar o tamanho das camadas
  • Aprender sobre pesos combinados (True ou False)
  • Aprender sobre resíduos (True ou False)
  • Como otimizar iterações
  • Otimizador (adagrad ou adam)

    Referência do Python de código aberto

Modelos do AdaNet AutoEnsemble

  • Tipo de modelo: AdaNet AutoEnsembler
  • Número de camadas escondidas
  • Tamanho das camadas escondidas
  • Dropout
  • Intensidade da regularização L1
  • Intensidade da regularização L2
  • Intensidade da regularização de redução L2
  • Complexidade da árvore
  • Profundidade máxima da árvore
  • Viés para o centro (True ou False)
  • Modo de crescimento (layer ou tree)
  • Como otimizar iterações
  • Otimizador de DNN (adagrad ou adam)

    Referência do Python de código aberto

Modelos lineares DNN

  • Tipo de modelo: DNNLinear
  • Número de camadas escondidas
  • Tamanho das camadas escondidas
  • Dropout
  • Intensidade da regularização L1
  • Intensidade da regularização L2
  • Intensidade da regularização de redução L2

    Referência do Python de código aberto

Modelos de árvore de decisão aprimorados por gradiente

  • Tipo de modelo: GBDT
  • Profundidade máxima da árvore
  • Regularização da árvore L1
  • Regularização da árvore L2
  • Complexidade da árvore
  • Número de árvores
  • Viés para o centro (True ou False)

    Referência do Python de código aberto

Modelos de rede neural do feedforward

  • Tipo de modelo: nn
  • Tamanho das camadas escondidas
  • Taxa de dropout
  • Ativar incorporação numérica (True ou False)
  • Ativar L1 (True ou False)
  • Ativar L2 (True ou False)
  • Ativar a incorporação L1 (True ou False)
  • Ativar a incorporação L2 (True ou False)
  • Ativar layerNorm (True ou False)
  • Ativar batchNorm (True ou False)
  • Número de camadas escondidas
  • Número de camadas cruzadas
  • Ignorar tipo de conexões (dense, disable, concat ou slice_or_padding)
  • Normalizar coluna numérica (True ou False)

Exemplos de entradas de registro

O exemplo a seguir mostra uma entrada de registro para a arquitetura de modelo final de um modelo nn, conforme indicado pelo parâmetro model_type. Se tiver sido usado mais de um modelo para criar o modelo final, os hiperparâmetros de cada modelo serão retornados como uma entrada na matriz modelParameters, indexada por posição (0, 1, 2 e assim por diante).

{
 insertId: "qx7z0ifhtjpkv"
 jsonPayload: {
  @type: "type.googleapis.com/google.cloud.automl.master.TuningTrial"
  modelStructure: {
   modelParameters: [
    0: {
      Dropout rate: 0.75
      Embedding numerical embedding: "True"
      Enable L1: "False"
      Enable L2: "False"
      Enable batchNorm: "True"
      Enable embedding L1: "False"
      Enable embedding L2: "False"
      Enable layerNorm: "False"
      Hidden layer size: 16
      Normalize numerical column: "True"
      Number of cross layers: "1"
      Number of hidden layers: "2"
      Skip connections type: "dense"
      Model type: "nn"
    }
   ]
  }
  trainingObjectivePoint: {
   createTime: "2019-10-15T04:52:00Z"
   value: 0.002069325
  }
 }
 labels: {
  log_type: "automl_tables"
 }
 logName: "projects/project-id/logs/automl.googleapis.com%2Ftuning"
 receiveTimestamp: "2019-10-15T10:46:06.916277805Z"
 resource: {
  labels: {
   job_id: "109476078648557568"
   project_id: "project-id"
   region: "us-central1"
  }
  type: "cloudml_job"
 }
 severity: "INFO"
 timestamp: "2019-10-15T10:46:06.916277805Z"
}

O exemplo a seguir mostra uma entrada de registro para a arquitetura do modelo durante o ajuste.

{
 insertId: "nl7815f7p0cjb"
 jsonPayload: {
  @type: "type.googleapis.com/google.cloud.automl.master.TuningTrial"
  modelStructure: {
   modelParameters: [
    0: {
     hyperparameters: {
      Boosting iterations: "2"
      Grow layer size: "30"
      Initial number of layers: "1"
      Last layer type: "prelogits"
      Learn residuals: "False"
      Model type: "AdaNet"
      Optimizer: "adam"
      }
    }
   ]
  }
  trainingObjectivePoint: {
   createTime: "2019-10-13T20:42:25Z"
   value: 0.0000011595778
  }
 }
 labels: {
  log_type: "automl_tables"
 }
 logName: "projects/project-id/logs/automl.googleapis.com%2Ftuning"
 receiveTimestamp: "2019-10-13T21:20:08.189302731Z"
 resource: {
  labels: {
   job_id: "2804289077287845888"
   project_id: "project-id"
   region: "us-central1"
  }
  type: "cloudml_job"
 }
 severity: "INFO"
 timestamp: "2019-10-13T21:20:08.189302731Z"
}

Como ver registros gerais do AutoML Tables

É possível consultar os registros de atividades do projeto com o Explorador de registros no Console do Google Cloud:

  1. Acesse a página Logging no console do Google Cloud.
  2. Na Análise de registros, selecione e filtre o tipo de recurso no primeiro menu suspenso.
  3. Selecione automl.googleapis.com/tuning no menu suspenso Todos os registros para ver os registros do AutoML Tables.

Como exportar registros

É possível exportar seus registros para o BigQuery, para o Cloud Storage ou para o Pub/Sub.

Para saber como exportar registros de atividades, leia Como configurar a exportação de registros na documentação do Logging.