Pular para o conteúdo principal

Otimize seu fluxo de trabalho de machine learning com MLflow

Entenda a fundo o que é o MLflow e como aproveitar esta plataforma open source para rastrear e implantar seus experimentos de machine learning.
Atualizado 17 de set. de 2026  · 12 min lido

Explorar com IA

ChatGPTClaudePerplexity

MLOps é uma parte essencial do machine learning porque ajuda a automatizar o treinamento e a implantação de modelos. Essa automação acelera o desenvolvimento e garante que os modelos sejam colocados em produção da forma correta. O MLOps também permite monitorar a performance dos modelos e identificar, de forma proativa, problemas que podem surgir em produção.

O cenário de MLOps em 2022 reúne diversas ferramentas e serviços que ajudam organizações a automatizar a construção, o treinamento e a implantação de modelos de machine learning. Essas ferramentas e serviços foram pensados para funcionar juntos, tornando o processo de MLOps mais eficiente e fácil de gerenciar. O MLflow é uma dessas ferramentas importantes que vamos explorar neste post.

MLflow é uma plataforma open source para todo o ciclo de vida de machine learning. Ela permite que cientistas de dados rastreiem seus experimentos, reproduzam execuções e sirvam seus modelos como endpoints. Neste artigo, vamos nos aprofundar no que é o MLflow e como você pode aproveitar essa plataforma incrível e aberta para rastrear e implantar seus experimentos de machine learning.

Se quiser se aprofundar em MLOps, confira nosso tutorial de Machine Learning, pipelines, deployment e MLOps.

O que é MLflow

MLflow é uma plataforma open source para gerenciar o ciclo de vida de machine learning de ponta a ponta. Ele oferece um hub central para rastrear experimentos, compartilhar código e modelos, e implantar modelos em produção. O MLflow também inclui diversos algoritmos e pacotes integrados para kits populares de ML. Ele tem quatro funções principais:

  • MLflow Tracking. Acompanha experimentos de machine learning para registrar, analisar e comparar resultados e parâmetros.
  • MLflow Projects. Empacota o código de machine learning em um formato reutilizável que pode ser reproduzido para compartilhar com outros cientistas de dados ou migrado para produção.
  • MLflow Models. Gerencia e implanta modelos oriundos de várias bibliotecas de ML em diferentes plataformas de serving e inferência, como a Amazon SageMaker.
  • MLflow Model Registry. Fornece um repositório centralizado para gerenciar colaborativamente todo o ciclo de vida de um modelo MLflow, incluindo versionamento, mudanças de estágio e anotações.

Componentes do MLflow

Fonte da imagem: https://www.databricks.com/wp-content/uploads/2021/02/mlflow-components2.png

O MLflow não é vinculado a uma única biblioteca. Como todas as funções podem ser acessadas por uma API REST e pela linha de comando, você pode usá-lo com qualquer biblioteca de machine learning e em qualquer linguagem de programação. O projeto já incorpora APIs em Python, R e Java para facilitar sua vida.

Conceitos-chave no MLflow

MLflow Tracking

Ao executar código de machine learning, o componente MLflow Tracking fornece uma API e uma interface gráfica (UI) para registrar parâmetros, versões de código, métricas e arquivos de saída. Depois, você pode visualizar esses resultados. Com o MLflow Tracking, também é possível registrar e consultar experimentos usando Python, REST, R API e Java API.

O MLflow Tracking é organizado em torno do conceito de runs. Cada run registra informações e metadados essenciais, como horários de início e fim, arquivo de origem, parâmetros, artefatos, métricas, tags etc. 

Você pode registrar runs usando as APIs de Python, R ou Java do MLflow a partir de qualquer lugar, independentemente de onde seu código esteja sendo executado. Dá para fazer isso em um programa standalone, em uma máquina remota na nuvem ou em um notebook interativo. 

Da mesma forma, você pode organizar runs em experimentos, que são coleções de runs agrupadas com um propósito específico. Entre as opções para criar um experimento estão a interface de linha de comando (CLI), o método mlflow.create_experiment() ou a API REST. Usuários também podem criar experimentos pela UI do MLflow.

Se precisar, você pode salvar os registros dos runs do MLflow localmente em arquivos, enviá-los para um banco compatível com SQLAlchemy ou fazer upload para um servidor de tracking remoto. A API Python do MLflow registra runs localmente em arquivos no diretório mlruns do local onde seu programa foi executado. Esse é o comportamento padrão. Em seguida, você pode visualizar os runs registrados iniciando o aplicativo mlflow ui.

Exemplo de arquitetura do uso local do MLflow

Fonte da imagem: https://mlflow.org/docs/latest/_images/scenario_1.png

MLflow Projects

MLflow Projects são uma forma de estruturar seu código de machine learning de modo reutilizável e reproduzível. Você pode usar projects com qualquer biblioteca de ML e ambiente de desenvolvimento. Cada project é composto por um diretório contendo um arquivo MLproject, que descreve o ambiente e os parâmetros do projeto, além de um conjunto de arquivos com o código de ML.

O MLflow atualmente suporta os seguintes tipos de ambientes de projeto:

  • Ambiente Conda, 
  • Ambiente Virtualenv, 
  • Container Docker, 
  • Ambiente do sistema.

Adicionando um arquivo MLproject, que é simplesmente um arquivo YAML, você ganha controle mais granular sobre o projeto MLflow. Abaixo está um exemplo de arquivo MLproject:

Arquivo MLproject

Fonte: https://mlflow.org/docs/latest/projects.html#overview

Quando o projeto não contém um arquivo MLproject, o MLflow assume algumas convenções padrão, como:

  • O nome do projeto é o nome do diretório.
  • O ambiente Conda é usado e especificado no arquivo conda.yaml, que deve estar no mesmo diretório.
  • Qualquer arquivo .py ou .sh pode ser o entry point.
  • Por padrão, entry points não têm parâmetros.

Arquitetura de MLflow Projects

Fonte da imagem

MLflow Models

Um MLflow Model é um formato padronizado para empacotar modelos de machine learning que podem ser usados por várias ferramentas ao longo do pipeline. Isso inclui desde serving em tempo real via API REST até processos de inferência em lote. MLflow Model é um dos componentes-chave do MLflow. Ele define um protocolo para salvar um modelo em diferentes "flavors", cada um compreendido por um conjunto específico de ferramentas downstream.

Cada MLflow Model é, na prática, um diretório que armazena arquivos diversos junto com um arquivo MLmodel na raiz, que pode definir vários flavors nos quais o modelo pode ser interpretado. Esse conjunto de arquivos é chamado coletivamente de MLflow Model.

A força dos MLflow Models está no uso de flavors, que funcionam como um padrão para as ferramentas de deployment entenderem o modelo. Isso permite que desenvolvedores criem ferramentas capazes de interagir com modelos de qualquer biblioteca de ML sem ter que integrar cada ferramenta a cada biblioteca. Um flavor "padrão" suportado por todas as ferramentas de deployment nativas do MLflow é o "Python Function", que descreve como executar o modelo como uma função Python.

Exemplo de diretório de MLflow Models usando o flavor do Scikit-learn:

Exemplo de diretório de MLflow Models

Fonte da imagem: https://mlflow.org/docs/latest/models.html

O MLflow dá suporte nativo às seguintes bibliotecas (como flavors de modelo):

  • Scikit-learn
  • TensorFlow
  • PyTorch
  • Keras
  • Spark MLlib
  • XGBoost
  • LightGBM
  • CatBoost
  • Spacy
  • Fastai
  • Statsmodels
  • Prophet
  • Função Python (genérico)
  • Função R (genérico)
  • Veja a lista completa aqui

MLflow Model Registry

O MLflow Model Registry é um repositório central para armazenar e versionar modelos de ML. Ele permite rastrear a linhagem de modelos, comparar versões e realizar deploy.

O componente MLflow Model Registry oferece um conjunto de APIs e uma interface para gerenciar colaborativamente todo o ciclo de vida de um MLflow Model.

Para acessar o model registry via interface do usuário (UI) ou API, é necessário usar um backend store com banco de dados se você quiser utilizar o Model Registry.

Registrando um modelo pela UI do MLflow:

Registrando modelo usando a UI do MLflow
Fonte da imagem: https://mlflow.org/docs/latest/model-registry.html#concepts

MLflow Pipelines (experimental)

MLflow Pipelines é um recurso novo e ainda está em modo experimental.

O desenvolvimento e a colocação em produção de aplicações de machine learning ficam mais simples e padronizados com o MLflow Pipelines, um framework opinativo para estruturar fluxos de trabalho de MLOps. Com ele, cientistas de dados ganham mais tempo para criar modelos de alta qualidade, seguindo boas práticas para entregar soluções prontas para produção. 

O MLflow Pipelines também facilita que engenheiros de ML e times de DevOps incorporem esses modelos em apps e os liberem em produção de forma fluida.

O MLflow Pipelines oferece templates de pipeline com qualidade de produção para problemas típicos de machine learning, como regressão e classificação, e operações de MLOps, como scoring em lote. Os pipelines são estruturados como repositórios git, com arquivos de configuração em YAML e código Python. Isso oferece uma abordagem declarativa para construir aplicações de ML, reduzindo código boilerplate.

O MLflow Pipelines também implementa um executor ciente de cache para as etapas do pipeline. Assim, as etapas só são executadas quando há mudanças no código ou na configuração correspondente. Com isso, cientistas de dados, engenheiros de ML e times de DevOps conseguem iterar muito rapidamente em suas áreas. Além disso, a execução de pipelines e a inspeção de seus resultados podem ser feitas via APIs e pela interface de linha de comando (CLI) do MLflow.

Implantar modelos de machine learning em produção parece simples com as ferramentas modernas, mas muitas vezes acaba decepcionando quando o modelo performa pior em produção do que no desenvolvimento. 


Se você quer aprender a desenhar fluxos de trabalho de machine learning em Python que resistem ao tempo, confira nosso curso Designing Machine Learning Workflows in Python.

MLflow vs. Kubeflow

Agora que você já entendeu o que é o MLflow, vamos responder a uma pergunta bem comum na área: qual é a diferença entre MLflow e Kubeflow?

Primeiro, o que é Kubeflow?

Kubeflow é um projeto open source que reúne um conjunto curado de ferramentas e frameworks. O principal objetivo do Kubeflow é facilitar o desenvolvimento, a implantação e a gestão de fluxos de trabalho de machine learning portáteis e escaláveis. 

O Kubeflow é construído sobre o Kubernetes, uma plataforma open source para execução e orquestração de containers. O Kubernetes foi projetado para rodar de forma consistente em diferentes ambientes, o que é fundamental para o funcionamento do Kubeflow. 

Para saber mais sobre Kubeflow, leia nosso tutorial detalhado sobre Kubeflow.

Ao comparar MLflow e Kubeflow, a única semelhança é que ambos são open source — mas atendem a necessidades bem diferentes. Kubeflow é um sistema de orquestração de containers para desenvolver, implantar e gerenciar aplicações de ML no Kubernetes. Já o MLflow é uma biblioteca Python para rastreamento de experimentos e versionamento/deploy de modelos, independentemente do ambiente de orquestração. 

Tutorial de MLflow

Usar o MLflow é muito fácil. Bastam algumas linhas para integrar o logging do MLflow ao seu código existente. Antes, você precisa instalar o MLflow com o pip.

# install mlflow

pip install mlflow

Vamos criar um script Python simples para treinar um modelo de regressão logística e registrar a métrica e o modelo com o MLflow. Este é um exemplo oficial do MLflow, reproduzido daqui.

import numpy as np

from sklearn.linear_model import LogisticRegression

import mlflow

import mlflow.sklearn

if __name__ == "__main__":

    X = np.array([-2, -1, 0, 1, 2, 1]).reshape(-1, 1)

    y = np.array([0, 0, 1, 1, 1, 0])

    lr = LogisticRegression()

    lr.fit(X, y)

    score = lr.score(X, y)

    print("Score: %s" % score)

    mlflow.log_metric("score", score)

    mlflow.sklearn.log_model(lr, "model")

    print("Model saved in run %s" % mlflow.active_run().info.run_uuid)

SAÍDA:

>>> Score: 0.6666666666666666

>>> Model saved in run 9def2bd1c55b4f0985aa5c050b8f71cd

Você pode iniciar a UI do MLflow digitando "mlflow ui" no terminal da linha de comando, no mesmo diretório em que está seu arquivo Python.

mlflow ui

Depois, acesse https://localhost:5000 e você verá esta página:

UI do MLflow

Perceba que há apenas um registro — o modelo que treinamos e registramos no script acima. Clique no nome para ver a página detalhada:

UI do MLflow detalhada

CAPACITE-SE AGORA! 

INSCREVA-SE HOJE na trilha Machine Learning Scientist with Python 

Domine as habilidades essenciais para conquistar uma vaga como cientista de machine learning. Você vai ampliar seu repertório em Python com a caixa de ferramentas para aprendizado supervisionado, não supervisionado e deep learning. Você vai aprender:

  • Como processar dados para criação de features, 
  • Como treinar modelos de machine learning, 
  • Ajuste de hiperparâmetros
  • Processamento de linguagem natural (NLP)
  • Processamento de imagens
  • Bibliotecas populares como Spark e Keras

Conclusão

MLflow é uma plataforma open source e uma ótima ferramenta para gerenciar o ciclo de vida completo de machine learning. Ele foi criado pela Databricks, empresa por trás do popular Apache Spark, e foi projetado para funcionar com qualquer biblioteca, algoritmo ou linguagem de ML.

O MLflow oferece diversos benefícios para desenvolvedores de ML e cientistas de dados. Ele centraliza o acompanhamento de experimentos e o gerenciamento de projetos de ML. Isso favorece a colaboração, pois permite que diferentes membros do time vejam o que os outros estão fazendo e comparem resultados. 

O MLflow pode automatizar o fluxo de trabalho de ML, do pré-processamento de dados ao treinamento e ao deploy do modelo. Isso economiza tempo e esforço e facilita a reprodução de resultados.

No geral, o MLflow é uma ferramenta valiosa para gerenciar projetos de machine learning. Ele ajuda você a rastrear experimentos, automatizar o workflow e otimizar modelos. Se você trabalha com projetos de ML, vale muito a pena conhecer o MLflow.

Se você quer se capacitar e entender os fundamentos de Machine Learning e sua aplicação no mundo dos negócios, confira nosso curso Machine Learning for Business na DataCamp.

Tópicos
Aprendizado de máquina

Cursos de machine learning

Curso

Projetando Workflows de Machine Learning em Python

4 h
12.7K
Aprenda a criar pipelines robustos e duradouros, prontos para evoluir com o tempo.
Ver detalhesRight Arrow
Iniciar Curso
Ver maisRight Arrow
Relacionado

blog

O que é aprendizado de máquina on-line?

Online ML: Aprende de forma adaptativa a partir de pontos de dados em tempo real, fornecendo previsões oportunas e precisas em ambientes ricos em dados.
Abid Ali Awan's photo

Abid Ali Awan

5 min

A tiny computer used for ML

blog

O que é o TinyML? Uma introdução ao aprendizado de máquina minúsculo

Saiba mais sobre o TinyML, seus aplicativos e benefícios, e como você pode começar a trabalhar com esse campo emergente de aprendizado de máquina.
Kurtis Pykes 's photo

Kurtis Pykes

8 min

blog

8 modelos de aprendizado de máquina explicados em 20 minutos

Descubra tudo o que você precisa saber sobre os tipos de modelos de aprendizado de máquina, inclusive para que eles são usados e exemplos de como implementá-los.
Natassha Selvaraj's photo

Natassha Selvaraj

15 min

Tutorial

O guia completo para machine learning na AWS com o Amazon SageMaker

Este tutorial abrangente ensina você a usar o AWS SageMaker para criar, treinar e implantar modelos de machine learning. Nós guiamos você por todo o fluxo de trabalho, desde a configuração do seu ambiente AWS e a criação de uma instância de notebook do SageMaker até a preparação de dados, modelos de treinamento e sua implementação como endpoints.

Tutorial

Tutorial do DeepChecks: Automatizando os testes de machine learning

Saiba como realizar a validação de dados e modelos para garantir um desempenho robusto de machine learning usando nosso guia passo a passo para automatizar testes com o DeepChecks.
Abid Ali Awan's photo

Abid Ali Awan

12 min

Tutorial

Árvores de decisão em aprendizado de máquina usando o R

Um guia abrangente para criar, visualizar e interpretar modelos de árvore de decisão com o R.
Arunn Thevapalan's photo

Arunn Thevapalan

15 min

Ver MaisVer Mais