Alura > Cursos de Dados > Cursos de MLOps e Operacionalização > Conteúdos de MLOps e Operacionalização > Primeiras aulas do curso MLflow: gestão e rastreabilidade do ciclo de vida de modelos

MLflow: gestão e rastreabilidade do ciclo de vida de modelos

Apresentação e contexto - Apresentação

Apresentando a proposta do curso e o instrutor

Você já pensou em desenvolver um projeto de Machine Learning (aprendizado de máquina) no qual cada experimento fique registrado, cada métrica possa ser comparada, cada modelo tenha uma visão controlada e todo o processo possa ser reproduzido por outras pessoas do time? Não estamos falando apenas de treinar um modelo em um notebook (caderno de códigos) e salvar um arquivo com o nome modelo-final.pkl, por exemplo. Estamos falando de organizar o ciclo de vida de modelos de Machine Learning (aprendizado de máquina) com rastreabilidade, versionamento, empacotamento, serving (disponibilização) e uma visão mais próxima de MLOps (operações de aprendizado de máquina). Ficou com curiosidade? Vamos aprender MLflow na prática.

Olá! Meu nome é Everton, sou instrutor na Alura. Eu te acompanharei durante todo o processo de aprendizagem.

Audiodescrição: Eu sou um homem negro, tenho cabelo cacheado, barba grande e visto uma camiseta laranja escura e um moletom preto aberto.

Contextualizando o problema e o papel do MLflow

Neste curso, nós trabalharemos em um projeto de classificação de risco de crédito. Imagine que um time de dados precisa treinar, comparar e organizar modelos capazes de estimar a probabilidade de inadimplência de clientes. No início, pode parecer suficiente criar um notebook (caderno de códigos), treinar alguns modelos e escolher o que tiver a melhor métrica. Porém, em projetos reais surgem rapidamente perguntas importantes: qual versão dos dados foi usada nesse treinamento? Qual hiperparâmetro gerou esse resultado? Onde está o modelo treinado? Como comparar diferentes experimentos? Como registrar o melhor modelo? Como realizar o serving (disponibilização) desse modelo para inferência? E como outra pessoa do time pode reproduzir esse pipeline (fluxo de processamento)?

É nesse cenário que entra o MLflow. Ao longo do curso, nós usaremos o MLflow para organizar o ciclo de vida deste projeto, desde o primeiro experimento local até o registro do modelo. O artefato empacotado será servido via API (interface de programação de aplicações). Também construiremos uma visão de uso em equipe, com tracking (rastreamento) remoto e integração com a stack (pilha) de MLOps (operações de aprendizado de máquina).

Detalhando componentes e primeiros passos com o MLflow

Durante o curso, nós trabalharemos com Python, bibliotecas de Machine Learning (aprendizado de máquina), como scikit-learn, e, principalmente, com componentes do MLflow. Começaremos entendendo o papel do MLflow no ciclo de vida de modelos e conheceremos os conceitos de experimentos, runs (execuções), parâmetros, métricas, tags (rótulos) e artefatos.

Depois, nós configuraremos o ambiente local, exploraremos uma base de risco de crédito, treinaremos uma baseline (linha de base) e registraremos nossa primeira run (execução).

Em seguida, nós nos aprofundaremos no tracking (rastreamento) do MLflow: primeiro com registro manual e, depois, com o autolog, comparando diferentes modelos e usando a interface e a API (interface de programação de aplicações) do MLflow para buscar, filtrar e analisar runs (execuções).

Aprofundando registro de modelos, empacotamento e serving

Também organizaremos os experimentos com critérios mais claros, selecionaremos o modelo campeão e o prepararemos para o Registro de Modelos, no qual aprenderemos sobre versionamento, aliases (apelidos), promoção de modelos e ciclo de vida.

Mais adiante, estudaremos o formato MLflow Models (Modelos do MLflow), incluindo signatures (assinaturas), exemplos de entrada e uso em Python (Python), para entender como o MLflow empacota modelos de forma padronizada. Em seguida, serviremos o modelo como uma API REST (API REST), testaremos a chamada de inferência e também discutiremos o uso de Docker (Docker) para empacotar o ambiente de serving (serviço de inferência).

Por fim, estruturaremos o modelo e o projeto como um MLflow Project (Projeto do MLflow), trabalharemos com execução reprodutível e concluiremos com uma visão de tracking (rastreamento) e serving (serviço de inferência) remotos, além de artefatos, históricos na nuvem e o papel do MLflow dentro de uma stack (pilha) de MLOps (operações de ML). Ao final do curso, você terá construído um fluxo de ponta a ponta, indo do experimento local até uma visão mais operacional e colaborativa de machine learning (aprendizado de máquina).

Conduzindo o projeto, estabelecendo pré-requisitos e iniciando o curso

O projeto será nosso fio condutor ao longo de todo o curso. Trabalharemos com um pipeline (fluxo) de classificação de risco de crédito. A ideia é treinar o modelo para prever a variável de inadimplência, monitorar métricas relevantes, comparar candidatos e selecionar uma versão para prosseguir no ciclo de vida.

Em cada aula, avançaremos um checkpoint (marco) do projeto. Primeiro, criaremos a baseline (linha de base), depois enriqueceremos o registro manual. Em seguida, compararemos modelos com autolog (registro automático), escolheremos o campeão, registraremos esse modelo, o empacotaremos, o serviremos e organizaremos o projeto para uma execução reprodutível. Desse modo, o MLflow não aparece como uma ferramenta isolada, e sim como parte de um fluxo de trabalho realista em aprendizado de máquina.

Para aproveitar melhor este curso, é importante que você já tenha familiaridade com Python (Python) e com o fluxo básico de projetos de aprendizado de máquina. Também recomendamos conhecer conceitos como train-test (treino-teste), métricas de classificação, pipelines (fluxos) de pré-processamento e uso básico de scikit-learn. Não é necessário ter experiência prévia com MLflow, porque construiremos esse conhecimento passo a passo. Porém, este é um curso de nível intermediário; portanto, partiremos da premissa de que você já entende a lógica geral de treinar, avaliar e usar modelos de aprendizado de máquina.

Este curso terá um enfoque prático. Em cada aula, faremos evoluir uma parte do projeto e registraremos um novo marco no ciclo de vida do modelo. Se você deseja passar de experimentos soltos em notebooks (cadernos) para um fluxo mais organizado, rastreado e mais próximo da realidade de MLOps (operações de ML), este curso é para você. Aprenderemos, na prática, como o MLflow ajuda a rastrear experimentos, comparar modelos, versionar artefatos, empacotar soluções e preparar modelos para inferência.

Vamos começar?

Apresentação e contexto - Apresentando o problema

Apresentando o problema de reprodutibilidade

Vamos começar com uma situação bastante comum em projetos de aprendizado de máquina. Treinamos um modelo em um notebook (caderno de código), testamos alguns hiperparâmetros, aplicamos uma transformação aos dados, executamos novamente, alteramos uma métrica e salvamos um arquivo com um nome parecido com modelo_final. Depois, passamos a modelo final versão 2 e, assim, sucessivamente, criamos várias versões. Algumas semanas depois, alguém pergunta qual foi exatamente o modelo que gerou aquele resultado. O pior: como reproduzir esse resultado?

Esse tipo de problema não ocorre porque a equipe não sabe modelar, e sim porque a experimentação sem reprodutibilidade se transforma rapidamente em uma coleção de notebooks (cadernos de código), difícil de auditar. Com isso, entra o MLflow. Primeiro, vamos ver um texto sobre como funciona um ciclo de vida de aprendizado de máquina. Basicamente, o MLflow ajuda a registrar o que ocorreu em cada experimento: quais parâmetros foram usados, quais métricas foram obtidas, quais artefatos foram gerados e onde está o modelo resultante. Ao longo do curso, usaremos o MLflow como uma espécie de rastro de auditoria do projeto; ele não substitui o raciocínio de modelagem nem resolve, por si só, todos os desafios de MLOps, mas ajuda muito a transformar experimentos soltos em um fluxo mais organizado, reproduzível e colaborativo. Costumamos dizer que o MLflow é como se fosse o Git (sistema de controle de versão) para modelos de aprendizado de máquina: ali temos todo o controle, especialmente da parte de reprodutibilidade do projeto de risco de crédito.

Contextualizando o projeto e o ciclo de vida

Para tornar tudo isso mais concreto, vamos trabalhar com um projeto prático: um pipeline (fluxo de processamento) de classificação de risco de crédito. O código em si estará disponível para você estudar, mas, ao mesmo tempo, não vamos treinar a partir do zero; ele já vem treinado, estará disponível, e partiremos daí. Com o modelo já treinado, vamos apenas alterar hiperparâmetros, ajustar algumas métricas e treinar com alguns modelos, podendo incluir desde regressão logística e, assim, sucessivamente. A ideia é simular um cenário no qual queremos treinar um modelo capaz de apoiar uma decisão de risco. Em termos simples, queremos estimar se certo perfil representa maior ou menor risco dentro de um contexto de crédito.

Ao longo do curso, este projeto será nosso fio condutor. Em cada aula, evoluiremos uma parte do ciclo de vida do modelo: primeiro, vamos entender o problema e criar um baseline (linha de base); depois, rastrearemos experimentos manualmente, compararemos modelos, selecionaremos o candidato vencedor, registraremos no Model Registry, empacotaremos como MLflow Model, serviremos inferências e, por último, discutiremos uma arquitetura mais próxima de um ambiente de equipe.

Seguindo este diagrama, temos: primeiro, entender o problema; em seguida, trabalhar com nossa base de dados; depois, iniciar o rastreamento de experimentos, com a ideia de documentar e analisar os resultados; avançar para a comparação de modelos; escolher o campeão; registrar o modelo; empacotar esse modelo; servir a inferência; e, por fim, discutir a arquitetura. Percebemos que se trata de um ciclo contínuo, que prossegue nesse sentido.

Definindo critérios de sucesso e dinâmica do curso

O curso foi planejado em uma progressão do simples ao complexo. É importante observar que, neste curso, sucesso não significa apenas obter uma boa métrica. Em um projeto real, especialmente em um domínio sensível como crédito, precisamos considerar mais de uma dimensão. A primeira dimensão é a técnica: o modelo precisa ter desempenho razoável para o problema. Vamos seguir métricas de classificação e discutir como comprovar resultados. A segunda dimensão é a reprodutibilidade: outra pessoa deve conseguir entender como o resultado foi produzido. Por último, a terceira dimensão é a operacional: o modelo precisa estar registrado, versionado e empacotado de forma a permitir seu uso posterior em inferência. O MLflow nos ajudará principalmente na dimensão de rastreabilidade, organização e transição do experimento para algo mais operacional. O curso foi planejado em uma progressão do simples ao complexo.

A dinâmica será prática: em cada aula, haverá um avanço concreto no projeto. Em alguns momentos, escreveremos código; em outros, navegaremos pela interface do MLflow. Também discutiremos decisões de modelagem, organização e boas práticas.

Detalhando o cronograma das aulas

Na Aula 1, estamos construindo um mapa mental: o que é MLflow, por que importa e como se conecta ao projeto.

Na Aula 2, vamos configurar um ambiente, conhecer os dados e treinar um primeiro baseline (linha de base).

Nas Aulas 3, 4 e 5, vamos aprofundar o rastreamento de experimentos: primeiro de forma manual; depois com autolog (registro automático); comparação de runs (execuções) e escolha do modelo campeão.

Nas Aulas 6 e 7, avançaremos para registro, deploy (implantação) e empacotamento de modelos.

Na Aula 8, serviremos o modelo como API (Interface de Programação de Aplicações).

Na Aula 9, organizaremos o projeto com execução reprodutível.

Na Aula 10, fecharemos com uma visão de rastreamento remoto em cloud (nuvem) e integração com uma stack (pilha) de MLOps (operações de aprendizado de máquina).

Neste primeiro vídeo, entendemos o problema que motiva o uso do MLflow: experimentos difíceis de reproduzir, resultados difíceis de comparar e modelos difíceis de registrar. No próximo vídeo, analisaremos mais diretamente o MLflow: seus principais componentes, a ideia da primeira execução e uma primeira navegação pela interface local.

Apresentação e contexto - Projeto base

Apresentando o objetivo e contextualizando o MLflow

Agora que já entendemos o contexto do curso e o problema que queremos resolver, vamos analisar o MLflow com mais detalhes. Neste vídeo, responderemos a três perguntas: o que o MLflow resolve, quais componentes importam e como uma execução de experimentos aparece na interface.

De forma prática, podemos considerar o MLflow como uma plataforma para organizar o ciclo de vida do Machine Learning (aprendizado de máquina). Ele nos ajuda a rastrear experimentos, comparar resultados, versionar modelos e estruturar projetos reprodutíveis. Em vez de depender apenas da memória, de nomes de arquivos ou de anotações manuais, passamos a registrar informações importantes de cada execução, como parâmetros, métricas, artefatos e metadados. Esses conceitos aparecem o tempo todo quando usamos o MLflow.

Definindo experimentos e mapeando componentes do MLflow

Ao falar de MLflow, trabalhamos com dois conceitos centrais: experimento e execução. Um experimento é uma forma de agrupar execuções relacionadas. Por exemplo, podemos ter um experimento chamado Credit Risk Baseline (linha de base de risco de crédito) ou Credit Risk Model Selection (seleção de modelo de risco de crédito). Uma execução é uma execução específica: cada vez que treinamos um modelo com uma configuração, criamos uma execução. Dentro de uma execução, registramos informações como os parâmetros usados no treinamento, métricas de avaliação, artefatos como gráficos e relatórios, além do próprio modelo treinado, quando aplicável.

Na organização deste curso, estruturaremos o MLflow em quatro grandes componentes:

No nosso projeto de risco de crédito, cada componente terá um papel prático. Com o Tracking, registraremos os experimentos de treinamento e validação. Com o Model Registry, selecionaremos o melhor modelo e o registraremos com controle de versão. Com o MLflow Models, empacotaremos esse modelo para que possa ser carregado e servido de maneira padronizada. E, com o MLflow Projects, organizaremos o fluxo de trabalho como um pipeline (esteira) para que a execução não dependa apenas de um notebook (caderno interativo) aberto na máquina de uma pessoa.

Explorando a interface do MLflow e suas execuções

Agora, vamos observar rapidamente a interface do MLflow. A ideia, neste momento, não é entender todos os detalhes, e sim reconhecer a estrutura básica. Temos uma lista de experimentos e, dentro de cada experimento, uma ou mais execuções. Cada linha representa uma execução registrada.

Ao selecionar um experimento, podemos comparar as execuções associadas a ele. Em um projeto real, poderíamos ter uma execução para uma regressão logística, outra para uma árvore de decisão, outra para um Random Forest (floresta aleatória), entre outras. A interface permite observar métricas, parâmetros, tempo de execução, nome da execução e outras informações úteis para comparação.

Ao abrir uma execução específica, vemos seus detalhes. Normalmente, aparecem os parâmetros registrados, como o algoritmo usado, a profundidade máxima de uma árvore, a taxa de aprendizado, a quantidade de estimadores ou qualquer outra configuração relevante para o treinamento. Também vemos as métricas. Em um problema de classificação de risco de crédito, poderíamos acompanhar métricas como acurácia, precisão, recall (revocação), F1 score (pontuação F1) ou AUC (área sob a curva), a depender do objetivo da análise.

Além disso, uma execução pode ter artefatos. Artefatos são arquivos associados à execução, como gráficos, matriz de confusão, relatório de classificação, arquivo do modelo ou qualquer evidência que ajude a entender o experimento.

Diferenciando parâmetros, métricas e artefatos e orientando a documentação

Uma forma simples de memorizar é: parâmetros são aquilo que configuramos antes ou durante o treinamento; métricas são os resultados que obtivemos; artefatos são arquivos que ajudam a documentar ou reutilizar essa execução. Essa distinção será muito importante nas próximas aulas, principalmente quando começarmos a fazer logging (registro) manual.

Ao longo do curso, também vamos usar a Alura como apoio para consultar a documentação, revisar código, sugerir nomes de artefatos e ajudar na parte técnica. No entanto, existe uma regra importante: quando trabalhamos com ferramentas, versões de API (Interface de Programação de Aplicações) e comportamento técnico, a documentação oficial deve ser a referência principal. A IA pode ajudar a acelerar a leitura e levantar hipóteses, mas precisamos validar o que será usado no projeto.

Resumindo a aula e preparando os próximos passos

Nesta aula, nosso objetivo foi construir um mapa: entendemos um problema de rastreabilidade, conhecemos o projeto de classificação de risco de crédito e vimos como o MLflow organiza os experimentos e as execuções. Na próxima aula, vamos começar a colocar isso em prática: vamos configurar o ambiente, conhecer o dataset (conjunto de dados), definir um baseline (linha de base) e registrar nossa primeira execução no MLflow. Essa primeira execução será o ponto de partida para toda a evolução do projeto.

Para encerrar, revise a lista de verificação. Após esta aula, você deve ser capaz de explicar por que rastrear experimentos é importante, diferenciar experimentos e execuções, reconhecer parâmetros, métricas e artefatos na interface e entender como o projeto de risco de crédito guiará o curso. Com isso, temos a base conceitual para começar a parte prática na próxima aula. Lembrando que o script do risco de crédito já está disponível para que você experimente como desejar.

Sobre o curso MLflow: gestão e rastreabilidade do ciclo de vida de modelos

O curso MLflow: gestão e rastreabilidade do ciclo de vida de modelos possui 294 minutos de vídeos, em um total de 64 atividades. Gostou? Conheça nossos outros cursos de MLOps e Operacionalização em Dados, ou leia nossos artigos de Dados.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda MLOps e Operacionalização acessando integralmente esse e outros cursos, comece hoje!

Conheça os Planos para Empresas