Nesta página, descrevemos como configurar solicitações de job de previsão em lote para incluir a análise única de monitoramento de modelos. Para previsões em lote, o monitoramento de modelos é compatível com a detecção de desvios de atributos para atributos de entrada categóricos e numéricos.
Para criar um job de previsão em lote com a análise de desvio do Monitoramento de modelos, é necessário incluir na solicitação os dados de entrada de previsão em lote e os dados de treinamento originais do modelo. Só é possível adicionar análises do Model Monitoring ao criar novos jobs de previsão em lote.
Para mais informações sobre desvios, consulte Introdução ao monitoramento do modelo.
Para instruções sobre como configurar o monitoramento de modelos para previsões on-line (em tempo real), consulte Como usar o monitoramento de modelos.
Pré-requisitos
Para usar o monitoramento de modelos com previsões em lote, faça o seguinte:
Ter um modelo disponível no Vertex AI Model Registry que seja um tipo tabular do AutoML ou de treinamento personalizado tabular.
Faça o upload dos dados de treinamento para o Cloud Storage ou o BigQuery e consiga o link do URI para os dados.
- Para modelos treinados com o AutoML, use o ID do conjunto de dados para seu conjunto de dados de treinamento.
O monitoramento de modelos compara os dados de treinamento com a saída da previsão em lote. Use os formatos de arquivo compatíveis com os dados de treinamento e a saída da previsão em lote:
Tipo de modelo Dados de treinamento Saída da previsão em lote Treinamento personalizado CSV, JSONL, BigQuery, TfRecord(tf.train.Example) JSONL AutoML tabular CSV, JSONL, BigQuery, TfRecord(tf.train.Example) CSV, JSONL, BigQuery, TfRecord(Protobuf.Value) Opcional: para modelos treinados de maneira personalizada, faça upload do esquema do modelo para o Cloud Storage. O monitoramento de modelos requer o esquema para calcular a distribuição do valor de referência para a detecção de desvios.
Solicitar uma predição em lote
É possível usar os métodos a seguir para adicionar configurações do Monitoramento de modelos a jobs de previsão em lote:
Console
Siga as instruções para fazer uma solicitação de previsão em batch com o monitoramento de modelos ativado:
API REST
Siga as instruções para fazer uma solicitação de previsão em batch usando a API REST:
Ao criar a solicitação de previsão em batch, adicione a seguinte configuração do monitoramento de modelos ao corpo JSON da solicitação:
"modelMonitoringConfig": { "alertConfig": { "emailAlertConfig": { "userEmails": "EMAIL_ADDRESS" }, "notificationChannels": [NOTIFICATION_CHANNELS] }, "objectiveConfigs": [ { "trainingDataset": { "dataFormat": "csv", "gcsSource": { "uris": [ "TRAINING_DATASET" ] } }, "trainingPredictionSkewDetectionConfig": { "skewThresholds": { "FEATURE_1": { "value": VALUE_1 }, "FEATURE_2": { "value": VALUE_2 } } } } ] }
onde:
EMAIL_ADDRESS é o endereço de e-mail em que você quer receber alertas do monitoramento de modelos. Por exemplo,
example@example.com
.NOTIFICATION_CHANNELS: uma lista de canais de notificação do Cloud Monitoring em que você quer receber alertas do monitoramento de modelos. Use os nomes dos recursos para os canais de notificação, que podem ser recuperados por meio da listagem dos canais de notificação em seu projeto. Por exemplo,
"projects/my-project/notificationChannels/1355376463305411567", "projects/my-project/notificationChannels/1355376463305411568"
.TRAINING_DATASET é o link para o conjunto de dados de treinamento armazenado no Cloud Storage.
- Para usar um link para um conjunto de dados de treinamento do BigQuery, substitua o campo
gcsSource
pelo seguinte:
"bigquerySource": { { "inputUri": "TRAINING_DATASET" } }
- Para usar um link para um modelo do AutoML, substitua o campo
gcsSource
pelo seguinte:
"dataset": "TRAINING_DATASET"
- Para usar um link para um conjunto de dados de treinamento do BigQuery, substitua o campo
FEATURE_1:VALUE_1 e FEATURE_2:VALUE_2 é o limite de alerta para cada recurso que você quer monitorar. Por exemplo, se você especificar
Age=0.4
, o monitoramento de modelos registrará um alerta quando a distância estatística entre as distribuições de entrada e referência para o recursoAge
exceder 0,4. Por padrão, todos os atributos categóricos e numéricos são monitorados com valores limite de 0,3.
Para mais informações sobre as configurações do monitoramento de modelos, consulte a Referência do job de monitoramento.
Python
Veja o exemplo de notebook para executar um job de previsão em batch com o monitoramento de modelos para um modelo tabular personalizado.
O monitoramento de modelos notifica você automaticamente sobre atualizações e alertas de jobs por e-mail.
Acessar métricas de desvio
Use os seguintes métodos para acessar as métricas de desvio dos jobs de previsão em lote:
Console (histograma)
Use o console do Google Cloud para acessar os histogramas de distribuição de recursos de cada recurso monitorado e saber quais mudanças levaram a um desvio ao longo do tempo:
Acesse a página Previsões em lote:
Na página Previsões em lote clique no job de previsão em lote que você quer analisar.
Clique na guia Alertas de monitoramento de modelos para ver uma lista de recursos de entrada do modelo, com informações pertinentes, como o limite de alerta para cada recurso.
Para analisar um recurso, clique no nome dele. Uma página exibe os histogramas de distribuição de recursos desse recurso.
A visualização da distribuição de dados como histogramas permite que você se concentre rapidamente nas alterações que ocorreram nos dados. Depois, ajuste o pipeline de geração de recursos ou treine novamente o modelo.
Console (arquivo JSON)
Use o console do Google Cloud para acessar as métricas no formato JSON:
Acesse a página Previsões em lote:
Clique no nome do job de monitoramento de previsão em lote.
Clique na guia Propriedades do monitoramento.
Clique no link Diretório de saída do Monitoring, que direciona você para um bucket do Cloud Storage.
Clique na pasta
metrics/
.Clique na pasta
skew/
.Clique no arquivo
feature_skew.json
, que direciona você à página Detalhes do objeto.Abra o arquivo JSON usando uma destas opções:
Clique em Fazer o download e abra o arquivo em seu editor de texto local.
Use o caminho do arquivo URI do gsutil para executar
gsutil cat GSUTIL_URI
no Cloud Shell ou no terminal local.
O arquivo feature_skew.json
inclui um dicionário em que a chave é o
nome do recurso e o valor é o desvio do recurso. Exemplo:
{ "cnt_ad_reward": 0.670936, "cnt_challenge_a_friend": 0.737924, "cnt_completed_5_levels": 0.549467, "month": 0.293332, "operating_system": 0.05758, "user_pseudo_id": 0.1 }
Python
Consulte o notebook de exemplo para acessar as métricas de desvio de um modelo tabular personalizado após executar um job de previsão em lote com o Monitoramento de modelos.
Depurar falhas de monitoramento de previsão em lote
Se o job de monitoramento de previsão em lote falhar, você poderá encontrar registros de depuração no console do Google Cloud:
Acesse a página Previsões em lote.
Clique no nome do job de monitoramento de previsão em lote com falha.
Clique na guia Propriedades do monitoramento.
Clique no link Diretório de saída do Monitoring, que direciona você para um bucket do Cloud Storage.
Clique na pasta
logs/
.Clique em um dos arquivos
.INFO
para acessar a página Detalhes do objeto.Abra o arquivo de registros usando uma destas opções:
Clique em Fazer o download e abra o arquivo em seu editor de texto local.
Use o caminho do arquivo URI do gsutil para executar
gsutil cat GSUTIL_URI
no Cloud Shell ou no terminal local.
Tutoriais de notebook
Saiba mais sobre como usar o monitoramento de modelos da Vertex AI para acessar visualizações e estatísticas de modelos com estes tutoriais completos.
AutoML
- Monitoramento de modelos da Vertex AI para modelos tabulares do AutoML
- Monitoramento de modelos da Vertex AI para previsão em lote em modelos de imagem do AutoML
- Monitoramento de modelos da Vertex AI para previsão on-line em modelos de imagem do AutoML
Personalizado
- Monitoramento de modelos da Vertex AI para modelos tabulares personalizados
- Monitoramento de modelos da Vertex AI para modelos tabulares personalizados com o contêiner do TensorFlow Serving
Modelos XGBoost
Atribuições de recursos da Explainable AI
Previsão em lote
Configuração de modelos tabulares
A seguir
- Saiba como usar o monitoramento de modelos.
- Saiba como o Monitoramento de Modelos calcula o desvio de treinamento/disponibilização e deslocamento de previsão.