Para Além do .fit() e .predict(): MLOps e por que a programação é apenas 10-20% do seu trabalho
Imagine uma cidade, a planta de uma cidade. Sua missão é garantir que ela evolua de forma estável. Construir prédios é suficiente? No final deste artigo, terá sua resposta.
MLOps
MLOps é uma combinação entre DevOps e Machine Learning. O processo para colocar um modelo em produção é circular (obter dados > treinar modelos > monitorar > repetir), de modo que essas tarefas sejam realizadas e repetidas, se necessário. Existem uma série de padrões e procedimentos a serem seguidos. A isso chamamos MLOps.
Como as pessoas acham que é
Geralmente, os cursos bootcamps focam em uma pequena parte da esteira do que aconteceria no mundo real. Faz parte; nem seria possível reproduzir todas as etapas. O que considero importante é que estejamos cientes de que, na prática, um conjunto específico de ferramentas coloca em um lugar específico deste pipeline.
Como realmente é
No mundo real, os verdadeiros problemas acontecem quando o modelo é posto em produção, porque após essas etapas é necessário monitorar o modelo e seus resultados (evitar que ele adote um viés racista em suas escolhas) e decidir com que frequência ele precisa ser re-treinado. Ou seja, o processo (dados > treino > monitoramento) pode acontecer dezenas de vezes e precisa ser eficiente e escalável.
Para ser um profissional da área, é preciso saber quais ferramentas te alocam em qual parte dessa esteira, que vai desde a obtenção e limpeza dos dados até colocar o modelo em funcionamento. Por exemplo, uma configuração poderia ser:
O que faz o Data Engineer:
- Obter dados
- Preparar dados (limpar)
- Reduzir erros para as próximas etapas
Data Engineering Pipeline:
- Data Ingestion
- Exploration e Validation
- Data Wrangling
- Data Labeling
- Data Splitting
O que faz o ML Engineer:
- Escrever e executar modelos de machine learning
- Obter modelos de machine learning
Model Engineering Pipeline:
- Treinar modelo
- Avaliar modelo
- Testar modelo
- Exportar modelo
A complexidade depende do local em que está trabalhando. A mensagem é clara: existe um conjunto de ferramentas para cada pipeline e você não estará trabalhando sozinho (os nomes podem mudar dependendo da organização).
As dez regras do Google sobre Machine Learning
É engraçado como a empresa que poderia dar a maior carteirada sobre o uso de Machine Learning em tudo tem como sua primeira regra em um manifesto com dez:
"Não use ML se não for necessário."
Isso porque o Machine Learning se tornou algo popular, mas a verdade é que nem sempre é necessário ou viável (financeiramente) levar um projeto desses adiante. Por isso, existem ferramentas para ajudar a decidir se precisa de IA, como o Machine Learning Canvas:
O Machine Learning Canvas é uma ferramenta que ajuda na visualização e planejamento de projetos de machine learning. Os tópicos geralmente abordados no Machine Learning Canvas incluem:
1. Problema:
- Descrição do problema a ser resolvido com machine learning.
- Definição clara dos objetivos do projeto.
2. Solução Proposta:
- Visão geral da solução de machine learning proposta.
- Algoritmos e técnicas a serem utilizados.
3. Dados:
- Fontes de dados disponíveis e necessárias para o projeto.
- Qualidade dos dados.
- Processo de coleta e pré-processamento dos dados.
4. Modelo:
- Arquitetura do modelo de machine learning.
- Hiperparâmetros do modelo.
- Estratégias de treinamento e validação.
5. Avaliação:
- Métricas de avaliação do desempenho do modelo.
- Métodos de validação cruzada.
- Testes de robustez e generalização do modelo.
6. Implementação:
- Integração do modelo em sistemas existentes.
- Requisitos de infraestrutura.
- Escalabilidade e manutenção do modelo em produção.
7. Ética e Privacidade:
- Considerações éticas e de privacidade relacionadas aos dados e ao modelo.
- Mitigação de possíveis vieses e discriminações.
8. Custos e Recursos:
- Custos envolvidos no desenvolvimento e operação do projeto.
- Recursos necessários, como hardware, software e pessoal.
9. Cronograma:
- Planejamento temporal do projeto, incluindo etapas de desenvolvimento, treinamento e implantação.
- Marcos importantes e prazos a serem cumpridos.
10. Riscos e Desafios:
- Identificação de possíveis riscos e desafios que podem surgir durante o desenvolvimento do projeto.
- Estratégias de mitigação e contingência.
... e finalmente
"Não basta construir um prédio (modelo) é preciso garantir energia, água e a manutenção do mesmo."
---
Infelizmente, perdi a primeira versão. Após uma hora de escrita, pretendo anexar materiais de aulas, cursos e blogs usados como referência e para aprofundar no assunto para quem tiver interesse.
Atenciosamente, CLL.