Cinco problemas diários que o MLFlow resolve

Na Xpand IT, temos muito orgulho no nosso workflow XP4DS e gostamos de nos rodear de ferramentas que tornem o nosso trabalho mais simples e os nossos resultados melhores. Entre essas ferramentas, existe um local especial para o MLFlow.

Se ainda não ouviu falar do MLFlow, está na altura de conectar o seu modem do séc. XX porque está na altura de se familiarizar com o mundo tecnológico!

MLFlow é uma ferramenta open-source que ajuda a fazer a gestão do ciclo de vida de uma experiência de machine learning desde o treino do primeiro modelo até ao modelo incrível que seguirá para produção e resolverá todos os problemas.

MLFlow abrange 3 grandes tópicos:

  • Tracking: guarda e faz queries sobre experiências (código, dados, configurações e resultados);
  • Projects: package para reproduzires experiências em qualquer plataforma;
  • Models: formato geral para fazer o deployment de modelos.

O MLFlow é agnóstico de qualquer biblioteca. Funciona com qualquer biblioteca de machine learning e em qualquer linguagem de programação sendo que todas as suas funções são acessíveis através de uma REST API e de CLI. O projeto também inclui uma Python API, R API e Java API.

1. Lembra-se com precisão do ROC AUC? (Métricas+ Log de Parâmetros)

Acontece aos melhores. Durante a primeira iteração obtemos um modelo com boas métricas de validação. Continuamos a iterar o modelo, esperançosos de que iremos encontrar um melhor conjunto de hiper parâmetros quando nos apercebemos que o melhor modelo era mesmo o primeiro. Ao fim de horas a queimar pestanas, é impossível lembrarmos-nos da primeira combinação de hiper parâmetros. Mas não mais! O MLFlow vem acabar com este problema. Com o registo de modelos, é possível encontrar num local toda a informação sobre esses mesmo modelos. Desde métricas de validação a hiper parâmetros, é até possível acrescentar tags personalizadas. Na API, é ainda possível comparar todos os modelos treinados e ordena-los por qualquer métrica ou tag à nossa escolha.

2. Funciona no seu computador ¯_(ツ)_/¯ (Log de Modelos + Ambiente de Trabalho)

Enquanto Data Scientist, criamos um modelo incrível que resolve todos os problemas. No entanto, quando o fazemos chegar aos nossos colegas, o mesmo não funciona. Pode ser uma biblioteca que precisa de ser atualizada ou simplesmente algum bruxedo que está a acontecer no background. Mais uma vez, MLFlow salva o dia! Paralelo ao registo de métricas, é possível guardar o modelo (treinado), o conda environment, e qualquer outro ficheiro que achemos importante. Desta maneira, os nossos colegas não terão qualquer problema em replicar a nossa experiência.

3. Para além das experiências (Registo de Modelos)

Da mesma maneira que é possível fazer o log de modelos a cada experiência, cada modelo que esteve em produção pode também ser guardado. Através da UI do MLFlow é possível aceder a todas as versões do modelo que está em deployment. Ainda mais importante, quando escolhemos o melhor modelo para produção, é possível regista-lo de forma a que toda a equipa saiba que é aquele o modelo que seguirá para staging e produção.

4. Não existe espaço para Lone Wolves no MLFlow (Trabalho de Equipa)

MLFlow leva o termo “trabalho de equipa” até ao próximo nível aumentando tanto o trabalho dentro da equipa e entre equipas. Para a equipa de Data Science, cada membro pode submeter e ver os modelos submetidos por cada membro, fazer comparações entre modelos e importar modelos dos colegas. Enquanto equipa, podem também colocar em staging o modelo que acham melhor para produção. Estes terão de ser aprovados e validados pela equipa responsável por essas tarefas. Com isto, todo o pipeline de DS está presente no MLFlow.

5. Modelo está pronto! (Deployment para Produção)

O fim está próximo. Vê a luz ao fundo do túnel e todo aquele trabalho está prestes a ser recompensado. Só falta fazer o deployment do modelo e, mais uma vez, o MLFlow tem a solução. Com MLFlow Models estamos preparados para enviar o modelo treinado para deployment em qualquer plataforma. Isto, combinado com a ferramenta de logging, cria a ferramenta perfeita para uma monitorização constante da performance dos modelos ao longo do tempo para que seja possível alterar o modelo, caso necessário!

Conclusão

Como se tornou evidente, o MLFlow é uma ferramenta que procura resolver (e com grande sucesso) muitos dos problemas que o Data Scientist enfrenta durante a sua rotina diária de trabalho. Desde o primeiro momento em que treinamos um modelo ao momento em que este entra em produção, o MLFlow é uma ferramenta com a qual podemos contar para tornar todo o processo de Data Science muito mais fácil. Sendo open source, o MLFlow é uma ferramenta que evolui a cada dia que passa e uma ferramenta essencial para o Data Scientist do século XXI!

Nuno ChicóriaCinco problemas diários que o MLFlow resolve

Read more in

Data Science

Do you want to receive amazing news about the IT industry's hot topics and the best articles about state-of-the-art technology?
Subscribe to our newsletter and be the first one to receive information to keep you constantly on edge.