Compartir vía


Experimentos de aprendizaje automático en Microsoft Fabric

Un experimento de aprendizaje automático es la unidad principal de organización y control para todas las ejecuciones de aprendizaje automático relacionadas. Una ejecución corresponde a una única ejecución del código del modelo. En MLflow, el seguimiento se basa en los experimentos y las ejecuciones.

Los experimentos de aprendizaje automático permiten a los científicos de datos registrar parámetros, versiones de código, métricas y archivos de salida al ejecutar su código de aprendizaje automático. Los experimentos también le permiten visualizar, buscar y comparar ejecuciones, así como descargar archivos de ejecución y metadatos para su análisis en otras herramientas.

En este artículo, obtendrá más información sobre cómo los científicos de datos pueden interactuar con experimentos de aprendizaje automático y usarlos para organizar su proceso de desarrollo y realizar un seguimiento de varias ejecuciones.

Requisitos previos

  • Una suscripción de Power BI Premium. Si no tiene una, consulte Cómo comprar Power BI Premium.
  • Un área de trabajo de Power BI con capacidad Premium asignada.

Creación de un experimento

Puede crear un experimento de aprendizaje automático directamente desde la página principal de ciencia de datos en la interfaz de usuario (UI) de Power BI o escribiendo código que use la API de MLflow.

Creación de un experimento mediante la interfaz de usuario

Para crear un experimento de aprendizaje automático desde la interfaz de usuario:

  1. Cree una nueva área de trabajo de ciencia de datos o seleccione una existente.

  2. Seleccione Experimento en la sección "Nuevo".

  3. Proporcione un nombre de experimento y seleccione Crear. Esta acción crea un experimento vacío dentro del área de trabajo.

    Screenshot showing where to select Experiment in the New menu.

Después de crear el experimento, puede empezar a agregar ejecuciones para realizar un seguimiento de las métricas y los parámetros de ejecución.

Creación de un experimento mediante la API de MLflow

También puede crear un experimento de aprendizaje automático directamente desde la experiencia de creación con las API mlflow.create_experiment() o mlflow.set_experiment(). En el código siguiente, reemplace <EXPERIMENT_NAME> por el nombre del experimento.

import mlflow
 
# This will create a new experiment with the provided name.
mlflow.create_experiment("<EXPERIMENT_NAME>")

# This will set the given experiment as the active experiment. 
# If an experiment with this name does not exist, a new experiment with this name is created.
mlflow.set_experiment("<EXPERIMENT_NAME>")

Administración de ejecuciones dentro de un experimento

Un experimento de aprendizaje automático contiene una colección de ejecuciones para el seguimiento y la comparación simplificados. Dentro de un experimento, un científico de datos puede navegar por varias ejecuciones y explorar los parámetros y métricas subyacentes. Los científicos de datos también pueden comparar ejecuciones dentro de un experimento de aprendizaje automático para identificar qué subconjunto de parámetros producen un rendimiento de modelo deseado.

Seguimiento de ejecuciones

Una ejecución de aprendizaje automático corresponde a una única ejecución del código del modelo.

Screenshot of machine learning run detail page.

Cada ejecución incluye la siguiente información:

  • Origen: nombre del cuaderno que creó la ejecución.
  • Versión registrada: indica si la ejecución se guardó como un modelo de aprendizaje automático.
  • Fecha de inicio: hora de inicio de la ejecución.
  • Estado: progreso de la ejecución.
  • Hiperparámetros: los hiperparámetros guardados como pares clave-valor. Tanto las claves como los valores son cadenas.
  • Métricas: métricas de ejecución guardadas como pares clave-valor. El valor es "numérico".
  • Archivos de salida: archivos de salida en cualquier formato. Por ejemplo, puede grabar imágenes, entornos, modelos y archivos de datos.

Visualización de ejecuciones recientes

También puede ver las ejecuciones recientes de un experimento directamente desde la vista de lista del área de trabajo. Esta vista permite realizar un seguimiento de la actividad reciente, saltar rápidamente a la aplicación Spark relacionada y aplicar filtros en función del estado de ejecución.

Screenshot of machine learning recent runs and Spark application view.

Comparación y filtrado de ejecuciones

Para comparar y evaluar la calidad de las ejecuciones de aprendizaje automático, puede comparar los parámetros, las métricas y los metadatos entre las ejecuciones seleccionadas dentro de un experimento.

Comparación visual de las ejecuciones

Puede comparar visualmente y filtrar ejecuciones dentro de un experimento existente. Esta comparación visual le permite navegar fácilmente entre varias ejecuciones y ordenarlas entre ellas.

Screenshot showing a list of runs and the chart view.

Para comparar ejecuciones:

  1. Seleccione un experimento de aprendizaje automático existente que contenga varias ejecuciones.
  2. Seleccione la pestaña Vista y, a continuación, vaya a Lista de ejecuciones. Como alternativa, puede seleccionar la opción Ver lista de ejecuciones directamente desde la vista Detalles de la ejecución.
  3. Para personalizar las columnas de la tabla, expanda el panel Personalizar columnas. Aquí puede seleccionar las propiedades, las métricas y los hiperparámetros que desea ver.
  4. Expanda el panel Filtro para restringir los resultados en función de determinados criterios seleccionados.
  5. Seleccione varias ejecuciones para comparar sus resultados en el panel de comparación de métricas. En este panel, puede personalizar los gráficos cambiando el título del gráfico, el tipo de visualización, el eje X, el eje Y, etc.

Comparación de ejecuciones mediante la API de MLflow

Los científicos de datos también pueden usar MLflow para consultar y buscar entre ejecuciones dentro de un experimento. Puede explorar más API de MLflow para buscar, filtrar y comparar ejecuciones visitando la documentación de MLflow.

Obtener todas las ejecuciones

Puede usar la API de búsqueda de MLflow mlflow.search_runs() para obtener todas las ejecuciones de un experimento reemplazando <EXPERIMENT_NAME> por el nombre del experimento o <EXPERIMENT_ID> por el identificador del experimento en el código siguiente:

import mlflow

# Get runs by experiment name: 
mlflow.search_runs(experiment_names=["<EXPERIMENT_NAME>"])

# Get runs by experiment ID:
mlflow.search_runs(experiment_ids=["<EXPERIMENT_ID>"])

Sugerencia

Puede buscar en varios experimentos proporcionando una lista de identificadores de experimento al parámetro experiment_ids. De forma similar, proporcionar una lista de nombres de experimentos al parámetro experiment_names permitirá que MLflow busque en varios experimentos. Esto puede ser útil si desea comparar entre ejecuciones dentro de diferentes experimentos.

Orden y limitación de ejecuciones

Use el parámetro max_results de search_runs para limitar el número de ejecuciones devueltas. El parámetro order_by permite enumerar las columnas para ordenar por y puede contener un valor opcional DESC o ASC. En el ejemplo siguiente se devuelve la última ejecución de un experimento:

mlflow.search_runs(experiment_ids=[ "1234-5678-90AB-CDEFG" ], max_results=1, order_by=["start_time DESC"])

Comparación de ejecuciones en un cuaderno de Fabric

Puede usar el widget de creación de MLFlow en cuadernos de Fabric para realizar un seguimiento de las ejecuciones de MLflow generadas dentro de cada celda del cuaderno. El widget permite realizar un seguimiento de las ejecuciones, las métricas asociadas, los parámetros y las propiedades directamente hasta el nivel de celda individual.

Para obtener una comparación visual, también puede cambiar a la vista Comparación de ejecución. Esta vista presenta los datos gráficamente, lo que ayuda en la identificación rápida de patrones o desviaciones en diferentes ejecuciones.

Screenshot showing how to use the MLFlow authoring widget.

Guardado de la ejecución como un modelo de Machine Learning

Una vez que una ejecución produce el resultado deseado, puede guardar la ejecución como un modelo para el seguimiento mejorado de modelos y para la implementación del modelo seleccionando Guardar como modelo de ML.

Screenshot showing where to select Create a new model.