Administración de modelos en Microsoft Fabric

Completado

La integración de MLflow en Microsoft Fabric facilita el seguimiento y la administración de los modelos de Machine Learning.

Seguimiento de artefactos del modelo con MLflow

Después de entrenar un modelo, quiere usar el modelo para puntuar y generar nuevas predicciones. Para integrar fácilmente su modelo, necesita almacenarlo de modo que pueda cargarlo en un entorno diferente. Un enfoque común es almacenar un modelo como un archivo pickle, un objeto serializado.

Nota:

El formato del modelo almacenado depende del marco de aprendizaje automático que use. Por ejemplo, al entrenar un modelo de aprendizaje profundo, puede optar por almacenar el modelo mediante el formato Open Neural Network Exchange (ONNX) en su lugar.

MLflow agrega otra capa a la salida del modelo agregando el archivo MLmodel. El archivo MLmodel especifica los metadatos del modelo, como cómo y cuándo se entrenó el modelo, así como la entrada y salida esperadas del modelo.

Descripción del archivo MLmodel

Al registrar un modelo con MLflow, todos los recursos del modelo pertinentes se almacenan en la carpeta de model con la ejecución del experimento.

La carpeta de model incluye el archivo MLmodel, una única fuente de verdad sobre cómo debe cargarse y consumirse el modelo.

El archivo MLmodel puede incluir lo siguiente:

  • artifact_path: durante el entrenamiento, el modelo se registra en esta ruta de acceso.
  • flavor: la biblioteca de aprendizaje automático con la que se creó el modelo.
  • model_uuid: el identificador único del modelo registrado.
  • run_id: el identificador único de la ejecución del trabajo durante el cual se creó el modelo.
  • signature: Especifica el esquema de las entradas y salidas del modelo:
    • inputs: entrada válida para el modelo. Por ejemplo, un subconjunto del conjunto de datos de entrenamiento.
    • outputs: salida válida del modelo. Por ejemplo, las predicciones del modelo para el conjunto de datos de entrada.

Imagine que ha entrenado un modelo de regresión para predecir la diabetes en pacientes, el archivo MLmodel registrado puede tener el siguiente aspecto:

artifact_path: model
flavors:
  python_function:
    env:
      conda: conda.yaml
      virtualenv: python_env.yaml
    loader_module: mlflow.sklearn
    model_path: model.pkl
    predict_fn: predict
    python_version: 3.10.10
  sklearn:
    code: null
    pickled_model: model.pkl
    serialization_format: cloudpickle
    sklearn_version: 1.2.0
mlflow_version: 2.1.1
model_uuid: 8370150f4e07495794c3b80bcaf07e52
run_id: 14cdf02f-119b-4b8d-90f3-044987c29bce
signature:
  inputs: '[{"type": "tensor", "tensor-spec": {"dtype": "float64", "shape": [-1, 10]}}]'
  outputs: '[{"type": "tensor", "tensor-spec": {"dtype": "float64", "shape": [-1]}}]'

Cuando decide usar la función de registro automático de MLflow en Microsoft Fabric, el archivo MLmodel se crea automáticamente. Si desea cambiar el archivo para cambiar el comportamiento del modelo durante la puntuación, puede cambiar cómo se registra el archivo MLmodel.

Sugerencia

Obtenga más información sobre los archivos de modelo de MLflow y cómo personalizar los campos.

Administración de modelos en Microsoft Fabric

Al realizar un seguimiento de un modelo con MLflow durante el entrenamiento en Microsoft Fabric, todos los artefactos del modelo se almacenan en la carpeta model. Encontrará la carpeta de model en la ejecución del experimento:

Screenshot of the model folder overview in an experiment run.

La carpeta del modelo contiene:

  • MLmodel: contiene los metadatos del modelo.
  • conda.yaml: contiene el entorno de Anaconda necesario para ejecutar el modelo.
  • model.pkl: contiene el modelo entrenado.
  • python_env.yaml: describe el entorno de Python necesario para ejecutar el modelo. Hace referencia al archivo requirements.txt.
  • requirements.txt: enumera los paquetes de Python necesarios para ejecutar el modelo.

Todos estos artefactos de modelo son necesarios cuando desea usar el modelo para generar predicciones sobre nuevos datos.

Guardar un modelo en el área de trabajo

Al elegir el modelo que desea usar, puede guardar el modelo en el área de trabajo desde la ejecución del experimento. Al guardar un modelo, se crea un nuevo modelo con versiones en el área de trabajo que contiene todos los artefactos y metadatos del modelo.

Seleccione la ejecución del experimento que representa el modelo que ha entrenado y seleccione la opción Guardar para guardar la ejecución como modelo.

Screenshot of the save as model pop-up in Microsoft Fabric.

Al seleccionar un modelo existente, se crea una nueva versión de un modelo con el mismo nombre. El control de versiones de modelos le permite comparar modelos que tienen un propósito similar, tras lo cual puede elegir el modelo de mejor rendimiento para generar predicciones.

Screenshot of the model overview in Microsoft Fabric.