Três lições dos nossos projetos de IA
Ao longo de dois anos, acompanhámos dezenas de projetos de IA, desde a exploração inicial até um modelo que é executado todas as noites. Alguns…
O machine learning (ML) não termina com o desenvolvimento de um modelo—na verdade, isso é apenas o início. Muitas organizações concentram-se sobretudo na construção do modelo, mas esquecem-se de que o verdadeiro trabalho começa quando este entra em produção. Um modelo só tem valor se continuar a ter um bom desempenho, o que exige manutenção e monitorização contínuas.
O MLOps, uma combinação de machine learning e operações, gere todo o ciclo de vida de um modelo, no qual a monitorização desempenha um papel crucial. Como garantir que um modelo se mantém fiável a longo prazo? Como evitar que fique desatualizado ou faça previsões imprecisas? Este artigo aborda a importância da monitorização, as suas vantagens e os erros mais comuns, e apresenta dicas práticas para a implementar em Python, para que os seus modelos continuem a funcionar sem problemas, mesmo quando as circunstâncias mudam.
A monitorização é essencial para garantir que os modelos de machine learning continuam a ter um desempenho fiável em produção. Com várias técnicas e ferramentas, pode acompanhar continuamente o desempenho do seu modelo, detetar alterações nos dados e assegurar a precisão das previsões. Mas o que implica isto, concretamente?
Os quatro principais pilares da monitorização de ML são:
A monitorização não só ajuda a manter os modelos fiáveis, como também permite agir de imediato quando surgem anomalias ou problemas.
Uma boa solução de monitorização não resolve automaticamente todos os problemas. Tal como em cada etapa do ciclo de MLOps, é importante ponderar as opções. À semelhança do que acontece no desenvolvimento do seu modelo, também na monitorização é necessário escolher as métricas certas. Estas métricas devem adequar-se ao seu caso específico, para que possa agir de forma direcionada e garantir que o modelo continua a contribuir da melhor forma possível para os objetivos.
Isto aplica-se não só ao desempenho do seu modelo, mas também à monitorização do data drift. Antes de analisarmos mais detalhadamente os métodos de deteção de drift, uma breve distinção: data drift refere-se a alterações na distribuição dos dados de entrada. Concept drift, por sua vez, diz respeito a alterações na relação entre as variáveis de entrada e de saída. Ambos os tipos de drift acarretam riscos, e uma boa monitorização permite detetá-los e resolvê-los. No entanto, é crucial identificar a causa do drift para poder implementar uma solução direcionada e manter o seu modelo robusto.
Na deteção de drift, importa escolher o teste estatístico adequado ao seu conjunto de dados e ao problema em causa. Isto exige um conhecimento aprofundado dos seus dados e uma escolha ponderada. Eis algumas questões importantes a considerar:
A escolha do método certo para a deteção de drift depende, portanto, em grande medida do objetivo e das características do seu conjunto de dados. A monitorização não é uma solução 'plug-and-play'. Exige uma ponderação cuidadosa para encontrar a abordagem mais adequada.
Quando é detetado drift, o passo seguinte depende do tipo de drift e da sua causa. É sempre aconselhável avaliar regularmente o modelo e voltar a treiná-lo. Com uma boa plataforma de experiment tracking, pode tomar uma decisão fundamentada sobre colocar ou não o novo modelo em produção.
Se voltar a treinar o modelo não produzir o resultado pretendido, poderá ser necessária uma análise mais aprofundada. Isto pode implicar rever a feature engineering ou a escolha do algoritmo. Este trabalho manual pode ser demorado, mas por vezes é inevitável para melhorar o modelo.
Embora por vezes sejam necessários passos manuais, grande parte da monitorização dos dados e dos modelos pode ser automatizada. Pode agendar verificações para detetar drift, registar automaticamente os resultados e configurar mecanismos que, por exemplo, iniciem uma tarefa de novo treino assim que seja detetado drift. Mas tenha cuidado com o excesso de automatização: o que acontece se um novo modelo for colocado automaticamente em produção sem verificações suficientes? Pode ser necessária uma aprovação manual para evitar riscos.
Além da monitorização de drift, é importante registar os aspetos operacionais. Isto significa acompanhar a utilização do seu modelo, incluindo mensagens de erro, dados de latência e dados dos utilizadores. O registo operacional ajuda a identificar erros no ambiente de produção e fornece informação valiosa para uma manutenção eficiente.
Agora que sabe em que consiste a deteção de drift, talvez se pergunte: como posso aplicá-la na prática? É uma pergunta pertinente. Embora a deteção de drift faça sentido em teoria, a prática pode ser mais exigente. Sobretudo quando é necessária a deteção de drift em tempo real (online). Neste caso, os dados são processados assim que chegam, enquanto na deteção de drift offline são analisados em lotes.
Muitos casos de uso exigem a deteção de drift online, porque o processamento em lotes nem sempre é suficientemente rápido ou viável. Isto exige não só os testes certos, mas também uma infraestrutura suficientemente robusta para processar dados em tempo real. É por isso que, muitas vezes, a deteção de drift só é implementada quando um projeto ou uma equipa atinge um nível mais elevado de maturidade em MLOps.
Os fornecedores de serviços cloud estão a responder à necessidade de deteção de drift e de registo operacional. Por exemplo, a Azure disponibiliza uma solução Data Drift integrada na sua plataforma Azure Machine Learning, que facilita bastante a monitorização de data drift. As soluções cloud são especialmente úteis para o registo operacional.
O Amazon CloudWatch (AWS) fornece informação detalhada sobre o desempenho operacional dos seus modelos de ML, como mensagens de erro e dados de latência.
O Azure Monitor oferece funcionalidades semelhantes, incluindo Log Analytics e Application Insights, que permitem centralizar os logs e configurar alertas para eventos importantes no seu código em produção.
Além destas soluções cloud, também existem ferramentas open-source eficazes. Para detetar drift em Python, pode usar três pacotes PIP populares:
Embora as três ferramentas sejam úteis, cada uma tem as suas vantagens e desvantagens. O Evidently e o NannyML são mais fáceis de usar, enquanto o Alibi-detect oferece mais funcionalidades, mas é mais complexo. Combinar várias ferramentas pode muitas vezes ser a melhor forma de criar um sistema robusto de monitorização de drift.
Na DSL, optámos por combinar algumas destas ferramentas open-source para podermos oferecer uma solução de monitorização de drift de aplicação geral e fácil de usar. Ao aproveitar os pontos fortes de cada pacote, conseguimos monitorizar facilmente dados tabulares e detetar formas mais complexas de drift em imagens ou texto. Esta abordagem oferece flexibilidade e escalabilidade para diferentes casos de uso.
Como referido anteriormente, um modelo de ML, tal como o software em que funciona, tem de ser mantido como se fosse um sistema "vivo". Os modelos têm de se adaptar regularmente ao seu ambiente para continuarem a ter um bom desempenho. No entanto, esta manutenção traz vantagens e desafios.
Vantagens da monitorização
Desafios e obstáculos
A monitorização é uma parte essencial da implementação e manutenção bem-sucedidas de um ciclo de MLOps maduro. Ao prestar atenção às métricas certas, à deteção de drift e à automatização, as organizações podem otimizar o desempenho dos seus modelos e garantir que continuam fiáveis, mesmo num ambiente em rápida mudança. Ferramentas como Evidently AI, Alibi Detect, NannyML, bem como as opções de monitorização da Azure e da AWS, podem ser muito úteis para esse efeito.
No entanto, também existem desafios na prática. As organizações precisam de atingir um determinado nível de maturidade e dispor de uma infraestrutura robusta para utilizar a monitorização de forma eficaz. Mas os benefícios, como a melhoria do desempenho, o aumento da fiabilidade e uma resposta rápida, são claros e convincentes. Estar ciente das possíveis dificuldades é crucial para uma implementação bem-sucedida.
Quer saber mais sobre como a sua organização pode beneficiar de uma monitorização eficaz dos modelos e da deteção de drift? Contacte-nos. Teremos todo o gosto em ajudar a elevar a sua infraestrutura de MLOps a um novo patamar e a tirar o máximo partido das suas soluções de IA. É isso que o MLOps permite.
Ao longo de dois anos, acompanhámos dezenas de projetos de IA, desde a exploração inicial até um modelo que é executado todas as noites. Alguns…
Muitas organizações já realizaram um projeto-piloto de IA. O modelo funciona, a demonstração é aplaudida e depois não acontece mais nada. Pela nossa…
A inteligência artificial está a evoluir rapidamente. Surgem novos modelos quase todas as semanas, e cada vez mais organizações experimentam a IA. Ao…
Quer ser a primeira pessoa a saber quando publicamos um novo artigo no blogue?
Obrigado pela sua inscrição!