Seguimiento del desarrollo de modelos mediante MLflow

Este artículo contiene ejemplos de seguimiento del desarrollo de modelos en Azure Databricks. Registrar y realizar un seguimiento de los modelos de aprendizaje automático y aprendizaje profundo automáticamente con MLflow o manualmente con la API de MLflow.

Seguimiento de modelos y MLflow

El proceso de desarrollo de modelos es iterativo y es posible que sea difícil hacer un seguimiento de su trabajo a medida que desarrolla y optimiza un modelo. En Azure Databricks, puede usar el seguimiento de MLflow, lo que le ayuda a hacer un seguimiento del proceso de desarrollo de modelo, lo que incluye los valores de los parámetros o combinaciones de los mismos que ha probado y cómo ha afectado al rendimiento del modelo.

El seguimiento de MLflow usa experimentos y ejecuciones para registrar y hacer un seguimiento del desarrollo de los modelos de aprendizaje automático y aprendizaje profundo. Una ejecución es una ejecución individual del código del modelo. En las ejecuciones de MLflow, puede registrar los parámetros y los resultados de los modelos. Un experimento es una colección de ejecuciones relacionadas. En un experimento, puede comparar y filtrar ejecuciones para comprender cómo funciona el modelo y cómo su rendimiento depende de la configuración de los parámetros, de los datos de entrada, etc.

En los cuadernos de este artículo encontrará ejemplos simples que pueden ayudarle en sus comienzos con MLflow para hacer un seguimiento al desarrollo de modelos. Para más información sobre el uso del seguimiento de MLflow en Azure Databricks, consulte el artículo sobre el seguimiento de las ejecuciones de entrenamiento del aprendizaje automático y aprendizaje profundo.

Nota:

El seguimiento de MLflow no admite trabajos enviados con spark_submit_task en la API de trabajos. En su lugar, puede usar proyectos de MLflow para ejecutar el código de Spark.

Uso del registro automático para realizar un seguimiento del desarrollo de modelos

MLflow puede registrar automáticamente el código de entrenamiento escrito en muchas plataformas de aprendizaje automático y aprendizaje profundo. Esta es la manera más fácil de empezar a usar el seguimiento de MLflow.

En este cuaderno de ejemplo se muestra cómo usar el registro automático con scikit-learn. Para obtener información sobre el registro automático con otras bibliotecas de Python, consulte el apartado Registro automático de las ejecuciones de entrenamiento en MLflow.

Cuaderno de Python de registro automático de MLflow

Obtener el cuaderno

Uso de la API del registro para hacer un seguimiento del desarrollo de modelos

En este cuaderno se muestra cómo usar la API de registro de MLflow. El uso de la API de registro le proporciona más control sobre las métricas registradas y le permite registrar artefactos adicionales, como tablas o trazados.

En este cuaderno de ejemplo se muestra cómo usar la API de registro de Python. MLflow también tiene API de REST, R y Java.

Cuaderno de Python de la API de registro de MLflow

Obtener el cuaderno

Ejemplo de un extremo a otro

El cuaderno de este tutorial presenta un ejemplo completo del entrenamiento de un modelo en Azure Databricks, en el que se incluye la carga y visualización de datos, la configuración de una optimización de hiperparámetros paralela y el uso de MLflow para revisar los resultados, registro el modelo y realizar la inferencia en los nuevos datos mediante el modelo registrado en un UDF de Spark.

Requisitos

Databricks Runtime ML

Cuaderno de ejemplo

Cuaderno de ejemplo completo de MLflow

Obtener el cuaderno