Modèle Machine Learning dans Microsoft Fabric

Un modèle Machine Learning est un fichier formé pour reconnaître certains types de modèles. Vous formez un modèle sur un ensemble de données, puis vous lui fournissez un algorithme qu’il utilise pour raisonner, puis apprendre de ce jeu de données. Après avoir formé le modèle, vous pouvez l’utiliser pour raisonner sur des données qu’il n’a pas encore vues, puis faire des prédictions sur ces données.

Dans MLflow, un modèle Machine Learning peut inclure plusieurs versions de modèle. Ici, chaque version peut représenter une itération de modèle. Dans cet article, vous allez apprendre à interagir avec des modèles Machine Learning pour suivre, puis comparer des versions de modèle.

Créer un modèle Machine Learning

Dans MLflow, les modèles Machine Learning incluent un format d’empaquetage standard. Ce format permet d’utiliser ces modèles dans différents outils en aval, y compris l’inférence par lots sur Apache Spark. Le format définit une convention pour enregistrer un modèle dans différentes « saveurs » que différents outils en aval peuvent comprendre.

Vous pouvez directement créer un modèle Machine Learning depuis l’interface utilisateur de Fabric. L’API MLflow peut également créer directement le modèle.

Pour créer un modèle Machine Learning depuis l’interface utilisateur, vous pouvez procéder comme suit :

  1. Créez ou sélectionnez un espace de travail de science des données.

  2. Dans la liste déroulante + Nouveau, sélectionnez Modèle pour créer un modèle vide dans votre espace de travail de science des données.

    Screenshot showing the New drop-down menu.

  3. Après la création du modèle, vous pouvez commencer à ajouter des versions de modèle pour suivre les métriques et les paramètres d’exécution. Inscrivez ou enregistrez des exécutions d’expérience dans un modèle existant.

Vous pouvez également créer une expérience de Machine Learning directement depuis votre expérience de création avec l’API mlflow.register_model(). Si un modèle Machine Learning inscrit avec le nom donné n’existe pas, l’API le crée automatiquement.

import mlflow

model_uri = "runs:/{}/model-uri-name".format(run.info.run_id)
mv = mlflow.register_model(model_uri, "model-name")

print("Name: {}".format(mv.name))
print("Version: {}".format(mv.version))

Gérer les versions au sein d’un modèle Machine Learning

Un modèle Machine Learning contient une collection de versions de modèle pour un suivi et une comparaison simplifiés. Dans un modèle, un scientifique des données peut naviguer entre différentes versions de modèle pour explorer les paramètres et métriques sous-jacents. Les scientifiques des données peuvent également effectuer des comparaisons entre plusieurs versions de modèle pour déterminer si des modèles plus récents peuvent produire de meilleurs résultats.

Suivre des modèles Machine Learning

Une version de modèle Machine Learning représente un modèle individuel qui est inscrit pour le suivi.

Screenshot showing the details screen of a model.

Chaque version de modèle comprend les informations suivantes :

  • Heure de création : date et heure de création du modèle.
  • Nom de l’exécution : identificateur des exécutions d’expériences, exécutions permettant der créer cette version de modèle spécifique.
  • Hyperparamètres : les hyperparamètres sont enregistrés en tant que paires clé-valeur. Les clés et les valeurs sont des chaînes.
  • Métriques : exécute les métriques enregistrées en tant que paires clé-valeur. La valeur est numérique.
  • Schéma/signature du modèle : description des entrées et sorties du modèle.
  • Fichiers enregistrés : fichiers enregistrés dans n’importe quel format. Par exemple, vous pouvez enregistrer des images, un environnement, des modèles et des fichiers de données.

Comparer et filtrer des modèles Machine Learning

Pour comparer, puis évaluer la qualité des modèles Machine Learning, vous pouvez comparer les paramètres, les métriques et les métadonnées des différentes versions sélectionnées.

Comparer visuellement des modèles Machine Learning

Vous pouvez comparer visuellement des exécutions dans un modèle existant. La comparaison visuelle permet une navigation et des tris faciles entre plusieurs versions.

Screenshot showing a list of runs for comparison.

Pour comparer les exécutions, vous pouvez procéder comme suit :

  1. Sélectionnez un modèle Machine Learning existant qui contient plusieurs exécutions.
  2. Sélectionnez l’onglet Affichage, puis accédez à l’affichage Liste de modèles. Vous pouvez également sélectionner l’option Afficher la liste des modèles directement depuis l’affichage des détails.
  3. Vous pouvez personnaliser les colonnes dans le tableau. Développez le volet Personnaliser les colonnes. Depuis cet emplacement, vous pouvez sélectionner les propriétés, les métriques et les hyperparamètres à afficher.
  4. Enfin, vous pouvez sélectionner plusieurs versions pour comparer leurs résultats dans le volet de comparaison des métriques. Depuis ce volet, vous pouvez personnaliser les graphiques en modifiant le titre du graphique, le type de visualisation, l’axe X, l’axe Y, et bien plus encore.

Comparer les modèles Machine Learning à l’aide de l’API MLflow

Les scientifiques des données peuvent également utiliser MLflow pour effectuer une recherche parmi plusieurs modèles enregistrés dans l’espace de travail. Veuillez consulter la documentation MLflow si vous souhaitez en savoir plus sur les autres API MLflow pour l’interaction de modèles.

from pprint import pprint

client = MlflowClient()
for rm in client.list_registered_models():
    pprint(dict(rm), indent=4)

Appliquer des modèles Machine Learning

Après avoir formé un modèle sur un jeu de données, vous pouvez appliquer ce modèle à des données qu’il n’a jamais vues pour générer des prédictions. Nous appelons cette technique d’utilisation des modèles scoring ou inférence. Si vous souhaitez en savoir plus sur le scoring de modèle Microsoft Fabric, veuillez consulter la section suivante.