Início Rápido do Python
O MLflow é uma plataforma de fonte aberta para gerenciar o ciclo de vida de machine learning de ponta a ponta. O MLflow fornece APIs simples para registrar métricas em log (por exemplo, perda de modelo), parâmetros (por exemplo, taxa de aprendizagem) e modelos ajustados, facilitando a análise dos resultados de treinamento ou a implantação posterior de modelos.
Nesta seção:
- Instalar o MLflow
- Registrar automaticamente execuções de treinamento no MLflow
- Exibir resultados
- Acompanhar métricas, parâmetros e modelos adicionais
- Notebooks de exemplo
- Saiba mais
Instalar o MLflow
Se você estiver usando o Databricks Runtime para Machine Learning, o MLflow já estará instalado. Caso contrário, instale o pacote do MLflow obtido em PyPI.
Registrar automaticamente execuções de treinamento no MLflow
Com o Databricks Runtime 10.4 LTS ML e versões posteriores, o Databricks Autologging é habilitado por padrão e captura automaticamente parâmetros de modelo, métricas, arquivos e informações de linhagem quando você treina modelos de uma variedade de bibliotecas populares de aprendizado de máquina.
Com o Databricks Runtime 9.1 LTS ML, o MLflow fornece APIs mlflow.<framework>.autolog()
para registrar automaticamente o código de treinamento escrito em muitas estruturas de ML. Você pode chamar essa API antes de executar o código de treinamento para registrar métricas específicos de modelos, parâmetros e artefatos de modelos.
TensorFlow
Observação
Os modelos Keras também têm suporte no mlflow.tensorflow.autolog()
.
# Also autoinstruments tf.keras
import mlflow.tensorflow
mlflow.tensorflow.autolog()
XGBoost
import mlflow.xgboost
mlflow.xgboost.autolog()
LightGBM
import mlflow.lightgbm
mlflow.lightgbm.autolog()
scikit-learn
import mlflow.sklearn
mlflow.sklearn.autolog()
PySpark
Se estiver executando ajustes com pyspark.ml
, as métricas e os modelos serão registrados automaticamente no MLflow.
Confira Apache Spark MLlib e acompanhamento automatizado do MLflow.
Exibir os resultados
Após executar seu código de aprendizado de máquina, você poderá exibir os resultados usando a barra lateral de Execução experimental. Consulte Exibir experimento de notebook para obter instruções sobre como exibir o experimento, a execução e a revisão do notebook usada no início rápido.
Acompanhar métricas, parâmetros e modelos adicionais
Você pode registrar informações adicionais invocando diretamente as APIs de registro em log de Acompanhamento do MLflow.
Métricas numéricas
import mlflow
mlflow.log_metric("accuracy", 0.9)
Parâmetros de treinamento
import mlflow
mlflow.log_param("learning_rate", 0.001)
Modelos
scikit-learn
import mlflow.sklearn
mlflow.sklearn.log_model(model, "myModel")
PySpark
import mlflow.spark
mlflow.spark.log_model(model, "myModel")
XGBoost
import mlflow.xgboost
mlflow.xgboost.log_model(model, "myModel")
TensorFlow
import mlflow.tensorflow
mlflow.tensorflow.log_model(model, "myModel")
Keras
import mlflow.keras
mlflow.keras.log_model(model, "myModel")
PyTorch
import mlflow.pytorch
mlflow.pytorch.log_model(model, "myModel")
SpaCy
import mlflow.spacy
mlflow.spacy.log_model(model, "myModel")
Outros artefatos (arquivos)
import mlflow
mlflow.log_artifact("/tmp/my-file", "myArtifactPath")
Blocos de anotações de exemplo
Observação
Com o Databricks Runtime 10.4 LTS ML e superior, o Registro Automático do Databricks é habilitado por padrão, e o código nesses notebooks de exemplo não é necessário. Os notebooks de exemplo nesta seção foram projetados para uso com o Databricks Runtime 9.1 LTS ML.
A maneira recomendada de começar a usar o acompanhamento do MLflow com Python é usar a API do MLflow autolog()
. Com os recursos de registro em log automático do MLflow, uma única linha de código registra automaticamente o modelo resultante, os parâmetros usados para criá-lo e uma pontuação do modelo. O notebook a seguir mostra como configurar uma execução usando o registro em log automático.
Notebook Python de início rápido do registro em log automático do MLflow
Se você precisar de mais controle sobre as métricas registradas para cada execução de treinamento ou se quiser registrar artefatos adicionais, como tabelas ou plotagens, pode usar as funções de API de registro em log do MLflow demonstradas no notebook a seguir.