Partager via


Informations de référence sur les tables système MLflow

Important

Les tables système MLflow sont en préversion publique.

Les mlflow tables système capturent les métadonnées d’expérience gérées dans le service de suivi MLflow. Ces tables permettent aux utilisateurs privilégiés de tirer parti des outils Databricks lakehouse sur leurs données MLflow sur tous les espaces de travail de la région. Vous pouvez utiliser les tables pour créer des tableaux de bord IA/BI personnalisés, configurer des alertes SQL ou effectuer des requêtes analytiques à grande échelle.

Par le biais des mlflow tables système, les utilisateurs peuvent répondre à des questions telles que :

  • Quelles expériences ont la plus faible fiabilité ?
  • Quelle est l’utilisation moyenne du GPU dans différentes expériences ?

Note

Les mlflow tables système ont commencé à enregistrer les données MLflow de toutes les régions le 2 septembre 2025. Les données antérieures à cette date peuvent ne pas être disponibles.

Tables disponibles

Le mlflow schéma comprend les tableaux suivants :

  • system.mlflow.experiments_latest: enregistre les noms des expériences et les événements de suppression réversible. Ces données sont similaires à la page des expériences de l’interface utilisateur MLflow.
  • system.mlflow.runs_latest: enregistre les informations de cycle de vie des exécutions, les paramètres et balises associés à chaque exécution et les statistiques agrégées de min, max et les dernières valeurs de toutes les métriques. Ces données sont similaires à la page de détails de recherche ou d’exécution des exécutions.
  • system.mlflow.run_metrics_history: enregistre le nom, la valeur, l’horodatage et l’étape de toutes les métriques journalisées sur les exécutions, qui peuvent être utilisées pour tracer des séries chronologiques détaillées à partir des exécutions. Ces données sont similaires à l’onglet Métriques de la page de détails des exécutions.

Voici un exemple de traçage des informations d’exécution à l’aide d’un tableau de bord :

Exécuter le tableau de bord détails

Schémas de table

Vous trouverez ci-dessous les schémas de tableau avec des descriptions et des exemples de données.

Diagramme ER

system.mlflow.experiments_latest

Nom de colonne Type de données Descriptif Example Autorise la valeur Null
account_id ficelle ID du compte contenant l’expérience MLflow "bd59efba-4444-4444-443f-44444449203" Non
update_time horodatage Heure système de la dernière mise à jour de l’expérience 2024-06-27T00:58:57.000+00:00 Non
delete_time horodatage Heure système de la suppression réversible de l’expérience MLflow par l’utilisateur 2024-07-02T12:42:59.000+00:00 Oui
experiment_id ficelle ID de l’expérience MLflow "2667956459304720" Non
workspace_id ficelle ID de l’espace de travail contenant l’expérience MLflow "6051921418418893" Non
name ficelle Nom fourni par l’utilisateur de l’expérience "/Users/first.last@databricks.com/myexperiment" Non
create_time horodatage Heure système de création de l’expérience 2024-06-27T00:58:57.000+00:00 Non

system.mlflow.runs_latest

Nom de colonne Type de données Descriptif Example Autorise la valeur Null
account_id ficelle ID du compte contenant l’exécution de MLflow "bd59efba-4444-4444-443f-44444449203" Non
update_time horodatage Heure système de la dernière mise à jour de l’exécution 2024-06-27T00:58:57.000+00:00 Non
delete_time horodatage Heure système à laquelle l’exécution de MLflow a été supprimée de manière réversible par l’utilisateur 2024-07-02T12:42:59.000+00:00 Oui
workspace_id ficelle ID de l’espace de travail contenant l’exécution de MLflow "6051921418418893" Non
run_id ficelle ID de l’exécution MLflow "7716d750d279487c95f64a75bff2ad56" Non
experiment_id ficelle ID de l’expérience MLflow contenant l’exécution MLflow "2667956459304720" Non
created_by ficelle Nom du principal ou de l’utilisateur Databricks qui a créé l’exécution MLflow "<user>@<domain-name>" Oui
start_time horodatage Heure spécifiée par l’utilisateur lors du démarrage de l’exécution de MLflow 2024-06-27T00:58:57.000+00:00 Non
end_time horodatage Heure spécifiée par l’utilisateur lors de la fin de l’exécution de MLflow 2024-07-02T12:42:59.000+00:00 Oui
run_name ficelle Nom de l’exécution MLflow "wistful-deer-932", "my-xgboost-training-run" Non
status ficelle État d’exécution de l’exécution MLflow "FINISHED" Non
params chaîne de carte<, chaîne> Paramètres clé-valeur de l’exécution MLflow {"n_layers": "5", "batch_size": "64", "optimizer": "Adam"} Non
tags chaîne de carte<, chaîne> Balises clé-valeur définies sur l’exécution de MLflow {"ready_for_review": "true"} Non
aggregated_metrics chaîne de struct<de liste<, double, double, double>> Vue agrégée récapitunant les métriques dans la run_metrics_history [{"metric_name": "training_accuracy", "latest_value": 0.97, "min_value": 0.8, "max_value": 1.0}, ...] Non
aggregated_metrics.metric_name ficelle Nom spécifié par l’utilisateur de la métrique "training_accuracy" Non
aggregated_metrics.latest_value double Valeur la plus récente de la metric_name dans la série chronologique de cette combinaison (exécution, metric_name) dans run_metrics_history 0.97 Non
aggregated_metrics.max_value double Valeur maximale de la metric_name dans la série chronologique de cette combinaison (exécution, metric_name) dans run_metrics_history. Si une valeur NaN a été enregistrée pour une métrique, la valeur sera NaN 1.0 Non
aggregated_metrics.min_value double Valeur minimale de la metric_name dans la série chronologique de cette combinaison (exécuter, metric_name) dans run_metrics_history. Si une valeur NaN a été enregistrée pour une métrique, la valeur sera NaN 0.8 Non

system.mlflow.run_metrics_history

Nom de colonne Type de données Descriptif Example Autorise la valeur Null
account_id ficelle ID du compte contenant l’exécution de MLflow dans laquelle la métrique a été journalisée "bd59efba-4444-4444-443f-44444449203" Non
insert_time horodatage Heure système à laquelle la métrique a été insérée 2024-06-27T00:58:57.000+00:00 Non
record_id ficelle Identificateur unique de la métrique pour faire la distinction entre les valeurs identiques "Ae1mDT5gFMSUwb+UUTuXMQ==" Non
workspace_id ficelle ID de l’espace de travail contenant l’exécution de MLflow dans laquelle la métrique a été journalisée "6051921418418893" Non
experiment_id ficelle ID de l’expérience MLflow contenant l’exécution de MLflow sur laquelle la métrique a été journalisée "2667956459304720" Non
run_id ficelle ID de l’exécution de MLflow sur laquelle la métrique a été journalisée "7716d750d279487c95f64a75bff2ad56" Non
metric_name ficelle Le nom de la métrique "training_accuracy" Non
metric_time horodatage Heure spécifiée par l’utilisateur lors du calcul de la métrique 2024-06-27T00:55:54.1231+00:00 Non
metric_step bigint Étape (par exemple, époque) du développement d’un modèle ou d’agent auquel la métrique a été journalisée 10 Non
metric_value double Valeur de la métrique 0.97 Non

Partage d’accès avec les utilisateurs

Par défaut, seuls les administrateurs de compte ont accès aux schémas système. Pour accorder à d’autres utilisateurs l’accès aux tables, un administrateur de compte doit leur accorder l’UTILISATION et SELECT les autorisations sur le system.mlflow. schéma. Consultez Privilèges Unity Catalog et objets sécurisables.

Tout utilisateur ayant accès à ces tables peut afficher les métadonnées sur toutes les expériences MLflow pour tous les espaces de travail du compte. Pour configurer l’accès aux tables pour un groupe donné plutôt que pour des utilisateurs individuels, consultez les meilleures pratiques du catalogue Unity.

Si vous avez besoin d’un contrôle plus précis que d’accorder à tous les utilisateurs l’accès à la table, vous pouvez utiliser des vues dynamiques avec des critères personnalisés pour accorder à des groupes certains accès. Par exemple, vous pouvez créer une vue qui affiche uniquement les enregistrements d’un ensemble particulier d’ID d’expérience. Après avoir configuré une vue personnalisée, donnez le nom de la vue à vos utilisateurs afin qu’ils puissent interroger l’affichage dynamique plutôt que la table système directement.

Note

Vous ne pouvez pas synchroniser directement les autorisations d’expérience MLflow avec les autorisations du catalogue Unity.

Exemples de cas d’utilisation de métadonnées MLflow

Les sections suivantes donnent des exemples de la façon dont vous pouvez utiliser les tables système MLflow pour répondre à des questions sur vos expériences et exécutions MLflow.

Configurer une alerte SQL pour une faible fiabilité des expériences

À l’aide des alertes Databricks SQL (préversion publique), vous pouvez planifier une requête périodique régulière et être averti si certaines contraintes ne sont plus remplies.

Cet exemple crée une alerte qui examine les expériences les plus fréquemment exécutées au sein de votre espace de travail pour déterminer si elles rencontrent une faible fiabilité et peuvent avoir besoin d’une attention particulière. La requête utilise la runs_latest table pour calculer les exécutions par expérience marquées comme terminées, divisées par le nombre total d’exécutions.

Note

La fonctionnalité Alertes SQL est actuellement en préversion publique et vous pouvez également utiliser des alertes héritées .

  1. Cliquez sur Alertes dans la barre latérale, puis cliquez sur Créer une alerte.

  2. Copiez et collez la requête suivante dans l’éditeur de requête.

     SELECT
       experiment_id,
       AVG(CASE WHEN status = 'FINISHED' THEN 1.0 ELSE 0.0 END) AS success_ratio,
       COUNT(status) AS run_count
     FROM system.mlflow.runs_latest
     WHERE status IS NOT NULL
     GROUP BY experiment_id
     ORDER BY run_count DESC
     LIMIT 20;
    
  3. Dans le champ Condition , définissez les conditions sur MIN success_ratio < 0.9. Cela déclenche l’alerte si l’une des 20 premières expériences (par nombre d’exécutions) a un rapport de réussite inférieur à 90%.

En outre, vous pouvez tester la condition, définir une planification et configurer des notifications. Pour plus d’informations sur la configuration de l’alerte, consultez la configuration d’une alerte SQL. Vous trouverez ci-dessous un exemple de configuration à l’aide de la requête.

Configuration des alertes SQL

Exemples de requêtes

Vous pouvez utiliser les exemples de requêtes suivants pour obtenir des informations sur l’activité MLflow dans votre compte à l’aide de Databricks SQL. Vous pouvez également tirer parti d’outils tels que les notebooks Python avec Spark.

Obtenir des informations d’exécution à partir de runs_latest

SELECT
  run_name,
  date(start_time) AS start_date,
  status,
  TIMESTAMPDIFF(MINUTE, start_time, end_time) AS run_length_minutes
FROM system.mlflow.runs_latest
WHERE
  experiment_id = :experiment_id
  AND run_id = :run_id
LIMIT 1

Cela retourne des informations sur l’exécution donnée :

Informations d’exécution des résultats de requête

Obtenir des informations d’expérience et d’exécution à partir de experiments_latest et runs_latest

SELECT
  runs.run_name,
  experiments.name,
  date(runs.start_time) AS start_date,
  runs.status,
  TIMESTAMPDIFF(MINUTE, runs.start_time, runs.end_time) AS run_length_minutes
FROM system.mlflow.runs_latest runs
  JOIN system.mlflow.experiments_latest experiments ON runs.experiment_id = experiments.experiment_id
  WHERE
    runs.experiment_id = :experiment_id
    AND runs.run_id = :run_id
LIMIT 1

Obtenir des statistiques récapitulatives pour une exécution donnée à partir de run_metrics_history

SELECT
  metric_name,
  count(metric_time) AS num_data_points,
  ROUND(avg(metric_value), 1) AS avg,
  ROUND(max(metric_value), 1) AS max,
  ROUND(min(metric_value), 1) AS min,
  ROUND(PERCENTILE_CONT(0.25) WITHIN GROUP (ORDER BY metric_value), 1) AS pct_25,
  ROUND(PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY metric_value), 1) AS median,
  ROUND(PERCENTILE_CONT(0.75) WITHIN GROUP (ORDER BY metric_value), 1) AS pct_75
FROM
  system.mlflow.run_metrics_history
WHERE
  run_id = :run_id
GROUP BY
  metric_name, run_id
LIMIT 100

Cette opération renvoie un résumé des métriques pour l’élément donné run_id:

Les résultats de la requête exécutent des métriques récapitulatives

Tableaux de bord pour les expériences et les exécutions

Vous pouvez créer des tableaux de bord sur des données de tables système MLflow pour analyser vos expériences MLflow et les exécuter à partir de l’ensemble de l’espace de travail.

Pour plus d’informations, consultez Générer des tableaux de bord avec des métadonnées MLflow dans les tables système