Compartir a través de


MLflow y Azure Machine Learning

SE APLICA A:Extensión ML de la CLI de Azure v2 (actual)SDK de Python azure-ai-ml v2 (actual)

En este artículo se describen las funcionalidades de MLflow, un marco de código abierto diseñado para administrar el ciclo de vida completo de aprendizaje automático. MLflow usa un conjunto coherente de herramientas para entrenar y servir modelos en distintas plataformas. Puede usar MLflow si los experimentos se ejecutan localmente o en un destino de proceso remoto, una máquina virtual o una instancia de proceso de Azure Machine Learning.

Las áreas de trabajo de Azure Machine Learning son compatibles con MLflow, lo que significa que puede usar un área de trabajo de Azure Machine Learning de la misma manera que usa un servidor MLflow. Esta compatibilidad tiene las siguientes ventajas:

  • Azure Machine Learning no hospeda instancias de servidor de MLflow, pero puede usar las API de MLflow directamente.
  • Puede usar un área de trabajo de Azure Machine Learning como servidor de seguimiento para cualquier código de MLflow, tanto si se ejecuta en Azure Machine Learning como si no. Solo tiene que configurar MLflow para que apunte al área de trabajo donde debe producirse el seguimiento.
  • Puede ejecutar cualquier rutina de entrenamiento que use MLflow en Azure Machine Learning sin realizar ningún cambio.

Sugerencia

A diferencia del SDK de Azure Machine Learning v1, no hay ninguna funcionalidad de registro en el SDK de Azure Machine Learning v2. Puede usar el registro de MLflow para asegurarse de que las rutinas de entrenamiento son independientes de la nube, portátiles y no tienen ninguna dependencia en Azure Machine Learning.

¿Qué es el seguimiento?

Cuando trabaje con trabajos, Azure Machine Learning realizará un seguimiento automático de cierta información sobre los experimentos, como el código, el entorno y los datos de entrada y salida. Sin embargo, los modelos, los parámetros y las métricas son específicos del escenario, por lo que los creadores de modelos deben configurar su seguimiento.

Los metadatos de seguimiento guardados varían en función del experimento y pueden incluir:

  • Código
  • Detalles del entorno, como la versión del sistema operativo y los paquetes de Python
  • Datos de entrada
  • Configuración de parámetros
  • Modelos
  • Métricas de evaluación
  • Visualizaciones de evaluación, como las matrices de confusión y los trazados de importancia
  • Resultados de la evaluación, lo que incluye algunas predicciones de evaluación

Ventajas de los experimentos de seguimiento

Tanto si entrena modelos con trabajos en Azure Machine Learning como de forma interactiva en cuadernos, el seguimiento de experimentos le ayuda a:

  • Organizar todos los experimentos de aprendizaje automático en un solo lugar. Luego, puede buscar y filtrar experimentos y explorar en profundidad para ver detalles sobre los experimentos anteriores.
  • Compare experimentos, analice los resultados y depure el entrenamiento de modelos con facilidad.
  • Reproducir o volver a ejecutar experimentos para validar los resultados.
  • Mejore la colaboración, ya que puede ver lo que hacen otros compañeros de equipo, compartir resultados de experimentos y acceder a los datos del experimento mediante programación.

Seguimiento con MLflow

Las áreas de trabajo de Azure Machine Learning son compatibles con MLflow. Esta compatibilidad significa que puede usar MLflow para realizar un seguimiento de ejecuciones, métricas, parámetros y artefactos en áreas de trabajo sin necesidad de cambiar las rutinas de entrenamiento ni insertar ninguna sintaxis específica de la nube. Para aprender a usar MLflow para realizar el seguimiento de experimentos y ejecuciones en áreas de trabajo de Azure Machine Learning, consulte Seguimiento de experimentos y modelos con MLflow.

Azure Machine Learning usa el seguimiento de MLflow para registrar métricas y almacenar artefactos para los experimentos. Cuando está conectado a Azure Machine Learning, todo el seguimiento de MLflow se materializa en el área de trabajo en la que trabaja.

Para aprender a habilitar el registro para supervisar las métricas de ejecución en tiempo real con MLflow, consulte Métricas de registro, parámetros y archivos con MLflow. También puede consultar y comparar experimentos y ejecuciones con MLflow.

MLflow en Azure Machine Learning proporciona una manera de centralizar el seguimiento. Es posible conectar MLflow a áreas de trabajo de Azure Machine Learning, incluso aunque se esté trabajando localmente o en otra nube. El área de trabajo de Azure Machine Learning proporciona una ubicación centralizada, segura y escalable para almacenar métricas y modelos de entrenamiento.

MLflow en Azure Machine Learning puede:

Seguimiento con MLflow en R

La compatibilidad con MLflow en R tiene las siguientes limitaciones:

  • El seguimiento de MLflow se limita a realizar el seguimiento de las métricas, parámetros y modelos del experimento en trabajos de Azure Machine Learning.
  • No se admite el entrenamiento interactivo en RStudio,Positiv (anteriormente RStudio Workbench) ni cuadernos de Jupyter con kernels de R.
  • No se admiten la administración y el registro de modelos. Use la CLI de Azure Machine Learning o Azure Machine Learning Studio para el registro y la administración de modelos.

Para obtener ejemplos de uso del cliente de seguimiento de MLflow con modelos de R en Azure Machine Learning, consulte Entrenamiento de modelos de R mediante la CLI de Azure Machine Learning (v2).

Seguimiento con MLflow en Java

La compatibilidad de MLflow en Java tiene las siguientes limitaciones:

  • El seguimiento de MLflow se limita a realizar el seguimiento de las métricas y parámetros del experimento en trabajos de Azure Machine Learning.
  • No se puede realizar el seguimiento de artefactos y modelos. En su lugar, use el método mlflow.save_model con la carpeta outputs en trabajos para guardar modelos o artefactos que desea capturar.

Para ver un ejemplo de Java que usa el cliente de seguimiento de MLflow con el servidor de seguimiento de Azure Machine Learning, consulte azuremlflow-java.

Cuadernos de ejemplo para el seguimiento de MLflow

Registro de modelos con MLflow

Azure Machine Learning admite MLflow para la administración de modelos. Esta compatibilidad es una manera cómoda de que los usuarios que estén familiarizados con el cliente de MLflow administren todo el ciclo de vida del modelo. Para más información acerca de cómo administrar modelos mediante la API de MLflow en Azure Machine Learning, consulte Administración de registros de modelos en Azure Machine Learning con MLflow.

Cuaderno de ejemplo para el registro de modelos de MLflow

La administración de modelos con MLflow muestra cómo administrar modelos en registros.

Implementación de modelos con MLflow

Puede implementar modelos de MLflow en Azure Machine Learning para aprovechar una experiencia mejorada. Azure Machine Learning admite la implementación de modelos de MLflow en puntos de conexión en tiempo real y por lotes sin tener que especificar el entorno ni un script de puntuación.

El SDK de MLflow, la CLI de Azure Machine Learning, el SDK de Azure Machine Learning para Python y Azure Machine Learning Studio admiten la implementación de modelos de MLflow. Para más información sobre la implementación de modelos de MLflow en Azure Machine Learning para la inferencia por lotes y en tiempo real, consulte Guía para la implementación de modelos MLflow.

Cuadernos de ejemplo para la implementación de modelos de MLflow

Entrenamiento con proyectos de MLflow (versión preliminar)

Advertencia

La compatibilidad con los archivos MLproject (proyectos de MLflow) en Azure Machine Learning se retirará completamente en septiembre de 2026. MLflow sigue siendo totalmente compatible y sigue siendo la manera recomendada de realizar un seguimiento de las cargas de trabajo de aprendizaje automático en Azure Machine Learning.

A medida que siga usando MLflow, se recomienda realizar la transición de archivos MLproject a trabajos de Azure Machine Learning mediante la CLI de Azure o el SDK de Azure Machine Learning para Python (v2). Para más información sobre los trabajos de Azure Machine Learning, consulte Seguimiento de experimentos y modelos de ML con MLflow.

Importante

Esta característica actualmente está en su versión preliminar pública. Esta versión preliminar se ofrece sin un Acuerdo de Nivel de Servicio y no se recomienda para cargas de trabajo de producción. Es posible que algunas características no sean compatibles o que tengan sus funcionalidades limitadas.

Para más información, consulte Términos de uso complementarios de las Versiones Preliminares de Microsoft Azure.

Puede enviar trabajos de entrenamiento a Azure Machine Learning mediante proyectos de MLflow (versión preliminar). Puede enviar trabajos localmente con el seguimiento de Azure Machine Learning o migrar las trabajos a la nube a través de un Proceso de Azure Machine Learning.

Para obtener información sobre cómo enviar trabajos de entrenamiento que usan proyectos de MLflow a áreas de trabajo de Azure Machine Learning para el seguimiento, consulte Entrenamiento con proyectos de MLflow en Azure Machine Learning (versión preliminar).

Cuadernos de ejemplo para proyectos de MLflow

Funcionalidades de las herramientas de cliente de MLflow frente a Azure Machine Learning

En la tabla siguiente se muestran las operaciones de ciclo de vida de aprendizaje automático que son posibles con el SDK de MLflow y las herramientas cliente de Azure Machine Learning.

Característica MLflow SDK CLI y SDK de Azure Machine Learning v2 Azure Machine Learning Studio
Realizar el seguimiento y registro de métricas, parámetros y modelos
Recuperar métricas, parámetros y modelos Solo se pueden descargar artefactos y modelos.
Enviar los trabajos de entrenamiento Posible mediante proyectos de MLflow (versión preliminar).
Envío de trabajos de entrenamiento con recursos de datos de Azure Machine Learning
Envío de trabajos de entrenamiento mediante canalizaciones de aprendizaje automático
Administración de experimentos y ejecuciones
Administrar modelos de MLflow Es posible que algunas operaciones no se admita.1
Administrar modelos distintos a MLflow
Implementación de modelos de MLflow en Azure Machine Learning (en línea y por lotes) Actualmente no se admite la implementación de modelos de MLflow para la inferencia por lotes.2
Implementar modelos distintos a MLflow en Azure Machine Learning

1 Para obtener más información, consulte Administración de registros de modelos en Azure Machine Learning con MLflow.

2 Para obtener una alternativa, consulte Implementación y ejecución de modelos de MLflow en trabajos de Spark.