Parabéns! Você implantou o preditor de aparência global de unicórnios. Você quer que o preditor execute 24 horas sem nenhum problema. Você logo percebe que precisa monitorar seu pipeline de ML. O monitoramento de todos os seus componentes pode parecer complicado, mas vamos analisar os requisitos e as soluções.
Procurar desvio de treinamento/exibição
O desvio de treinamento/exibição significa que os dados de entrada diferem entre treinamento e disponibilização. A tabela a seguir descreve os dois tipos importantes de desvio:
Tipo | Definição | Exemplo | Solução |
---|---|---|---|
Desvio do esquema | Os dados de entrada de treinamento e de disponibilização não estão de acordo com o mesmo esquema. | O formato ou a distribuição dos dados de exibição muda enquanto o modelo continua a treinar com dados antigos. | Use o mesmo esquema para validar dados de treinamento e disponibilização. Verifique as estatísticas não verificadas pelo seu esquema separadamente, como a fração dos valores ausentes |
Desvio de atributo | Os dados da engenharia são diferentes entre o treinamento e a exibição. | O código de engenharia de atributos varia entre o treinamento e a disponibilização, produzindo diferentes dados de engenharia. | Semelhante à distorção de esquema, aplique as mesmas regras estatísticas entre o treinamento e a disponibilização de dados de engenharia. Rastrear o número de recursos distorcidos detectados e a proporção de exemplos distorcidos por recurso. |
Monitoramento do pipeline ao longo da idade do modelo
Se os dados de exibição evoluírem com o tempo, mas seu modelo não for treinado novamente regularmente, você verá uma diminuição na qualidade do modelo. Monitore o tempo desde que o modelo foi treinado novamente em novos dados e defina uma idade limite para alertas. Além de monitorar a idade do modelo na disponibilização, é preciso monitorar a idade do modelo em todo o pipeline para capturar paradas de pipeline.
Testar se os pesos e saídas do modelo são numericamente estáveis
Durante o treinamento do modelo, seus pesos e saídas de camada não podem ser NaN ou Inf. Escreva testes para verificar os valores NaN e Inf dos seus pesos e saídas de camada. Além disso, teste se mais da metade das saídas de uma camada é zero.
Monitorar o desempenho do modelo
Seu preditor de aparência de unicórnio está em alta do que o esperado. Você está recebendo muitas solicitações de previsão e ainda mais dados de treinamento. Você acha isso ótimo até perceber que seu modelo está gastando mais memória e tempo para treinar. Para monitorar o desempenho do modelo, siga estas etapas:
- Acompanhe o desempenho do modelo por versões de código, modelo e dados. Esse rastreamento permite identificar a causa exata de qualquer degradação no desempenho.
- Teste as etapas de treinamento por segundo para uma nova versão de modelo em relação à versão anterior e em relação a um limite fixo.
- Identifique os vazamentos de memória definindo um limite para uso da memória.
- Monitorar os tempos de resposta da API e rastrear os percentis. Embora os tempos de resposta da API possam estar fora do seu controle, respostas lentas podem causar métricas reais ruins.
- Monitore o número de consultas respondidas por segundo.
Testar a qualidade do modelo dinâmico nos dados exibidos
Você validou seu modelo. E se cenários reais, como o comportamento do unicórnio, mudarem após a gravação dos dados de validação? Em seguida, a qualidade do modelo veiculado será reduzida. No entanto, a qualidade do teste na exibição é difícil porque os dados reais nem sempre são rotulados. Se os dados de exibição não estiverem rotulados, considere estes testes:
Investigar modelos que mostram um viés estatístico significativo nas previsões. Consulte Classificação: viés de previsão.
Acompanhe métricas reais para seu modelo. Por exemplo, se você estiver classificando spam, compare suas previsões com o spam denunciado pelo usuário.
Reduza a possível divergência entre o treinamento e a disponibilização de dados ao disponibilizar uma nova versão de modelo em uma fração das suas consultas. Ao validar o novo modelo de exibição, troque gradualmente todas as consultas para a nova versão.
Usando esses testes, lembre-se de monitorar a degradação repentina e lenta da qualidade da previsão.