Monitoramento de modelos de machine learning

Parte 1 - Definição da problemática

Quando falamos sobre monitorar modelos de machine learning, é usual associarmos esse monitoramento às métricas de qualidade desses modelos em produção (e.g. AUC, RMSE, precisão). Na prática, entretanto, essa é uma disciplina que vai além da natureza analítica destes modelos.

Do ponto de vista da operação, tanto faz se o que está sendo implantando é uma regressão logística ou gerador de números aleatórios, pois outros indicadores são acompanhados: latência de resposta do modelo, quantidade de requisições por segundo que o modelo está recebendo, memória e CPU consumidas pela infraestrutura.

Já do ponto de vista do negócio, todas as métricas descritas anteriormente, são proxies daquelas que realmente geram impacto: retorno financeiro, satisfação dos clientes, custo evitado, tamanho da base de usuários.

Poderiamos ainda adicionar outras camadas nesse racíocinio, somando a ele métricas relacionadas à agilidade (e.g. cycle time, burnout, BCPs), gerenciamento do time (e.g. turnover, satisfação dos colaboradores), gestão de mudanças (e.g. quantidade de implantações com desvio, tempo médio entre implantações) e muitas outras.

Colocando no papel, são dezenas de métricas e times diferentes responsáveis por cada conjunto delas. Nem sempre esses times estão se conversando, e em muitos casos nem as métricas estão sendo medidas, resultando em dois cenários comuns: (1) a medição compulsória, quando uma liderança ou uma auditória pede números que não estão sendo acompanhados, ou (2) a medição imaginativa, quando no inicio do projeto são projetados números (e.g. retorno financeiro, redução de custo) que não serão acompanhados, então, no futuro, imaginamos que tudo está seguindo o plano.

Essa complexidade ainda pode ser aumentada quando o monitoramento é realizado de forma manual, i.e. o cálculo das métricas é realizado ou informado quando necessário (solicitado), e o acompanhamento de desvios ou oportunidades é feito de forma artesanal (sem alarmes automatizados, ou rotinas de identificação de padrões).

Ainda há a questão do incentivo em gastar energia com monitoramento de um sistema contendo modelos de machine learning, uma vez que a entrega ou atualização rápida desses modelos pode ser enxergado como algo de mais valor dentro de uma empresa. Este tópico é discutido no precioso artigo da Google Hidden Technical Debt in Machine Learning Systems e descrito como parte do chamado débito cultural.

It is important to create team cultures that reward deletion of features, reduction of complexity, improvements in reproducibility, stability, and monitoring to the same degree that improvements in accuracy are valued.

Sculley et. al. (2015)

Finalmente, e não menos importante, existe a problemática em torno do monitoramento dos dados. Sejam dados utilizados para treinamento dos modelos, ou aqueles que em produção serão inputs para as previsões e predições dos modelos. Dados são os elementos que distinguem sistemas com modelos de machine learning de sistemas tradicionais, pois são de natureza mutável, imprevisivel e diretamente entrelaçados com a realidade.

Quantos modelos não precisaram ser revistos por conta da pandêmia global da COVID-19? Não é que a COVID-19 tenha alterado os parâmetros do modelo de machine learning implantado, seu impacto está associado a mudança de comportamento humano (algo tão poderoso que chegou a ter influência sob a atmosfera do planeta Terra) e que por consequência altera a distribuição e disponibilidade de dados antes utilizados.

Ao monitorar outliers nos dados nos antecipamos a novos comportamentos ou erros de ingestão; ao monitorar a distribuição de probabilidade dos dados nos antecipamos e interpretamos de forma mais acertiva o comportamento dos modelos de machine learning; ao monitorar o volume de dados processados podemos até mesmo identificar comportamento de clientes, e apoiar as equipes de negócio em mensurar o valor das soluções implantadas.

Com a problemática estabelecida, e o valor do monitoramento desses sistemas descrito, nos falta fazer a pergunta: como podemos ter sistemas de machine learning sendo de fato monitorados na minha organização?

Não há de haver plataforma ou solução técnologica que seja bala de prata para essa ou qualquer situação. A mudança deve ser sempre cultural, apoiada pela liderança e priorizada como uma entrega de valor.


Este foi o primeiro post sobre o tema de monitoramento de modelos de machine learning. No próximo, vamos nos aprofundar nas métricas e indicadores relevantes em todo o ciclo de vida de desenvolvimento e sustentação de um modelo.

Até lá!

Did you find this article valuable?

Support Triplebackslash by becoming a sponsor. Any amount is appreciated!