Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Une expérience de machine learning est l’unité principale de l’organisation et du contrôle pour toutes les exécutions de Machine Learning associées. Une exécution correspond à une seule exécution de code de modèle. Dans MLflow, le suivi est basé sur des expériences et des exécutions.
Les expériences De Machine Learning permettent aux scientifiques des données de journaliser des paramètres, des versions de code, des métriques et des fichiers de sortie lors de l’exécution de leur code Machine Learning. Les expériences vous permettent également de visualiser, rechercher et comparer des exécutions, ainsi que de télécharger des fichiers d’exécution et des métadonnées pour l’analyse dans d’autres outils.
Dans cet article, vous allez en savoir plus sur la façon dont les scientifiques des données peuvent interagir avec et utiliser des expériences de Machine Learning pour organiser leur processus de développement et suivre plusieurs exécutions.
Conditions préalables
- Un abonnement Power BI Premium. Si vous n’en avez pas, consultez Qu’est-ce que Power BI Premium ?
- Espace de travail Power BI avec une capacité Premium affectée.
Créer une expérience
Vous pouvez créer une expérience Machine Learning directement à partir de l’interface utilisateur de l’infrastructure ou en écrivant du code qui utilise l’API MLflow.
Créer une expérience à l’aide de l’interface utilisateur
Pour créer une expérience Machine Learning à partir de l’interface utilisateur :
Créez un espace de travail ou sélectionnez-en un existant.
En haut à gauche de votre espace de travail, sélectionnez Nouvel élément. Sous Analyser et entraîner des données, sélectionnez Expérience .
Sélectionnez Créer, qui se trouve dans ... dans le menu vertical.
Sous Science des données, sélectionnez Expérience.
Fournissez un nom d’expérience et sélectionnez Créer. Cette action crée une expérience vide dans votre espace de travail.
Après avoir créé l’expérience, vous pouvez commencer à ajouter des exécutions pour suivre les métriques et paramètres d’exécution.
Créer une expérience à l’aide de l’API MLflow
Vous pouvez également créer une expérience Machine Learning directement à partir de votre expérience de création à l’aide des API ou mlflow.create_experiment() des mlflow.set_experiment() API. Dans le code suivant, remplacez <EXPERIMENT_NAME> par le nom de votre expérience.
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>")
Gérer les exécutions dans une expérience
Une expérience De Machine Learning contient une collection d’exécutions pour un suivi et une comparaison simplifiés. Dans une expérience, un scientifique des données peut parcourir différentes exécutions et explorer les paramètres et métriques sous-jacents. Les scientifiques des données peuvent également comparer des exécutions au sein d’une expérience Machine Learning pour identifier le sous-ensemble de paramètres qui donnent des performances de modèle souhaitées.
Pour afficher les exécutions d’une expérience, sélectionnez Exécuter la liste dans la vue de l’expérience.
Dans la liste des exécutions, vous pouvez accéder aux détails d’une exécution spécifique en sélectionnant le nom de l’exécution.
Suivi des détails de l’exécution
Une exécution de Machine Learning correspond à une seule exécution du code de modèle. Vous pouvez suivre les informations suivantes pour chaque exécution :
Chaque exécution comprend les informations suivantes :
- Source : Nom du bloc-notes qui a créé l’exécution.
- Version inscrite : indique si l’exécution a été enregistrée en tant que modèle Machine Learning.
- Date de début : heure de début de l’exécution.
- État : progression de l’exécution.
- Hyperparamètres : hyperparamètres enregistrés sous forme de paires clé-valeur. Les clés et les valeurs sont des chaînes.
- Métriques : exécutez les métriques enregistrées en tant que paires clé-valeur. La valeur est numérique.
- Fichiers de sortie : fichiers de sortie dans n’importe quel format. Par exemple, vous pouvez enregistrer des images, un environnement, des modèles et des fichiers de données.
- Balises : Métadonnées sous forme de paires clé-valeur à exécuter.
Afficher la liste des exécutions
Vous pouvez afficher toutes les exécutions d’une expérience dans l’affichage Liste d’exécution . Cette vue vous permet de suivre l’activité récente, de passer rapidement à l’application Spark associée et d’appliquer des filtres en fonction de l’état d’exécution.
Afficher la liste des exécutions
Vous pouvez afficher toutes les exécutions d’une expérience dans l’affichage Liste d’exécution . Cette vue vous permet de suivre l’activité récente, de passer rapidement à l’application Spark associée et d’appliquer des filtres en fonction de l’état d’exécution.
Comparer et filtrer les exécutions
Pour comparer et évaluer la qualité de vos exécutions Machine Learning, vous pouvez comparer les paramètres, les métriques et les métadonnées entre les exécutions sélectionnées dans une expérience.
Appliquer des balises à des exécutions
Le balisage MLflow pour les exécutions d’expériences permet aux utilisateurs d’ajouter des métadonnées personnalisées sous la forme de paires clé-valeur à leurs exécutions. Ces balises permettent de catégoriser, de filtrer et de rechercher des exécutions basées sur des attributs spécifiques, ce qui facilite la gestion et l’analyse des expériences au sein de la plateforme MLflow. Les utilisateurs peuvent utiliser des balises pour étiqueter des exécutions avec des informations telles que des types de modèles, des paramètres ou des identificateurs pertinents, améliorant l’organisation globale et la traçabilité des expériences.
Cet extrait de code démarre une exécution MLflow, enregistre certains paramètres et métriques, puis ajoute des balises pour catégoriser et fournir un contexte supplémentaire pour l’exécution.
import mlflow
import mlflow.sklearn
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error
from sklearn.datasets import fetch_california_housing
# Autologging
mlflow.autolog()
# Load the California housing dataset
data = fetch_california_housing(as_frame=True)
X = data.data
y = data.target
# Split the data
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# Start an MLflow run
with mlflow.start_run() as run:
# Train the model
model = LinearRegression()
model.fit(X_train, y_train)
# Predict and evaluate
y_pred = model.predict(X_test)
# Add tags
mlflow.set_tag("model_type", "Linear Regression")
mlflow.set_tag("dataset", "California Housing")
mlflow.set_tag("developer", "Bob")
Une fois les balises appliquées, vous pouvez afficher les résultats directement à partir du widget MLflow inline ou à partir de la page de détails de l’exécution.
Avertissement
Avertissement : Limitations relatives à l’application de balises à des exécutions d’expérience MLflow dans Fabric
- Balises non vides : les noms de balises ou les valeurs ne peuvent pas être vides. Si vous tentez d’appliquer une balise avec un nom ou une valeur vide, l’opération échoue.
- Noms des étiquettes : les noms de balise peuvent comporter jusqu’à 250 caractères.
- Valeurs des étiquettes : les valeurs d’étiquette peuvent atteindre jusqu’à 5 000 caractères.
-
Noms de balises restreints : les noms de balises qui commencent par certains préfixes ne sont pas pris en charge. Plus précisément, les noms de balises commençant par
synapseml,mlflowoutridentsont restreints et ne seront pas acceptés.
Comparer visuellement les exécutions
Vous pouvez comparer visuellement et filtrer des exécutions au sein d’une expérience existante. La comparaison visuelle vous permet de naviguer facilement entre plusieurs exécutions et de les trier.
Pour comparer les exécutions :
- Sélectionnez une expérience Machine Learning existante qui contient plusieurs exécutions.
- Sélectionnez l’onglet Affichage , puis accédez à l’affichage Liste d’exécution . Vous pouvez également sélectionner l’option permettant d’afficher la liste des exécutions directement dans la vue Détails de l’exécution.
- Personnalisez les colonnes dans la table en développant le volet Personnaliser les colonnes . Ici, vous pouvez sélectionner les propriétés, les métriques, les balises et les hyperparamètres que vous souhaitez voir.
- Développez le volet Filtre pour affiner vos résultats en fonction de certains critères sélectionnés.
- Sélectionnez plusieurs exécutions pour comparer leurs résultats dans le volet de comparaison des métriques. Dans ce volet, vous pouvez personnaliser les graphiques en modifiant le titre du graphique, le type de visualisation, l’axe X, l’axe Y, etc.
Comparer les exécutions à l’aide de l’API MLflow
Les scientifiques des données peuvent également utiliser MLflow pour interroger et rechercher entre des exécutions au sein d’une expérience. Vous pouvez explorer d’autres API MLflow pour rechercher, filtrer et comparer des exécutions en consultant la documentation MLflow.
Obtenir toutes les exécutions
Vous pouvez utiliser l’API mlflow.search_runs() de recherche MLflow pour obtenir toutes les exécutions dans une expérience en remplaçant <EXPERIMENT_NAME> par votre nom d’expérience ou <EXPERIMENT_ID> par votre ID d’expérience dans le code suivant :
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>"])
Conseil / Astuce
Vous pouvez effectuer une recherche sur plusieurs expériences en fournissant une liste d’ID d’expérience au experiment_ids paramètre. De même, la fourniture d’une liste de noms d’expériences au experiment_names paramètre permet à MLflow de rechercher dans plusieurs expériences. Cela peut être utile si vous souhaitez comparer les exécutions au sein de différentes expériences.
Exécutions de commande et de limite
Utilisez le max_results paramètre de search_runs pour limiter le nombre d’exécutions retournées. Le order_by paramètre vous permet de répertorier les colonnes à classer et peut contenir une valeur ou DESC une valeur facultativeASC. Par exemple, l’exemple suivant retourne la dernière exécution d’une expérience.
mlflow.search_runs(experiment_ids=[ "1234-5678-90AB-CDEFG" ], max_results=1, order_by=["start_time DESC"])
Comparer les exécutions dans un notebook Fabric
Vous pouvez utiliser le widget de création MLFlow dans les notebooks Fabric pour suivre les exécutions MLflow générées dans chaque cellule de notebook. Le widget vous permet de suivre vos exécutions, les métriques, les paramètres et les propriétés associés directement au niveau de la cellule individuelle.
Pour obtenir une comparaison visuelle, vous pouvez également basculer vers la vue De comparaison d’exécution . Cette vue présente les données graphiquement, ce qui facilite l’identification rapide des modèles ou des écarts entre différentes exécutions.
Enregistrer l’exécution en tant que modèle Machine Learning
Une fois qu’une exécution génère le résultat souhaité, vous pouvez enregistrer l’exécution en tant que modèle pour le suivi amélioré du modèle et pour le déploiement de modèle en sélectionnant Enregistrer en tant que modèle ML.
Surveiller les expériences ML (préversion)
Les expériences ML sont intégrées directement à Monitor. Cette fonctionnalité est conçue pour fournir plus d’informations sur vos applications Spark et les expériences ML qu’elles génèrent, ce qui facilite la gestion et le débogage de ces processus.
Suivre les exécutions à partir du moniteur
Les utilisateurs peuvent suivre les exécutions d’expériences directement à partir du moniteur, en fournissant une vue unifiée de toutes leurs activités. Cette intégration inclut des options de filtrage, permettant aux utilisateurs de se concentrer sur les expériences ou les exécutions créées au cours des 30 derniers jours ou d’autres périodes spécifiées.
Suivre les exécutions d’expérience ML associées à partir de votre application Spark
Ml Experiment est intégré directement à Monitor, où vous pouvez sélectionner une application Spark spécifique et accéder aux instantanés d’élément. Ici, vous trouverez la liste de toutes les expériences et exécutions générées par cette application.