10.2 Visão geral do MLflow
O MLflow é uma ferramenta baseada em quatro componentes principais:
MLflow Tracking: uma API e uma UI para registro (logging) de parâmetros, versões de código, métricas e artefatos em uma execução de um experimento. Esse registro permite o rastreamento e a comparação de cada execução.
MLflow Projects: um formato padronizado para empacotar e reutilizar código de machine learning utilizado normalmente para gerar modelos. Esse formato permite que qualquer pessoa consiga reproduzir a execução de um experimento em qualquer máquina.
MLflow Models: uma convenção para empacotamento de modelos de machine learning de forma a possibilitar sua execução sem a necessidade de instalação manual das ferramentas e dependências.
MLflow Registry: um armazenamento centralizado de modelos, para que os desenvolvedores possam publicar e reutilizar seus modelos.
O MLflow pode ser útil em diferentes cenários, desde cientistas de dados trabalhando individualmente até equipes maiores, pois ele oferece ferramentas úteis para diferentes tarefas. Outra característica do MLflow é sua abordagem modular. Não é necessário utilizar todos os componentes, apenas aquele ou aqueles que forem mais interessantes.
Além disso, vale destacar que existem duas versões do MLflow: a versão open source, que utilizaremos aqui, e a versão gerenciada, um serviço contratado da Databricks e que tem algumas funções adicionais.
A documentação do MLflow tem uma série de tutoriais e exemplos para compreender os conceitos básicos. Para executar os tutoriais, recomendamos os seguintes passos:
Configure o Docker e Python conforme explicado nas seções 1.3 Configuração do Ambiente - Python e 1.4 Configuração do Ambiente - Docker
Crie um ambiente virtual com o seguinte comando:
python -m venv .venv
Ative o ambiente virtual com o comando:
.venv\Scripts\Activate.ps1
ou.venv/Scripts/activate
Instale o mlflow com o comando:
pip install mlflow
Suba o servidor com o comando:
mlflow server --host 127.0.0.1 --port 8080
Recomendamos a criação de um ambiente virtual para cada tutorial, para manter o isolamento dos ambientes.
Finalmente, os tutoriais assumem que, ao executar um projeto no GitHub utilizando mlflow run
, existe um branch chamado "master". Caso não exista, basta especificar o nome do branch no parâmetro version
:
Neste momento da leitura, recomendamos o tutorial de regressão linear para um primeiro contato com o servidor de tracking do mlflow.
Last updated