Article image
Carlos Lima
Carlos Lima27/04/2024 18:18
Share

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

    image

    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).

    image

    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.

    Share
    Comments (2)
    Carlos Lima
    Carlos Lima - 27/04/2024 20:31

    Certamente Fábio, agradeço seu feedback :)

    Fábio Andrade
    Fábio Andrade - 27/04/2024 19:23

    Excelente, Carlos!

    Perdeu a 1a versão, mas já fez outra com a experiência conquistada anteriormente.

    Ótimo trabalho!