Compartir a través de


Entrenamiento con proyectos de MLflow en Azure Machine Learning (versión preliminar)

En este artículo, obtendrá información sobre cómo enviar trabajos de entrenamiento con proyectos de MLflow que usan áreas de trabajo de Azure Machine Learning para el seguimiento. Puede enviar trabajos y únicamente realizar un seguimiento de ellos con Azure Machine Learning o migrar las ejecuciones a la nube para que se ejecuten completamente en Proceso de Azure Machine Learning.

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.

Los proyectos de MLflow permiten organizar y describir el código para que otros científicos de datos (o herramientas automatizadas) puedan ejecutarlo. Los proyectos de MLflow con Azure Machine Learning le permiten realizar un seguimiento de las ejecuciones de entrenamiento y administrarlas en el área de trabajo.

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.

Obtenga más información sobre la integración de MLflow y Azure Machine Learning.

Requisitos previos

  • Instale el paquete del SDK mlflow de MLflow y el complemento de Azure Machine Learning azureml-mlflow para MLflow:

    pip install mlflow azureml-mlflow
    

    Sugerencia

    Puede usar el paquete de mlflow-skinny, que es un paquete MLflow ligero sin dependencias de ciencia de datos, interfaz de usuario, servidor o almacenamiento de SQL. Se recomienda este paquete para los usuarios que necesitan principalmente las funcionalidades de seguimiento y registro de MLflow, pero no para el conjunto completo de características, incluidas las implementaciones.

  • Cree un área de trabajo de Azure Machine Learning. Para crear un área de trabajo, consulte Crear recursos que necesita para empezar. Revise los permisos de acceso que necesita para realizar operaciones de MLflow en el área de trabajo.

  • Para realizar el seguimiento remoto o realizar el seguimiento de experimentos que se ejecutan fuera de Azure Machine Learning, configure MLflow para que apunte al URI de seguimiento del área de trabajo de Azure Machine Learning. Para más información sobre cómo conectar MLflow al área de trabajo, consulte Configuración de MLflow para Azure Machine Learning.

  • Para usar Azure Machine Learning como back-end para proyectos de MLflow, necesita el paquete azureml-core.

    pip install azureml-core
    

Conexión con su área de trabajo

Si estás trabajando fuera de Azure Machine Learning, necesitas configurar MLflow para que apunte al URI de seguimiento de tu área de trabajo de Azure Machine Learning. Para más información, consulte Configuración de MLflow para Azure Machine Learning.

Seguimiento de proyectos de MLflow en áreas de trabajo de Azure Machine Learning

En este ejemplo se muestra cómo enviar proyectos de MLflow y realizar un seguimiento de ellos en Azure Machine Learning.

  1. Agregue el azureml-mlflow paquete como dependencia pip al archivo de configuración del entorno para realizar un seguimiento de las métricas y los artefactos clave del área de trabajo.

    conda.yaml

    name: mlflow-example
    channels:
      - defaults
    dependencies:
      - numpy>=1.14.3
      - pandas>=1.0.0
      - scikit-learn
      - pip:
        - mlflow
        - azureml-mlflow
    
  2. Envíe la ejecución local y establezca el parámetro backend = "azureml". Este parámetro proporciona soporte para el seguimiento automático, la captura de modelos, los archivos de registro, las instantáneas y los errores registrados en el área de trabajo. En este ejemplo, el proyecto de MLflow que desea ejecutar está en la carpeta actual, uri=".".

    mlflow run . --experiment-name  --backend azureml --env-manager=local -P alpha=0.3
    

    Vea las ejecuciones y métricas en Azure Machine Learning Studio.

Entrenamiento de proyectos de MLflow en trabajos de Azure Machine Learning

En este ejemplo, se muestra cómo enviar proyectos de MLflow como tarea que se ejecuta en recursos de cómputo de Azure Machine Learning.

  1. Cree el objeto de configuración de back-end. En este ejemplo, establezca la configuración de back-end en COMPUTE. Este parámetro hace referencia al nombre del clúster de proceso remoto que desea usar para ejecutar el proyecto. Si incluye COMPUTE, el proyecto se envía automáticamente como un trabajo de Azure Machine Learning a la computación indicada.

    backend_config.json

    {
        "COMPUTE": "cpu-cluster"
    }
    
    
  2. Agregue el azureml-mlflow paquete como dependencia pip al archivo de configuración del entorno para realizar un seguimiento de las métricas y los artefactos clave del área de trabajo.

    conda.yaml

    name: mlflow-example
    channels:
      - defaults
    dependencies:
      - numpy>=1.14.3
      - pandas>=1.0.0
      - scikit-learn
      - pip:
        - mlflow
        - azureml-mlflow
    
  3. Envíe la ejecución local y establezca el parámetro backend = "azureml". Este parámetro agrega compatibilidad con el seguimiento automático, la captura de modelos, los archivos de registro, las instantáneas y el registro de errores en tu área de trabajo. En este ejemplo, el proyecto de MLflow que desea ejecutar está en la carpeta actual, uri=".".

    mlflow run . --backend azureml --backend-config backend_config.json -P alpha=0.3
    

    Nota

    Dado que los trabajos de Azure Machine Learning siempre se ejecutan en el contexto de los entornos, se omite el parámetro env_manager.

    Vea las ejecuciones y métricas en Azure Machine Learning Studio.

Limpieza de recursos

Si no tiene previsto usar las métricas y artefactos registrados en el área de trabajo, no puede eliminarlas individualmente. Por ello, deberá eliminar el grupo de recursos que contiene la cuenta de almacenamiento y el área de trabajo para no incurrir en cargos:

  1. En el portal de Azure, seleccione Grupos de recursos en la parte izquierda.

    Imagen que muestra cómo eliminar un grupo de recursos de Azure

  2. En la lista, seleccione el grupo de recursos que creó.

  3. Seleccione Eliminar grupo de recursos.

  4. Escriba el nombre del grupo de recursos. A continuación, seleccione Eliminar.

Cuadernos de ejemplo

El MLflow con cuadernos de Azure Machine Learning demostrar y ampliar los conceptos presentados en este artículo.

Nota

Puede encontrar un repositorio de ejemplos administrado por la comunidad mediante mlflow en https://github.com/Azure/azureml-examples.

Pasos siguientes