Os modelos usados na produção exigem monitoramento contínuo para garantir que continuem a funcionar como esperado. Depois de implantar um modelo na produção, os dados de entrada fornecidos para o modelo para previsões geralmente mudam. Quando os dados de entrada de previsão se propagam dos dados em que o modelo foi treinado, o desempenho do modelo pode se deteriorar, mesmo que o próprio modelo não tenha sido alterado.
O monitoramento de modelos é compatível com a detecção de desvios e desvios de atributos em atributos categóricos e numéricos.
Desvio de treinamento/disponibilização e desvio de previsão
A distorção entre treinamento e disponibilização ocorre quando a distribuição de dados do atributo na produção é diferente da distribuição de dados do recurso usada para treinar o modelo. Quando os dados de produção se desviam dos dados de treinamento, o desempenho do modelo pode se deteriorar. Um modelo tem melhor desempenho em relação a dados semelhantes aos dados de treinamento.
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. Essas alterações também afetam o desempenho do modelo.
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.
Calcular o desvio de treinamento/disponibilização e o deslocamento de previsão
Para um recurso que está sendo monitorado por desvio de serviço de treinamento ou desvio de previsão, o Monitoring Model calcula a distribuição estatística dos valores mais recentes de recurso vistos na produção. Essa distribuição estatística é comparada com outra distribuição de valor de referência por meio do cálculo de uma pontuação de distância para determinar a semelhança entre os valores dos recursos de produção e o valor de referência. Quando a pontuação de distância entre duas distribuições estatísticas excede um determinado limite, o Monitoramento de modelo identifica isso como distorção ou deslocamento.
Valores de referência para detecção de distorção e desvio
O monitoramento de modelos usa valores de referência diferentes para detecção de desvio e detecção de deslocamento:
- Para a detecção de desvio, o valor de referência é a distribuição estatística dos valores do atributo nos dados de treinamento.
- Para a detecção de deslocamento, o valor de referência é a distribuição estatística dos valores do atributo vistos na produção no passado recente.
Saiba como configurar os valores de referência e os limites para detecção de desvios e desvios.
Distribuição estatística para atributos categóricos e numéricos
Para recursos categóricos, a distribuição calculada é o número ou a porcentagem de instâncias de cada valor possível do recurso. Para recursos numéricos, dividimos o intervalo de valores de recursos possíveis em intervalos de tamanhos iguais e calculamos o número ou a porcentagem de valores de recursos que se enquadram em cada intervalo.
Exemplos de distribuições de um recurso numérico:
Distribuição do valor de referência
Distribuição atual
Exemplos de distribuições de um recurso categórico:
Distribuição do valor de referência
Distribuição atual
Distância estatística para atributos categóricos e numéricos
Para comparar duas distribuições estatísticas, o Monitoring Model usa as seguintes medidas estatísticas:
- No caso de atributos numéricos, use Divergência de Jenense-Shannon para calcular a distância entre duas distribuições.
- Para recursos categóricos, use Distância L-infinity para calcular a distância entre duas distribuições.
Para mais informações, consulte Referência de anomalias de validação de dados do TensorFlow.
A seguir
- Trabalhe com o monitoramento de modelos seguindo os documentos da API.
- Trabalhe com o monitoramento de modelos seguindo os
documentos da ferramenta de linha de comando
gcloud
. - Teste o notebook de exemplo no Colab (em inglês) ou visualize-o no GitHub.
- Ative a detecção de desvios e deslocamentos para seus modelos.