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.
Cet article explique comment utiliser des exécutions MLflow pour afficher et analyser les résultats d’une expérience d’entraînement de modèle, et comment gérer et organiser les exécutions. Pour plus d’informations sur les expériences MLflow, consultez Organiser les exécutions d’entraînement avec des expériences MLflow.
Une exécution MLflow correspond à une seule exécution de code de modèle. Chaque exécution enregistre des informations telles que le bloc-notes qui a lancé l’exécution, tous les modèles créés par l’exécution, les paramètres de modèle et les métriques enregistrés en tant que paires clé-valeur, balises pour les métadonnées d’exécution et tous les artefacts ou fichiers de sortie créés par l’exécution.
Toutes les exécutions de MLflow sont enregistrées dans l'expérience active. Si vous n’avez pas explicitement défini une expérience comme expérience active, les exécutions sont consignées dans l’expérience du Notebook.
Afficher les détails de l’exécution
Vous pouvez accéder à une exécution à partir de sa page de détails d’expérience ou directement à partir du bloc-notes qui a créé l’exécution.
Dans la page des détails de l’expérience, cliquez sur le nom d'un lancement dans le tableau des exécutions.
Dans le bloc-notes, cliquez sur le nom de l’exécution dans la barre latérale des exécutions d'expérience.
L’écran d’exécution affiche l’ID d’exécution, les paramètres utilisés pour l’exécution, les métriques résultant de l’exécution et les détails de l’exécution, y compris un lien vers le bloc-notes source. Les artefacts enregistrés lors de l'exécution sont disponibles dans l'onglet Artefacts.
Extraits de code pour la prédiction
Si vous journalisez un modèle à partir d’une exécution, le modèle apparaît sous l’onglet Artefacts , ainsi que des extraits de code illustrant comment charger et utiliser le modèle pour effectuer des prédictions sur des DataFrames Spark et Pandas. Dans MLflow 3, les modèles sont désormais leur objet de première classe distinct plutôt que d’être enregistrés en tant qu’artefact d’exécution. Pour plus d’informations, consultez Prise en main de MLflow 3 pour les modèles.
Afficher le bloc-notes utilisé pour une tâche
Pour afficher la version du bloc-notes qui a créé une exécution :
- Dans la page des détails de l’expérience, cliquez sur le lien dans la colonne Source .
- Sur la page exécuter, cliquez sur le lien en regard de source.
- Dans le notebook, dans la barre latérale Exécutions d’expérience, cliquez sur l’icône Notebook
dans la zone correspondant à cette exécution d’expérience.
La version du bloc-notes associée à l’exécution s’affiche dans la fenêtre principale avec une barre de surbrillance montrant la date et l’heure de l’exécution.
Ajouter une étiquette à une exécution
Les étiquettes sont des paires clé-valeur que vous pouvez créer et utiliser ultérieurement pour rechercher des exécutions.
Dans le tableau Détails de la page d’exécution, cliquez sur Ajouter des balises en regard des balises.
La boîte de dialogue Ajouter/modifier des balises s’ouvre. Dans le champ Clé , entrez un nom pour la clé, puis cliquez sur Ajouter une balise.
Dans le champ Valeur , entrez la valeur de la balise.
Cliquez sur le signe plus pour enregistrer la paire clé-valeur que vous venez d’entrer.
Pour ajouter des balises supplémentaires, répétez les étapes 2 à 4.
Lorsque vous avez terminé, cliquez sur Enregistrer les balises.
Modifier ou supprimer une balise pour une exécution
Dans le tableau Détails de la page d’exécution, cliquez sur
En regard des balises existantes.
La boîte de dialogue Ajouter/modifier des balises s’ouvre.
Pour supprimer une balise, cliquez sur le X sur cette balise.
Pour modifier une balise, sélectionnez la clé dans le menu déroulant et modifiez la valeur dans le champ Valeur . Cliquez sur le signe plus pour enregistrer votre modification.
Lorsque vous avez terminé, cliquez sur Enregistrer les balises.
Reproduire l’environnement logiciel d’une exécution
Vous pouvez reproduire l’environnement logiciel exact pour l’exécution en cliquant sur Reproduire l’exécution en haut à droite de la page d’exécution. La boîte de dialogue suivante s’affiche :
Avec les paramètres par défaut, lorsque vous cliquez sur confirmer:
- Le bloc-notes est cloné à l’emplacement indiqué dans la boîte de dialogue.
- Si le cluster d’origine existe toujours, le bloc-notes cloné est attaché au cluster d’origine et le cluster est démarré.
- Si le cluster d’origine n’existe plus, un nouveau cluster avec la même configuration, y compris les bibliothèques installées, est créé et démarré. Le bloc-notes est attaché au nouveau cluster.
Vous pouvez sélectionner un autre emplacement pour le bloc-notes cloné et inspecter la configuration du cluster et les bibliothèques installées :
- Pour sélectionner un autre dossier pour enregistrer le bloc-notes cloné, cliquez sur modifier le dossier.
- Pour afficher la spécification du cluster, cliquez sur afficher la spécification. Pour cloner uniquement le bloc-notes et non le cluster, désactivez cette option.
- Si le cluster d’origine n’existe plus, vous pouvez voir les bibliothèques installées sur le cluster d’origine en cliquant sur Afficher les bibliothèques. Si le cluster d’origine existe toujours, cette section est grisée.
Renommer l’exécution
Pour renommer une exécution, en haut à droite de la page d’exécution (en regard du bouton Kebab menu icon.Autorisations), cliquez sur l’icône de et sélectionnez Renommer.
Sélectionner des colonnes à afficher
Pour contrôler les colonnes affichées dans le tableau des exécutions de la page détails de l’expérience, cliquez sur Colonnes et sélectionnez-les dans le menu déroulant.
Séries de filtres
Vous pouvez rechercher des exécutions dans la table sur la page de détails de l’expérience en fonction des valeurs de paramètre ou de métrique. Vous pouvez également rechercher des exécutions par balise.
Pour rechercher des exécutions qui correspondent à une expression contenant des valeurs de paramètre et de métrique, entrez une requête dans le champ de recherche, puis appuyez sur Entrée. Voici quelques exemples de syntaxe de requête :
metrics.r2 > 0.3params.elasticNetParam = 0.5params.elasticNetParam = 0.5 AND metrics.avg_areaUnderROC > 0.3MIN(metrics.rmse) <= 1MAX(metrics.memUsage) > 0.9LATEST(metrics.memUsage) = 0 AND MIN(metrics.rmse) <= 1Par défaut, les valeurs de métrique sont filtrées en fonction de la dernière valeur journalisée. À l’aide de
MINouMAX, vous pouvez rechercher des exécutions en fonction des valeurs de métrique minimales ou maximales, respectivement. Seules les exécutions enregistrées après août 2024 ont des valeurs de métrique minimales et maximales.Pour rechercher des exécutions par balise, entrez des balises au format :
tags.<key>="<value>". Les valeurs de chaîne doivent être placées entre guillemets, comme indiqué.tags.estimator_name="RandomForestRegressor"tags.color="blue" AND tags.size=5Les clés et les valeurs peuvent contenir des espaces. Si la clé contient des espaces, vous devez la placer entre les battements comme indiqué.
tags.`my custom tag` = "my value"
Vous pouvez également filtrer les exécutions en fonction de leur état (actif ou supprimé), lors de la création de l’exécution et des jeux de données utilisés. Pour ce faire, effectuez vos sélections à partir des menus déroulants Time created, State ou Datasets respectivement.
Exécutions de téléchargement
Vous pouvez télécharger des exécutions à partir de la page détails de l’expérience comme suit :
Cliquez sur
Pour ouvrir le menu kebab.
Pour télécharger un fichier au format CSV contenant toutes les exécutions affichées (jusqu’à un maximum de 100), sélectionnez Télécharger
<n>les exécutions. MLflow crée et télécharge un fichier avec une exécution par ligne, contenant les champs suivants pour chaque exécution :Start Time, Duration, Run ID, Name, Source Type, Source Name, User, Status, <parameter1>, <parameter2>, ..., <metric1>, <metric2>, ...Si vous souhaitez télécharger plus de 100 exécutions ou si vous souhaitez télécharger des exécutions par programme, sélectionnez Télécharger toutes les exécutions. Une boîte de dialogue s’ouvre montrant un extrait de code que vous pouvez copier ou ouvrir dans un bloc-notes. Après avoir exécuté ce code dans une cellule de bloc-notes, sélectionnez Télécharger toutes les lignes à partir de la sortie de la cellule.
Supprimer les exécutions
Vous pouvez supprimer des exécutions de la page des détails de l’expérience en procédant comme suit :
- Dans l'expérience, sélectionnez une ou plusieurs exécutions en cliquant dans la case à cocher à gauche de l’exécution.
- Cliquez sur Supprimer.
- Si la série de tests est une exécution parente, déterminez si vous souhaitez également supprimer les exécutions descendantes. Cette option est sélectionnée par défaut.
- Cliquez sur Delete (Supprimer) pour confirmer. Les exécutions supprimées sont enregistrées pendant 30 jours. Pour afficher les exécutions supprimées, sélectionnez supprimé dans le champ État.
Exécutions de suppression en bloc basées sur l’heure de création
Vous pouvez utiliser Python pour supprimer en bloc les exécutions d’une expérience créées avant un horodatage UNIX ou au moment défini par celui-ci.
À l’aide de Databricks Runtime 14.1 ou d’une version ultérieure, vous pouvez appeler l’API mlflow.delete_runs pour supprimer les exécutions et retourner le nombre d’exécutions supprimées.
Voici les paramètres de mlflow.delete_runs :
-
experiment_id: ID de l’expérience contenant les exécutions à supprimer. -
max_timestamp_millis: horodatage de création maximal en millisecondes depuis l’époque UNIX pour la suppression des exécutions. Seules les exécutions créées avant ou au moment de cet horodatage sont supprimées. -
max_runs: Facultatif. Entier positif qui indique le nombre maximal d’exécutions à supprimer. La valeur maximale autorisée pour max_runs est de 10 000. Si la valeur n’est pas spécifiée, la valeur par défaut demax_runsest 10 000.
import mlflow
# Replace <experiment_id>, <max_timestamp_ms>, and <max_runs> with your values.
runs_deleted = mlflow.delete_runs(
experiment_id=<experiment_id>,
max_timestamp_millis=<max_timestamp_ms>,
max_runs=<max_runs>
)
# Example:
runs_deleted = mlflow.delete_runs(
experiment_id="4183847697906956",
max_timestamp_millis=1711990504000,
max_runs=10
)
À l’aide de Databricks Runtime 13.3 LTS ou version antérieure, vous pouvez exécuter le code client suivant dans un notebook Azure Databricks.
from typing import Optional
def delete_runs(experiment_id: str,
max_timestamp_millis: int,
max_runs: Optional[int] = None) -> int:
"""
Bulk delete runs in an experiment that were created prior to or at the specified timestamp.
Deletes at most max_runs per request.
:param experiment_id: The ID of the experiment containing the runs to delete.
:param max_timestamp_millis: The maximum creation timestamp in milliseconds
since the UNIX epoch for deleting runs. Only runs
created prior to or at this timestamp are deleted.
:param max_runs: Optional. A positive integer indicating the maximum number
of runs to delete. The maximum allowed value for max_runs
is 10000. If not specified, max_runs defaults to 10000.
:return: The number of runs deleted.
"""
from mlflow.utils.databricks_utils import get_databricks_host_creds
from mlflow.utils.request_utils import augmented_raise_for_status
from mlflow.utils.rest_utils import http_request
json_body = {"experiment_id": experiment_id, "max_timestamp_millis": max_timestamp_millis}
if max_runs is not None:
json_body["max_runs"] = max_runs
response = http_request(
host_creds=get_databricks_host_creds(),
endpoint="/api/2.0/mlflow/databricks/runs/delete-runs",
method="POST",
json=json_body,
)
augmented_raise_for_status(response)
return response.json()["runs_deleted"]
Pour connaître les paramètres et les spécifications de valeur de retour pour la suppression d’exécutions en fonction de l’heure de création, consultez la documentation de l’API Expériences Azure Databricks.
Restaurer des exécutions
Vous pouvez restaurer les exécutions précédemment supprimées de l’interface utilisateur comme suit :
- Dans la page Expérience , dans le champ État , sélectionnez Supprimé pour afficher les exécutions supprimées.
- Pour sélectionner une ou plusieurs exécutions, cochez la case à gauche de chaque exécution.
- Cliquez sur Restaurer.
- Cliquez sur Restaurer pour confirmer. Les exécutions restaurées s’affichent maintenant lorsque vous sélectionnez Actif dans le champ État.
Restauration en bloc d’exécutions en fonction de l’heure de suppression
Vous pouvez également utiliser Python pour restaurer en bloc les exécutions d’une expérience supprimées au moment d’un horodatage UNIX ou après celui-ci.
À l’aide de Databricks Runtime 14.1 ou version ultérieure, vous pouvez appeler l’API mlflow.restore_runs pour restaurer les exécutions et retourner le nombre d’exécutions restaurées.
Voici les paramètres de mlflow.restore_runs :
-
experiment_id: ID de l’expérience contenant les exécutions à restaurer. -
min_timestamp_millis: horodatage de suppression minimal en millisecondes depuis l’époque UNIX pour la restauration des exécutions. Seules les exécutions supprimées au moment de cet horodatage ou après celui-ci sont restaurées. -
max_runs: Facultatif. Entier positif qui indique le nombre maximal d’exécutions à restaurer. La valeur maximale autorisée pour max_runs est de 10 000. S’il n’est pas spécifié, max_runs est défini par défaut à 10 000.
import mlflow
# Replace <experiment_id>, <min_timestamp_ms>, and <max_runs> with your values.
runs_restored = mlflow.restore_runs(
experiment_id=<experiment_id>,
min_timestamp_millis=<min_timestamp_ms>,
max_runs=<max_runs>
)
# Example:
runs_restored = mlflow.restore_runs(
experiment_id="4183847697906956",
min_timestamp_millis=1711990504000,
max_runs=10
)
À l’aide de Databricks Runtime 13.3 LTS ou version antérieure, vous pouvez exécuter le code client suivant dans un notebook Azure Databricks.
from typing import Optional
def restore_runs(experiment_id: str,
min_timestamp_millis: int,
max_runs: Optional[int] = None) -> int:
"""
Bulk restore runs in an experiment that were deleted at or after the specified timestamp.
Restores at most max_runs per request.
:param experiment_id: The ID of the experiment containing the runs to restore.
:param min_timestamp_millis: The minimum deletion timestamp in milliseconds
since the UNIX epoch for restoring runs. Only runs
deleted at or after this timestamp are restored.
:param max_runs: Optional. A positive integer indicating the maximum number
of runs to restore. The maximum allowed value for max_runs
is 10000. If not specified, max_runs defaults to 10000.
:return: The number of runs restored.
"""
from mlflow.utils.databricks_utils import get_databricks_host_creds
from mlflow.utils.request_utils import augmented_raise_for_status
from mlflow.utils.rest_utils import http_request
json_body = {"experiment_id": experiment_id, "min_timestamp_millis": min_timestamp_millis}
if max_runs is not None:
json_body["max_runs"] = max_runs
response = http_request(
host_creds=get_databricks_host_creds(),
endpoint="/api/2.0/mlflow/databricks/runs/restore-runs",
method="POST",
json=json_body,
)
augmented_raise_for_status(response)
return response.json()["runs_restored"]
Pour connaître les paramètres et les spécifications de valeur de retour pour la restauration d’exécutions en fonction de l’heure de création, consultez la documentation de l’API Expériences Azure Databricks.
Comparer les exécutions
Vous pouvez comparer les exécutions à partir d’une seule expérience ou de plusieurs expériences. La page Comparaison des exécutions présente des informations sur les exécutions sélectionnées au format tabulaire. Vous pouvez également créer des visualisations des résultats d’exécution et des tables d’informations d’exécution, de paramètres d’exécution et de métriques. Consultez Comparer les exécutions et les modèles MLflow à l’aide de graphiques.
Les tables Paramètres et Métriques affichent les paramètres d’exécution et les métriques de toutes les exécutions sélectionnées. Les colonnes de ces tables sont identifiées par la table Détails de l’exécution immédiatement au-dessus. Pour simplifier, vous pouvez masquer les paramètres et les métriques identiques dans les exécutions sélectionnées en basculant
.
Comparer les exécutions à partir d’une seule expérience
- Dans la page des détails de l’expérience, sélectionnez deux exécutions ou plus en cliquant dans la case à gauche de l’exécution ou en cochant toutes les exécutions en cochant la case en haut de la colonne.
- Cliquez sur Comparer. L’écran Comparaison de
<N>exécutions s’affiche.
Comparer les exécutions de plusieurs expériences
- Dans la page expériences, sélectionnez les expériences que vous souhaitez comparer en cliquant dans la zone à gauche du nom de l’expérience.
- Cliquez sur Comparer (n) (n est le nombre d’expériences que vous avez sélectionnées). Un écran s’affiche montrant toutes les exécutions des expériences que vous avez sélectionnées.
- Sélectionnez deux exécutions ou plus en cliquant dans la case à cocher à gauche de l’exécution, ou sélectionnez toutes les exécutions en cochant la case en haut de la colonne.
- Cliquez sur Comparer. L’écran Comparaison de
<N>exécutions s’affiche.
Comparer les exécutions à l’aide de tables système
Les métadonnées MLflow pour les expériences et les exécutions sont également disponibles dans les tables système, où vous pouvez tirer parti de Databricks SQL et de tous les outils lakehouse proposés par Databricks pour analyser vos données d’expérience. Pour plus d’informations, consultez la référence des tables système MLflow.
Copier des exécutions entre des espaces de travail
Pour importer ou exporter des exécutions MLflow vers ou à partir de votre espace de travail Databricks, vous pouvez utiliser le projet open source MLflow Export-Import alimenté par la communauté.