Photo by Michał Jakubowski on Unsplash

Métricas de avaliação para modelos em produção

Robustez, confiança… Conheça métricas para avaliar a qualidade de modelos pós deploy

Letícia Gerola
Published in
3 min readApr 3, 2024

--

Quando se fala em métricas de avaliação, os clássicos são os primeiros a vir à cabeça: precision, recall, f1-score, acurácia, r2… Dependendo do problema, uma regra matemática que nos diz a eficácia da modelagem sendo implementada.

Chip Huyen destaca no livro Designing ML Systems ((O’Reilly). Copyright 2022 Huyen Thi Khanh Nguyen, 978–1–098–10796–3) que ‘ao avaliar um modelo, é importante diferenciar um “bom sistema” de um “sistema útil”’. Um bom sistema não é necessariamente útil, e um sistema ruim não é necessariamente inútil. Um veículo autônomo pode ser bom se for pelo menos tão bom quanto os motoristas humanos. Em alguns casos, mesmo que um sistema de Machine Learning funcione melhor do que um ser humano médio, as pessoas ainda podem não confiar nele, o que neste caso torna-o inútil. Por outro lado, um sistema que prevê a próxima palavra que um usuário digitará em seu telefone pode ser considerado ruim se for muito pior do que um falante nativo. No entanto, ainda pode ser útil se suas previsões puderem ajudar os usuários a digitar mais rápido!

Em desafios e competições, ao avaliar modelos de ML, cientistas tendem a se fixar em suas métricas de desempenho. No entanto, quando falamos de um modelo em produção, também queremos que os nossos modelos sejam robustos, bem calibrados e, em geral, que façam sentido para o usuário que o consome. Pensando nisso, apresento algumas métricas de avaliação pouco conhecidas que podem auxiliar (e muito!) a medir a sanidade de modelos já implementados (alô, observabilidade? Corre aqui!).

Perturbation Tests

Os testes de perturbação são uma técnica poderosa para avaliar a robustez de um modelo quando o assunto são pequenas alterações nos dados de entrada. Os testes envolvem introduzir perturbações nos dados de teste, como por exemplo adicionar ruído ou modificar ligeiramente os valores, e observar como o modelo responde a tais mudanças. Se o modelo for robusto, pequenas perturbações não devem afetar significativamente suas predições, indicando uma maior confiança na capacidade de generalização do nosso sistema.

Invariance Tests

Os testes de invariância são projetados para verificar se um modelo mantém suas previsões consistentes em diferentes contextos ou cenários. Essa métrica é particularmente útil em situações onde certas características dos dados podem mudar, mas as previsões do modelo devem permanecer estáveis. Um modelo de detecção de objetos em imagens deve ser invariante a mudanças de iluminação ou rotação, por exemplo. Realizar testes de invariância ajuda a garantir que o modelo seja confiável em diferentes condições e adversidades.

Directional Expectations Tests

Expectativas direcionais são úteis para avaliar se um modelo está seguindo as expectativas esperadas em relação às mudanças nos inputs de entrada. Por exemplo, se o valor de uma variável de entrada aumenta, espera-se que a previsão do modelo também aumente (ou diminua, dependendo do contexto). Se aumentarmos propositalmente a variável metro quadrado em um modelo de previsão de preço de apartamentos, espera-se que os preços também subam. Testes de expectativas direcionais ajudam a identificar se o modelo está se comportando conforme o esperado e se está capturando corretamente a relação entre as variáveis de entrada e saída.

Slice-Based Evaluation

A avaliação baseada em fatias (slice-based evaluation) é uma abordagem que envolve analisar o desempenho de um modelo em diferentes segmentos ou subgrupos dos dados. Isso é especialmente útil em problemas onde o desempenho do modelo pode variar significativamente entre diferentes grupos de dados, como em casos de desequilíbrio de classes ou vieses indesejados. Ao avaliar o modelo em fatias específicas dos dados, os cientistas de dados podem identificar áreas de melhoria e garantir que o modelo funcione de maneira justa e eficaz para todos os grupos de interesse. Se ajustarmos a variável gênero para que todos os labels indiquem ‘feminino’, por exemplo, o que acontece com as predições do nosso modelo? Testes como esse nos auxiliam no controle de ‘fairness’ do algoritmo e proporcionam uma gestão ativa de possíveis vieses.

--

--

Letícia Gerola
Joguei os Dados

Cientista de dados e jornalista. Autora do blog de Data Science ‘Joguei os Dados’.