O Que É MLflow? A Plataforma Open-Source de Ciclo de Vida de ML Explicada
MLflow é uma plataforma open-source que gerencia o ciclo de vida de machine learning: experiment tracking, runs reproduzíveis, empacotamento de modelos e um model registry.
MLflow é uma das ferramentas de MLOps mais adotadas. Ele é modular: você pode usar apenas seu experiment tracking, ou também seu empacotamento de modelos e registry. Por ser agnóstico de framework e open source, ele se encaixa em quase qualquer stack de ML e integra de forma limpa com CI/CD.
O que é MLflow
MLflow é uma plataforma open-source para gerenciar o ciclo de vida de ML. Seus principais componentes são o Tracking (registrar parâmetros, métricas e artifacts por run), o Models (um formato de empacotamento padrão), o Model Registry (versionamento e stages) e o Projects (definições de run reproduzíveis).
MLflow Tracking
O componente Tracking registra cada run com seus parâmetros, métricas e artifacts, visualizáveis em uma UI para comparação. Algumas chamadas de logging no seu código de treino transformam um run ad hoc em um experimento armazenado e comparável.
Models e registry
O MLflow Models empacota um modelo treinado em um formato padrão que pode ser servido em muitos ambientes. O Model Registry então versiona esses modelos, rastreia stages como Staging e Production, e fornece o ponto de handoff entre treino e deploy.
MLflow no CI/CD
Um job de treino no CI registra o run, e uma avaliação bem-sucedida registra o modelo, para que a melhor versão esteja sempre disponível para o pipeline de deploy.
import mlflow
with mlflow.start_run():
mlflow.log_metric("auc", auc)
mlflow.sklearn.log_model(model, "model",
registered_model_name="fraud-model")Nota Latchkey
MLflow roda em Python e faz upload de artifacts de modelo para um servidor de tracking ou object store. No Latchkey, cachear o ambiente Python e os dados de treino acelera cada run, e o auto-retry cobre uma falha transitória ao registrar artifacts no backend do MLflow.
Principais conclusões
- MLflow é uma plataforma open-source para rastrear, empacotar, registrar e reproduzir trabalho de ML.
- Seus componentes - Tracking, Models, Registry, Projects - podem ser usados juntos ou de forma independente.
- No CI, o MLflow registra cada run de treino e registra o modelo vencedor para o pipeline de deploy.