Introdução ao Vertex AI Model Monitoring

Esta página oferece uma visão geral do Vertex AI Model Monitoring.

Visão geral do Monitoring

O Vertex AI Model Monitoring permite executar jobs de monitoramento conforme necessário ou em uma programação regular para monitorar a qualidade dos modelos tabulares. Se você tiver definido alertas, o Vertex AI Model Monitoring vai informar quando as métricas ultrapassarem um limite especificado.

Por exemplo, suponha que você tenha um modelo que prevê o valor de vida útil do cliente. À medida que os hábitos dos clientes mudam, os fatores que preveem os gastos deles também mudam. Consequentemente, os atributos e valores de atributos que você usou para treinar seu modelo antes podem não ser relevantes para fazer previsões hoje. Esse desvio nos dados é conhecido como deslocamento.

O Vertex AI Model Monitoring pode monitorar e alertar você quando os desvios excederem um limite especificado. Depois, você pode reavaliar ou treinar o modelo novamente para garantir que ele se comporte conforme o esperado.

Por exemplo, o Vertex AI Model Monitoring pode fornecer visualizações como na figura a seguir, que sobrepõe dois gráficos de dois conjuntos de dados. Essa visualização permite comparar e conferir rapidamente os desvios entre os dois conjuntos de dados.

Exemplo de distribuição numérica de um conjunto de dados de referência e de destino.

Versões do Vertex AI Model Monitoring

O Vertex AI Model Monitoring oferece duas versões: v2 e v1.

O Model Monitoring v2 está em Pré-lançamento e é a oferta mais recente que associa todas as tarefas de monitoramento a uma versão do modelo. Por outro lado, o Model Monitoring v1 está disponível de forma geral e é configurado em endpoints da Vertex AI.

Se você precisar de suporte no nível de produção e quiser monitorar um modelo implantado em um endpoint da Vertex AI, use o Model Monitoring v1. Para todos os outros casos de uso, use o Model Monitoring v2, que oferece todos os recursos do Model Monitoring v1 e muito mais. Para mais informações, consulte as informações gerais de cada versão:

Para usuários do Model Monitoring v1, o recurso é mantido como está. Não é necessário migrar para o Model Monitoring v2. Se você quiser migrar, poderá usar as duas versões simultaneamente até migrar totalmente para o Model Monitoring v2 para evitar lacunas de monitoramento durante a transição.

Visão geral do Model Monitoring v2

O Model Monitoring v2 permite acompanhar as métricas ao longo do tempo depois de configurar um monitor de modelo e executar jobs de monitoramento. É possível executar jobs de monitoramento sob demanda ou configurar execuções programadas. Ao usar execuções programadas, o Model Monitoring executa automaticamente jobs de monitoramento com base em uma programação definida por você.

Objetivos do Monitoring

As métricas e os limites que você monitora são mapeados para objetivos do Monitoring. Para cada versão do modelo, é possível especificar um ou mais objetivos de monitoramento. A tabela a seguir detalha cada objetivo:

Objetivo Descrição Tipo de dado do atributo Métricas compatíveis
Deslocamento dos dados de atributos de entrada

Mede a distribuição dos valores dos atributos de entrada em comparação com uma distribuição de dados de referência.

Categórico: booleano, string, categórico
  • L-Infinity
  • Divergência de Jensen-Shannon
Numérico: ponto flutuante, número inteiro Divergência de Jensen-Shannon
Desvio de dados de previsão de saída

Mede a distribuição de dados de previsões do modelo em comparação com uma distribuição de dados de referência.

Categórico: booleano, string, categórico
  • L-Infinity
  • Divergência de Jensen-Shannon
Numérico: ponto flutuante, número inteiro Divergência de Jensen-Shannon
Atribuição de atributos

Mede a mudança na contribuição dos recursos para a previsão de um modelo em comparação com um valor de referência. Por exemplo, é possível acompanhar se um recurso muito importante de repente perde importância.

Todos os tipos de dados Valor SHAP (SHapley Additive exPlanations)

Desvio de previsões de saída e atributos de entrada

Depois que um modelo é implantado na produção, os dados de entrada podem se desviar dos dados usados para treinar o modelo, ou a distribuição de dados de recursos na produção pode mudar significativamente com o tempo. O Model Monitoring v2 pode monitorar mudanças na distribuição de dados de produção em comparação com os dados de treinamento ou acompanhar a evolução da distribuição de dados de produção ao longo do tempo.

Da mesma forma, para dados de previsão, o Model Monitoring v2 pode monitorar mudanças na distribuição dos resultados previstos em comparação com a distribuição dos dados de treinamento ou de produção ao longo do tempo.

Atribuição de atributos

As atribuições de recursos indicam o quanto cada elemento no seu modelo contribuiu para as previsões para cada instância determinada. As pontuações de atribuição são proporcionais à contribuição do atributo para a predição de um modelo. Normalmente, eles são assinados, indicando se um atributo ajuda a enviar a previsão para cima ou para baixo. As atribuições de todos os atributos precisam totalizar a pontuação de previsão do modelo.

Ao monitorar atribuições de atributos, o Model Monitoring v2 rastreia as alterações nas contribuições de um atributo para as previsões de um modelo ao longo do tempo. Uma alteração na pontuação de atribuição de um atributo importante geralmente indica que o recurso mudou de uma maneira que pode afetar a precisão das previsões do modelo.

Para mais informações sobre atribuições e métricas de recursos, consulte Explicações com base em recursos e Método de Shapley com amostragem.

Como configurar o Model Monitoring v2

Primeiro, registre seus modelos no Vertex AI Model Registry. Se você estiver veiculando modelos fora da Vertex AI, não será necessário fazer upload do artefato do modelo. Em seguida, crie um monitor de modelo, que é associado a uma versão do modelo, e defina o esquema do modelo. Para alguns modelos, como os do AutoML, o esquema é fornecido por você.

No monitor de modelos, você pode especificar configurações padrão, como objetivos de monitoramento, um conjunto de dados de treinamento, o local de saída do monitoramento e as configurações de notificação. Para mais informações, consulte Configurar o monitoramento de modelos.

Depois de criar um monitor de modelo, você pode executar um job de monitoramento sob demanda ou programar jobs regulares para monitoramento contínuo. Quando você executa um job, o Model Monitoring usa a configuração padrão definida no monitor de modelos, a menos que você forneça uma configuração de monitoramento diferente. Por exemplo, se você fornecer objetivos de monitoramento diferentes ou um conjunto de dados de comparação diferente, o Model Monitoring vai usar as configurações do job em vez da configuração padrão do monitor de modelos. Para mais informações, consulte Executar um job de monitoramento.

Preços

Não há cobranças pelo Model Monitoring v2 durante a pré-visualização. Você ainda vai receber cobranças pelo uso de outros serviços, como o Cloud Storage, o BigQuery, as previsões em lote da Vertex AI, a Vertex Explainable AI e o Cloud Logging.

Tutoriais de notebook

Os tutoriais a seguir demonstram como usar o SDK da Vertex AI para Python para configurar o Model Monitoring v2 para seu modelo.

Model Monitoring v2: job de previsão em lote de modelo personalizado

Model Monitoring v2: previsão on-line de modelos personalizados

Model Monitoring v2: modelos fora da Vertex AI

Visão geral do Model Monitoring v1

Para ajudar a manter o desempenho de um modelo, o Model Monitoring v1 monitora os dados de entrada de previsão do modelo em busca de distorção e desvio do atributo:

  • O desvio entre treinamento e disponibilização ocorre quando a distribuição de dados do recurso na produção é diferente da distribuição de dados do recurso usada para treinar o modelo. Se os dados de treinamento originais estiverem disponíveis, será possível ativar a detecção de distorção para monitorar seus modelos para o desvio de treinamento/disponibilização.

  • O desvio da previsão ocorre quando a distribuição de dados do recurso na produção muda significativamente ao longo do tempo. Se os dados de treinamento originais não estiverem disponíveis, será possível ativar a detecção de deslocamento para monitorar as entradas de produção para alterações ao longo do tempo.

É possível ativar a detecção de distorção e desvio.

O Model Monitoring v1 é compatível com a detecção de distorções e desvios de atributos em atributos categóricos e numéricos.

  • Atributos categóricos são dados limitados por um número de valores possíveis, geralmente agrupados por propriedades qualitativas. Por exemplo, categorias como tipo de produto, país ou tipo de cliente.

  • Atributos numéricos são dados que podem ser qualquer valor numérico. Por exemplo, peso e altura.

Quando a distorção ou desvio do atributo de um modelo excede um limite de alerta definido por você, o Model Monitoring v1 envia um alerta por e-mail. Também é possível ver as distribuições de cada recurso ao longo do tempo para avaliar se você precisa treinar novamente seu modelo.

Calcular o deslocamento

Para detectar o deslocamento da v1, o Vertex AI Model Monitoring usa a TensorFlow Data Validation (TFDV) para calcular as distribuições e as pontuações de distância.

  1. Calcule a distribuição estatística do valor de referência:

    • Na detecção de distorção, o valor de referência é a distribuição estatística dos valores do atributo nos dados de treinamento.

    • Na detecção de desvio, o valor de referência é a distribuição estatística dos valores do atributo exibidos na produção no passado recente.

    As distribuições de atributos categóricos e numéricos são calculadas da seguinte forma:

    • Para atributos categóricos, a distribuição calculada é o número ou a porcentagem de instâncias de cada valor possível do atributo.

    • Para atributos numéricos, o Vertex AI Model Monitoring divide o intervalo de valores de atributos possíveis em intervalos iguais e calcula o número ou a porcentagem de valores de atributos que se enquadram em cada intervalo.

    O valor de referência é calculado quando você cria um job da Vertex AI Model Monitoring e só é recalculado se você atualizar o conjunto de dados de treinamento para o job.

  2. Calcular a distribuição estatística dos valores mais recentes de atributo vistos na produção.

  3. Compare a distribuição dos valores mais recentes de atributos na produção com a distribuição do valor de referência calculando uma pontuação de distância:

  4. Quando a pontuação de distância entre duas distribuições estatísticas excede o limite especificado, o Vertex AI Model Monitoring identifica a anomalia como distorção ou desvio.

O exemplo a seguir mostra a distorção ou desvio entre o valor de referência e as distribuições mais recentes de um atributo categórico:

Distribuição do valor de referência

Um exemplo de distribuição de recurso do conjunto de dados de referência.

Distribuição mais recente

Um exemplo de distribuição de recursos do conjunto de dados atual.

O exemplo a seguir mostra a distorção ou desvio entre o valor de referência e as distribuições mais recentes de um atributo numérico:

Distribuição do valor de referência

Um exemplo de distribuição de recurso do conjunto de dados de referência.

Distribuição mais recente

Um exemplo de distribuição de recursos do conjunto de dados atual.

Considerações ao usar o monitoramento de modelos

  • Para manter a eficiência de custos, defina uma taxa de amostragem de solicitações de previsão para monitorar um subconjunto das entradas de produção em um modelo.

  • É possível definir uma frequência com que as entradas registradas recentemente de um modelo implantado são monitoradas em busca de distorção ou desvio. A frequência de monitoramento determina o período, ou o tamanho da janela de monitoramento, dos dados registrados que são analisados em cada execução do monitoramento.

  • É possível especificar limites de alerta para cada atributo que você quer monitorar. Um alerta é registrado quando a distância estatística entre a distribuição do recurso de entrada e o valor de referência correspondente excede o limite especificado. Por padrão, todos os atributos categóricos e numéricos são monitorados com valores limite de 0,3.

  • Um endpoint de previsão on-line pode hospedar vários modelos. Quando você ativa a detecção de desvios ou desvios em um endpoint, os seguintes parâmetros de configuração são compartilhados em todos os modelos hospedados nesse endpoint:

    • Tipo de detecção
    • Frequência de monitoramento
    • Fração de solicitações de entrada monitoradas

    Para os outros parâmetros de configuração, é possível definir valores diferentes para cada modelo.

A seguir