Acompanhe e visualize métricas de modelo com MLflow

Concluído

Rastreie, monitore e analise execuções depois de enviar um trabalho de aprendizado de máquina com o Azure Machine Learning e o MLflow.

Como cientista de dados, você tentará melhorar o desempenho de um modelo experimentando e executando vários scripts de treinamento. Para controlar facilmente quais parâmetros foram usados ao treinar o modelo e quais são as métricas de desempenho resultantes de um modelo, você pode integrar a plataforma MLflow em seu script de treinamento. Após o treinamento, você pode exibir facilmente todas as entradas e saídas no Estúdio de Aprendizado de Máquina do Azure.

Você aprenderá como registrar métricas com MLflow ao enviar um trabalho com a CLI do Azure ML (v2).

Entenda o MLflow

O MLflow é uma plataforma de código aberto, projetada para gerenciar todo o ciclo de vida do aprendizado de máquina. Como é de código aberto, pode ser usado quando modelos de treinamento em diferentes plataformas. Aqui, exploraremos como podemos integrar o MLflow com trabalhos do Azure Machine Learning.

Há duas opções para rastrear trabalhos de aprendizado de máquina com MLflow:

  • Habilite o registro automático usando mlflow.autolog()
  • Use funções de registro para rastrear métricas personalizadas usando mlflow.log_*

Antes de usar qualquer uma dessas opções, você precisa configurar o ambiente para usar o MLflow.

Incluir MLflow no ambiente

Para usar o MLflow durante o trabalho de treinamento, os pacotes e azureml-mlflow pip precisam ser instalados na computação que executa o mlflow script. Portanto, você precisa incluir esses dois pacotes no ambiente. Você pode criar um ambiente referindo-se a um arquivo YAML que descreve o ambiente Conda. Como parte do ambiente Conda, você pode incluir esses dois pacotes.

Por exemplo, neste ambiente mlflow personalizado e azureml-mlflow são instalados usando pip:

name: mlflow-env
channels:
  - conda-forge
dependencies:
  - python=3.8
  - pip
  - pip:
    - numpy
    - pandas
    - scikit-learn
    - matplotlib
    - mlflow
    - azureml-mlflow

Uma vez que o ambiente é definido e registrado, certifique-se de consultá-lo ao enviar um trabalho.

Ativar registro automático

Ao trabalhar com uma das bibliotecas comuns para aprendizado de máquina, você tem a opção de habilitar o registro automático no MLflow. O registro automático registrará parâmetros, métricas e modelos sem que ninguém precise especificar o que precisa ser registrado.

O registro automático é suportado para as seguintes bibliotecas:

  • Scikit-learn
  • TensorFlow e Keras
  • XGBoost
  • LightGBM
  • Spark
  • Fastai
  • Pytorch

Para habilitar o registro automático, adicione o seguinte código ao seu script de treinamento:

import mlflow

mlflow.autolog()

Registrar métricas com MLflow

Em seu script de treinamento, você pode decidir qual métrica deseja registrar com o MLflow.

Dependendo do tipo de valor que você deseja registrar, use o comando MLflow para armazenar a métrica com a execução do experimento:

  • mlflow.log_param(): Registrar o parâmetro key-value único. Use essa função para um parâmetro de entrada que você deseja registrar.
  • mlflow.log_metric(): Registre uma única métrica chave-valor. O valor deve ser um número. Use esta função para qualquer saída que você deseja armazenar com a execução.
  • mlflow.log_artifact(): Registre um arquivo. Use esta função para qualquer gráfico que você deseja registrar, salve como arquivo de imagem primeiro.

Para adicionar MLflow a um script de treinamento existente, você pode adicionar o seguinte código:

import mlflow

reg_rate = 0.1
mlflow.log_param("Regularization rate", reg_rate)

Gorjeta

Para obter uma visão geral completa de como usar o MLflow Tracking, leia a documentação do MLflow.

Exibir as métricas no Azure Machine Learning Studio

Quando o trabalho for concluído e o script de treinamento tiver sido executado com êxito, você poderá exibir as métricas registradas no Estúdio de Aprendizado de Máquina do Azure.

Para visualizar as métricas:

  1. Abra o Estúdio navegando até https://ml.azure.com.
  2. Encontre sua experiência executada e abra-a para ver seus detalhes.
  3. Na guia Detalhes, todos os parâmetros registrados serão exibidos em Params.
  4. Selecione a guia Métricas e selecione a métrica que deseja explorar.
  5. Todos os gráficos registrados como artefatos podem ser encontrados em Imagens.
  6. Os ativos de modelo que podem ser usados para registrar e implantar o modelo são armazenados na pasta models em Saídas + logs.

Gorjeta

Leia a documentação para saber mais sobre como rastrear modelos com MLflow.