Condividi tramite


Informazioni di riferimento sulle tabelle di sistema MLflow

Importante

Le tabelle di sistema MLflow sono disponibili in anteprima pubblica.

Le tabelle di mlflow sistema acquisiscano i metadati dell'esperimento gestiti all'interno del servizio di rilevamento MLflow. Queste tabelle consentono agli utenti con privilegi di sfruttare gli strumenti databricks lakehouse sui dati MLflow in tutte le aree di lavoro all'interno dell'area. È possibile usare le tabelle per creare dashboard di intelligenza artificiale/BI personalizzati, configurare avvisi SQL o eseguire query analitiche su larga scala.

Tramite le tabelle di mlflow sistema, gli utenti possono rispondere a domande come:

  • Quali esperimenti hanno l'affidabilità più bassa?
  • Qual è l'utilizzo medio della GPU tra esperimenti diversi?

Annotazioni

Le tabelle di mlflow sistema hanno iniziato a registrare i dati di MLflow da tutte le aree il 2 settembre 2025. I dati precedenti a tale data potrebbero non essere disponibili.

Tabelle disponibili

Lo mlflow schema include le tabelle seguenti:

  • system.mlflow.experiments_latest: registra i nomi degli esperimenti e gli eventi di eliminazione temporanea. Questi dati sono simili alla pagina esperimenti nell'interfaccia utente di MLflow.
  • system.mlflow.runs_latest: registra informazioni sul ciclo di vita di esecuzione, i parametri e i tag associati a ogni esecuzione e statistiche aggregate di valori min, max e latest di tutte le metriche. Questi dati sono simili alla pagina di ricerca o esecuzione della pagina dei dettagli.
  • system.mlflow.run_metrics_history: registra il nome, il valore, il timestamp e il passaggio di tutte le metriche registrate nelle esecuzioni, che possono essere usate per tracciare tempi dettagliati dalle esecuzioni. Questi dati sono simili alla scheda metriche nella pagina dei dettagli delle esecuzioni.

Di seguito è riportato un esempio di traccia delle informazioni sull'esecuzione usando un dashboard:

Dashboard dettagli esecuzione

Schemi di tabella

Di seguito sono riportati gli schemi di tabella con descrizioni e dati di esempio.

Diagramma ER

system.mlflow.experiments_latest

Nome della colonna Tipo di dati Description Example Annulabile
account_id corda ID dell'account contenente l'esperimento MLflow "bd59efba-4444-4444-443f-44444449203" NO
update_time Marca temporale Ora di sistema dell'ultimo aggiornamento dell'esperimento 2024-06-27T00:58:57.000+00:00 NO
delete_time Marca temporale Ora di sistema in cui l'esperimento MLflow è stato eliminato temporaneamente dall'utente 2024-07-02T12:42:59.000+00:00 Yes
experiment_id corda ID dell'esperimento MLflow "2667956459304720" NO
workspace_id corda ID dell'area di lavoro contenente l'esperimento MLflow "6051921418418893" NO
name corda Nome fornito dall'utente dell'esperimento "/Users/first.last@databricks.com/myexperiment" NO
create_time Marca temporale Ora di sistema in cui è stato creato l'esperimento 2024-06-27T00:58:57.000+00:00 NO

system.mlflow.runs_latest

Nome della colonna Tipo di dati Description Example Annulabile
account_id corda ID dell'account contenente l'esecuzione di MLflow "bd59efba-4444-4444-443f-44444449203" NO
update_time Marca temporale Ora di sistema dell'ultimo aggiornamento dell'esecuzione 2024-06-27T00:58:57.000+00:00 NO
delete_time Marca temporale Ora di sistema in cui l'esecuzione di MLflow è stata eliminata temporaneamente dall'utente 2024-07-02T12:42:59.000+00:00 Yes
workspace_id corda ID dell'area di lavoro contenente l'esecuzione di MLflow "6051921418418893" NO
run_id corda ID dell'esecuzione di MLflow "7716d750d279487c95f64a75bff2ad56" NO
experiment_id corda ID dell'esperimento MLflow contenente l'esecuzione MLflow "2667956459304720" NO
created_by corda Nome dell'entità o dell'utente di Databricks che ha creato l'esecuzione di MLflow "<user>@<domain-name>" Yes
start_time Marca temporale Ora specificata dall'utente all'avvio dell'esecuzione di MLflow 2024-06-27T00:58:57.000+00:00 NO
end_time Marca temporale Ora specificata dall'utente al termine dell'esecuzione di MLflow 2024-07-02T12:42:59.000+00:00 Yes
run_name corda Nome dell'esecuzione di MLflow "wistful-deer-932", "my-xgboost-training-run" NO
status corda Stato di esecuzione dell'esecuzione di MLflow "FINISHED" NO
params stringa della mappa<, stringa> Parametri chiave-valore dell'esecuzione di MLflow {"n_layers": "5", "batch_size": "64", "optimizer": "Adam"} NO
tags stringa della mappa<, stringa> Tag chiave-valore impostati nell'esecuzione di MLflow {"ready_for_review": "true"} NO
aggregated_metrics list<struct<string, double, double, double>> Visualizzazione aggregata che riepiloga le metriche nel run_metrics_history [{"metric_name": "training_accuracy", "latest_value": 0.97, "min_value": 0.8, "max_value": 1.0}, ...] NO
aggregated_metrics.metric_name corda Nome specificato dall'utente della metrica "training_accuracy" NO
aggregated_metrics.latest_value doppio Valore più recente della metric_name nella serie temporale di questa combinazione (esecuzione, metric_name) in run_metrics_history 0.97 NO
aggregated_metrics.max_value doppio Valore massimo del metric_name nella serie temporale di questa combinazione (esecuzione, metric_name) in run_metrics_history. Se un valore NaN è stato registrato per una metrica, il valore sarà NaN 1.0 NO
aggregated_metrics.min_value doppio Valore minimo del metric_name nella serie temporale di questa combinazione (esecuzione, metric_name) in run_metrics_history. Se un valore NaN è stato registrato per una metrica, il valore sarà NaN 0.8 NO

system.mlflow.run_metrics_history

Nome della colonna Tipo di dati Description Example Annulabile
account_id corda ID dell'account contenente l'esecuzione MLflow a cui è stata registrata la metrica "bd59efba-4444-4444-443f-44444449203" NO
insert_time Marca temporale Ora di sistema in cui è stata inserita la metrica 2024-06-27T00:58:57.000+00:00 NO
record_id corda Identificatore univoco della metrica da distinguere tra valori identici "Ae1mDT5gFMSUwb+UUTuXMQ==" NO
workspace_id corda ID dell'area di lavoro contenente l'esecuzione MLflow a cui è stata registrata la metrica "6051921418418893" NO
experiment_id corda ID dell'esperimento MLflow contenente l'esecuzione MLflow a cui è stata registrata la metrica "2667956459304720" NO
run_id corda ID dell'esecuzione MLflow a cui è stata registrata la metrica "7716d750d279487c95f64a75bff2ad56" NO
metric_name corda Il nome della metrica "training_accuracy" NO
metric_time Marca temporale Ora specificata dall'utente durante il calcolo della metrica 2024-06-27T00:55:54.1231+00:00 NO
metric_step bigint Passaggio (ad esempio, periodo) di training del modello o dello sviluppo dell'agente in cui è stata registrata la metrica 10 NO
metric_value doppio Valore della metrica 0.97 NO

Condivisione dell'accesso con gli utenti

Per impostazione predefinita, solo gli amministratori dell'account hanno accesso agli schemi di sistema. Per concedere ad altri utenti l'accesso alle tabelle, un amministratore dell'account deve concedere loro le autorizzazioni USE e SELECT per lo system.mlflow. schema. Vedere i privilegi e gli oggetti proteggibili di Unity Catalog.

Qualsiasi utente che ha accesso a queste tabelle può visualizzare i metadati in tutti gli esperimenti MLflow per tutte le aree di lavoro nell'account. Per configurare l'accesso alle tabelle per un determinato gruppo anziché per singoli utenti, vedere Procedure consigliate per il catalogo Unity.

Se è necessario un controllo più dettagliato rispetto alla concessione di tutti gli utenti all'accesso alla tabella, è possibile usare visualizzazioni dinamiche con criteri personalizzati per concedere a gruppi determinati accessi. Ad esempio, è possibile creare una visualizzazione che mostra solo i record di un determinato set di ID esperimento. Dopo aver configurato una visualizzazione personalizzata, assegnare il nome della visualizzazione agli utenti in modo che possano eseguire query sulla visualizzazione dinamica anziché direttamente sulla tabella di sistema.

Annotazioni

Non è possibile sincronizzare direttamente le autorizzazioni dell'esperimento MLflow con le autorizzazioni del catalogo Unity.

Casi d'uso di esempio di metadati MLflow

Le sezioni seguenti forniscono esempi di come usare le tabelle di sistema MLflow per rispondere a domande sugli esperimenti e sulle esecuzioni di MLflow.

Configurare un avviso SQL per un'affidabilità dell'esperimento insufficiente

Usando gli avvisi SQL di Databricks (anteprima pubblica) è possibile pianificare una query ricorrente regolarmente e ricevere una notifica se determinati vincoli non vengono più soddisfatti.

In questo esempio viene creato un avviso che esamina gli esperimenti eseguiti più di frequente all'interno dell'area di lavoro per determinare se si verifica una bassa affidabilità e potrebbe richiedere particolare attenzione. La query usa la runs_latest tabella per calcolare le esecuzioni per esperimento contrassegnate come completate, suddivise per il numero totale di esecuzioni.

Annotazioni

La funzionalità Avvisi SQL è attualmente disponibile in anteprima pubblica ed è anche possibile usare gli avvisi legacy .

  1. Fare clic su Avvisi Icona Avvisi nella barra laterale e fare clic su Crea avviso.

  2. Copiare e incollare la query seguente nell'editor di query.

     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. Nel campo Condizione impostare le condizioni su MIN success_ratio < 0.9. Verrà attivato l'avviso se uno dei primi 20 esperimenti (per numero di esecuzioni) ha un rapporto di esito positivo inferiore a 90%.

Inoltre, è possibile testare la condizione, impostare una pianificazione e configurare le notifiche. Per altre informazioni sulla configurazione dell'avviso, vedere Configurazione di un avviso SQL. Di seguito è riportata una configurazione di esempio che usa la query.

Configurazione degli avvisi SQL

Interrogazioni di esempio

È possibile usare le query di esempio seguenti per ottenere informazioni sull'attività MLflow nell'account usando Databricks SQL. È anche possibile sfruttare strumenti come i notebook Python con Spark.

Ottenere informazioni sull'esecuzione da 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

Vengono restituite informazioni sull'esecuzione specificata:

Informazioni sull'esecuzione dei risultati delle query

Ottenere informazioni sull'esperimento ed eseguire da experiments_latest e 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

Ottenere statistiche di riepilogo per una determinata esecuzione da 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

Viene restituito un riepilogo delle metriche per l'oggetto specificato run_id:

Metriche di riepilogo esecuzione risultati query

Dashboard per esperimenti ed esecuzioni

È possibile creare dashboard sui dati delle tabelle di sistema MLflow per analizzare gli esperimenti MLflow ed eseguire dall'intera area di lavoro.

Per altri dettagli, vedere Creare dashboard con metadati MLflow nelle tabelle di sistema