Desvio de dados
Descubra os tipos, as causas e as soluções para o desvio de dados na aprendizagem automática. Saiba como detetar e mitigar o desvio de dados para modelos de IA robustos.
A deriva de dados é um desafio comum na aprendizagem automática (ML) que ocorre quando as propriedades estatísticas dos dados que um modelo encontra na produção mudam ao longo do tempo em comparação com os dados de treino com base nos quais foi construído. Esta mudança significa que o modelo está a funcionar com dados para os quais não estava preparado, o que pode levar a uma degradação silenciosa mas significativa do seu desempenho preditivo. Gerir eficazmente o desvio de dados é uma componente crítica do ciclo de vida dos MLOps, garantindo que os sistemas de Inteligência Artificial (IA) permanecem fiáveis após a implementação do modelo. Sem uma monitorização proactiva do modelo, este problema pode não ser detectado, conduzindo a más decisões e a resultados comerciais negativos.
Desvio de dados vs. Desvio de conceito
É importante distinguir a deriva de dados de um problema relacionado, a deriva de conceito. Embora ambos possam degradar o desempenho do modelo, as suas causas são diferentes.
- Desvio de dados: Também conhecido como desvio de caraterística ou covariável, ocorre quando a distribuição dos dados de entrada muda, mas a relação subjacente entre entradas e saídas permanece constante. Por exemplo, um modelo de visão por computador treinado em imagens de um tipo de câmara pode ter um desempenho fraco em imagens de uma nova câmara com propriedades de sensor diferentes. A definição dos objectos a detetar é a mesma, mas as caraterísticas dos dados de entrada mudaram.
- Desvio de conceito: Ocorre quando as propriedades estatísticas da variável-alvo se alteram ao longo do tempo. A relação fundamental entre as caraterísticas de entrada e a variável de saída é alterada. Num sistema de deteção de fraudes financeiras, por exemplo, as tácticas utilizadas pelos autores das fraudes evoluem, alterando o que constitui uma transação "fraudulenta". Na literatura académica, é possível encontrar uma exploração pormenorizada da deriva concetual.
Exemplos do mundo real
- Gestão do inventário de retalho: Um sistema de retalho baseado em IA utiliza feeds de câmaras e um modelo de deteção de objectos como o Ultralytics YOLO11 para monitorizar o stock nas prateleiras. O modelo é treinado num conjunto específico de embalagens de produtos. Se um fornecedor alterar o design da embalagem ou a loja atualizar a sua iluminação, isto introduz um desvio de dados. Os novos dados visuais diferem do conjunto de dados de treino original, o que pode fazer com que o modelo falhe no reconhecimento dos produtos, levando a contagens de inventário incorrectas.
- Veículos autónomos: Os veículos autónomos utilizam modelos treinados com base em grandes quantidades de dados de sensores de localizações geográficas e condições meteorológicas específicas. Se um automóvel for instalado numa nova cidade ou se deparar com um evento meteorológico raro, como a neve, pela primeira vez, o seu sistema de perceção enfrenta um desvio de dados. A distribuição dos dados (por exemplo, marcas rodoviárias, sinais de trânsito, comportamento dos peões) difere significativamente da sua experiência de treino, o que pode comprometer a segurança e exigir atenção imediata. A Waymo e outras empresas de condução autónoma investem fortemente na deteção e atenuação desta situação.
Detetar e mitigar o desvio de dados
Detetar e tratar a deriva de dados é um processo contínuo que envolve uma combinação de estratégias de monitorização e manutenção.
Métodos de deteção
- Monitorização do desempenho: O acompanhamento das principais métricas do modelo, como precisão, recuperação e pontuação F1 ao longo do tempo, pode indicar a degradação do desempenho potencialmente causada por desvios. Ferramentas como o TensorBoard podem ajudar a visualizar essas métricas.
- Monitorização estatística: Aplicação de testes estatísticos para comparar a distribuição dos dados de entrada com os dados de treinamento. Os métodos comuns incluem o teste de Kolmogorov-Smirnov, o Índice de Estabilidade da População (PSI) ou testes de qui-quadrado.
- Ferramentas de monitorização: Utilizando plataformas especializadas de observabilidade projetadas para monitorar modelos de ML em produção. As opções de código aberto incluem Prometheus e Grafana, enquanto ferramentas de ML dedicadas, como Evidently AI e NannyML, oferecem recursos de deteção de desvio mais específicos. Os provedores de nuvem também oferecem soluções como o AWS SageMaker Model Monitor e o Vertex AI Model Monitoring do Google Cloud.
Estratégias de atenuação
- Retreinamento: A estratégia mais simples é treinar regularmente o modelo com dados novos e recentes que reflictam o ambiente de produção atual. Plataformas como o Ultralytics HUB facilitam o retreinamento e os fluxos de trabalho de implantação.
- Aprendizagem em linha: Envolve a atualização do modelo de forma incremental à medida que chegam novos dados. Deve ser utilizada com precaução, uma vez que pode ser sensível a dados com ruído e pode fazer com que o desempenho do modelo flutue de forma imprevisível.
- Aumento de dados: A utilização proactiva de técnicas de aumento de dados durante a fase inicial de formação pode tornar o modelo mais robusto a certos tipos de variações, como alterações na iluminação, escala ou orientação.
- Adaptação ao domínio: Utilização de técnicas avançadas que tentam explicitamente adaptar um modelo treinado numa distribuição de dados de origem a uma distribuição de dados de destino diferente, mas relacionada. Esta é uma área ativa da investigação em AM.
Gerenciar efetivamente o desvio de dados é vital para garantir que os sistemas de IA criados com estruturas como PyTorch ou TensorFlow permaneçam precisos e forneçam valor durante toda a sua vida útil operacional. Pode saber mais sobre as melhores práticas de manutenção de modelos no nosso blogue.