Inicio rápido: Python
MLflow es una plataforma de código abierto para administrar el ciclo de vida completo del aprendizaje automático. MLflow proporciona API sencillas para registrar métricas (por ejemplo, pérdida de modelos), parámetros (por ejemplo, velocidad de aprendizaje) y modelos ajustados, lo que facilita el análisis de los resultados de entrenamiento o la implementación de modelos más adelante.
En esta sección:
- Instalación de MLflow
- Registro automático de ejecuciones de entrenamiento en MLflow
- Visualización de los resultados
- Seguimiento de métricas, parámetros y modelos adicionales
- Cuadernos de ejemplo
- Más información
Instalación de MLflow
Si usa Databricks Runtime for Machine Learning, MLflow ya está instalado. De lo contrario, instale el paquete MLflow desde PyPI.
Registro automático de ejecuciones de entrenamiento en MLflow
En Databricks Runtime 10.4 LTS ML y versiones posteriores, el registro automático de Databricks está habilitado de forma predeterminada y captura automáticamente parámetros de modelo, métricas, archivos e información de linaje al entrenar modelos desde diferentes bibliotecas de aprendizaje automático populares.
En Databricks Runtime 9.1 LTS ML, MLflow proporciona API mlflow.<framework>.autolog()
para registrar automáticamente el código de entrenamiento escrito en muchos marcos de ML. Puede llamar a esta API antes de ejecutar el código de entrenamiento para registrar métricas específicas de modelos, parámetros y artefactos de modelo.
TensorFlow
Nota:
Los modelos Keras también se admiten en 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
Si hace al ajuste con pyspark.ml
, las métricas y los modelos se registran automáticamente en MLflow.
Consulte Apache Spark MLlib y seguimiento de MLflow automatizado.
Vista de resultados
Después de ejecutar el código de aprendizaje automático, puede ver los resultados mediante la barra lateral Ejecuciones de experimentos. Consulte Visualización del experimento de cuaderno para obtener instrucciones sobre cómo ver el experimento, la ejecución y la revisión del cuaderno que se usa en el inicio rápido.
Seguimiento de métricas, parámetros y modelos adicionales
Puede registrar información adicional invocando directamente las API de registro de seguimiento de MLflow.
Métricas numéricas
import mlflow
mlflow.log_metric("accuracy", 0.9)
Parámetros de entrenamiento
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")
Otros artefactos (archivos)
import mlflow
mlflow.log_artifact("/tmp/my-file", "myArtifactPath")
Cuadernos de ejemplo
Nota:
En Databricks Runtime 10.4 LTS ML y versiones posteriores, el registro automático de Databricks está habilitado de forma predeterminada, por lo que el código de estos cuadernos de ejemplo no es necesario. Los cuadernos de ejemplo de esta sección están diseñados para su uso con Databricks Runtime 9.1 LTS ML.
La forma recomendada de empezar a usar el seguimiento de MLflow con Python es usar la API autolog()
de MLflow. Con las funciones de registro automático de MLflow, una sola línea de código registra automáticamente el modelo resultante, los parámetros usados para crearlo y una puntuación de este. En el cuaderno siguiente se muestra cómo configurar una ejecución mediante el registro automático.
Cuaderno de Python del inicio rápido de registro automático de MLflow
Si necesita controlar más aspectos de las métricas registradas para cada ejecución de entrenamiento o quiere registrar otros artefactos, como tablas o trazados, puede usar las funciones de API de registro de MLflow que se muestran en el cuaderno siguiente.