Partilhar via


Referência de tabelas do sistema MLflow

Importante

As tabelas do sistema MLflow estão em Visualização pública.

As mlflow tabelas do sistema capturam metadados de experimentos gerenciados no serviço de rastreamento MLflow. Essas tabelas permitem que usuários privilegiados aproveitem as ferramentas do Databricks lakehouse em seus dados MLflow em todos os espaços de trabalho da região. Você pode usar as tabelas para criar painéis de IA/BI personalizados, configurar alertas SQL ou executar consultas analíticas em grande escala.

Através das tabelas do sistema, os mlflow usuários podem responder a perguntas como:

  • Quais experimentos têm a menor confiabilidade?
  • Qual é a utilização média da GPU em diferentes experimentos?

Observação

As mlflow tabelas do sistema começaram a registrar dados MLflow de todas as regiões em 2 de setembro de 2025. Os dados anteriores a essa data podem não estar disponíveis.

Tabelas disponíveis

O mlflow esquema inclui as seguintes tabelas:

  • system.mlflow.experiments_latest: Registra nomes de experimentos e eventos de exclusão suave. Esses dados são semelhantes à página de experimentos na interface do usuário MLflow.
  • system.mlflow.runs_latest: Registra as informações do ciclo de vida da execução, os parâmetros e tags associados a cada execução e as estatísticas agregadas de valores mínimos, máximos e mais recentes de todas as métricas. Esses dados são semelhantes à página de detalhes de execução de pesquisa ou execução.
  • system.mlflow.run_metrics_history: Registra o nome, o valor, o carimbo de data/hora e a etapa de todas as métricas registradas em execuções, que podem ser usadas para plotar séries cronológicas detalhadas de execuções. Esses dados são semelhantes à guia métricas na página de detalhes de execução.

A seguir está um exemplo de plotagem de informações de execução usando um painel:

Executar painel de detalhes

Esquemas de tabela

Abaixo estão os esquemas de tabela com descrições e dados de exemplo.

Diagrama ER

system.mlflow.experiments_latest

Nome da coluna Tipo de dados Description Example Anulável
account_id cadeia (de caracteres) A ID da conta que contém o experimento MLflow "bd59efba-4444-4444-443f-44444449203" Não
update_time carimbo de data/hora A hora do sistema quando o experimento foi atualizado pela última vez 2024-06-27T00:58:57.000+00:00 Não
delete_time carimbo de data/hora A hora do sistema em que o experimento MLflow foi excluído suavemente pelo usuário 2024-07-02T12:42:59.000+00:00 Yes
experiment_id cadeia (de caracteres) A ID do experimento MLflow "2667956459304720" Não
workspace_id cadeia (de caracteres) A ID do espaço de trabalho que contém o experimento MLflow "6051921418418893" Não
name cadeia (de caracteres) Nome do experimento fornecido pelo usuário "/Users/first.last@databricks.com/myexperiment" Não
create_time carimbo de data/hora A hora do sistema em que o experimento foi criado 2024-06-27T00:58:57.000+00:00 Não

system.mlflow.runs_latest

Nome da coluna Tipo de dados Description Example Anulável
account_id cadeia (de caracteres) O ID da conta que contém a execução MLflow "bd59efba-4444-4444-443f-44444449203" Não
update_time carimbo de data/hora A hora do sistema em que a execução foi atualizada pela última vez 2024-06-27T00:58:57.000+00:00 Não
delete_time carimbo de data/hora A hora do sistema em que a execução do MLflow foi excluída suavemente pelo usuário 2024-07-02T12:42:59.000+00:00 Yes
workspace_id cadeia (de caracteres) A ID do espaço de trabalho que contém a execução do MLflow "6051921418418893" Não
run_id cadeia (de caracteres) A ID da execução do MLflow "7716d750d279487c95f64a75bff2ad56" Não
experiment_id cadeia (de caracteres) A ID do experimento MLflow que contém a execução MLflow "2667956459304720" Não
created_by cadeia (de caracteres) O nome do principal ou usuário do Databricks que criou a execução do MLflow "<user>@<domain-name>" Yes
start_time carimbo de data/hora A hora especificada pelo usuário quando a execução do MLflow foi iniciada 2024-06-27T00:58:57.000+00:00 Não
end_time carimbo de data/hora A hora especificada pelo usuário quando a execução do MLflow terminou 2024-07-02T12:42:59.000+00:00 Yes
run_name cadeia (de caracteres) O nome da execução do MLflow "wistful-deer-932", "my-xgboost-training-run" Não
status cadeia (de caracteres) O status de execução da execução do MLflow "FINISHED" Não
params cadeia de caracteres do mapa<, string> Parâmetros-chave-valor da execução MLflow {"n_layers": "5", "batch_size": "64", "optimizer": "Adam"} Não
tags cadeia de caracteres do mapa<, string> Tags chave-valor definidas na execução MLflow {"ready_for_review": "true"} Não
aggregated_metrics lista<struct<string, double, double, double>> Uma exibição agregada resumindo as métricas no run_metrics_history [{"metric_name": "training_accuracy", "latest_value": 0.97, "min_value": 0.8, "max_value": 1.0}, ...] Não
aggregated_metrics.metric_name cadeia (de caracteres) O nome especificado pelo usuário da métrica "training_accuracy" Não
aggregated_metrics.latest_value duplo O valor mais recente do metric_name na série temporal desta combinação (run, metric_name) em run_metrics_history 0.97 Não
aggregated_metrics.max_value duplo O valor máximo do metric_name na série temporal desta combinação (run, metric_name) em run_metrics_history. Se qualquer valor de NaN foi registrado para uma métrica, o valor será NaN 1.0 Não
aggregated_metrics.min_value duplo O valor mínimo do metric_name na série temporal desta combinação (run, metric_name) em run_metrics_history. Se qualquer valor de NaN foi registrado para uma métrica, o valor será NaN 0.8 Não

system.mlflow.run_metrics_history

Nome da coluna Tipo de dados Description Example Anulável
account_id cadeia (de caracteres) A ID da conta que contém a execução MLflow na qual a métrica foi registrada "bd59efba-4444-4444-443f-44444449203" Não
insert_time carimbo de data/hora A hora do sistema em que a métrica foi inserida 2024-06-27T00:58:57.000+00:00 Não
record_id cadeia (de caracteres) Um identificador único da métrica para distinguir entre valores idênticos "Ae1mDT5gFMSUwb+UUTuXMQ==" Não
workspace_id cadeia (de caracteres) A ID do espaço de trabalho que contém a execução MLflow na qual a métrica foi registrada "6051921418418893" Não
experiment_id cadeia (de caracteres) A ID do experimento MLflow que contém a execução MLflow na qual a métrica foi registrada "2667956459304720" Não
run_id cadeia (de caracteres) A ID da execução MLflow na qual a métrica foi registrada "7716d750d279487c95f64a75bff2ad56" Não
metric_name cadeia (de caracteres) O nome da métrica "training_accuracy" Não
metric_time carimbo de data/hora A hora especificada pelo usuário quando a métrica foi calculada 2024-06-27T00:55:54.1231+00:00 Não
metric_step bigint A etapa (por exemplo, época) de treinamento de modelo ou desenvolvimento de agente na qual a métrica foi registrada 10 Não
metric_value duplo O valor da métrica 0.97 Não

Partilhar o acesso com os utilizadores

Por padrão, apenas os administradores de conta têm acesso aos esquemas do sistema. Para dar acesso a usuários adicionais às tabelas, um administrador de conta deve conceder-lhes o USE e SELECT as system.mlflow. permissões no esquema. Consulte privilégios do Catálogo Unity e objetos securitizáveis.

Qualquer usuário que tenha acesso a essas tabelas pode exibir metadados em todos os experimentos MLflow para todos os espaços de trabalho na conta. Para configurar o acesso à tabela para um determinado grupo em vez de usuários individuais, consulte Práticas recomendadas do Catálogo Unity.

Se você precisar de um controle mais refinado do que conceder a todos os usuários acesso à tabela, poderá usar exibições dinâmicas com critérios personalizados para conceder determinado acesso aos grupos. Por exemplo, você pode criar um modo de exibição que mostre apenas registros de um determinado conjunto de IDs de experimento. Depois de configurar um modo de exibição personalizado, dê o nome do modo de exibição aos usuários para que eles possam consultar o modo de exibição dinâmico em vez da tabela do sistema diretamente.

Observação

Não é possível sincronizar diretamente as permissões de experimento MLflow com as permissões do Catálogo Unity.

Exemplos de casos de uso de metadados MLflow

As seções a seguir fornecem exemplos de como você pode usar as tabelas do sistema MLflow para responder a perguntas sobre seus experimentos e execuções MLflow.

Configurar um alerta SQL para baixa confiabilidade do experimento

Usando alertas SQL do Databricks (Visualização Pública), você pode agendar uma consulta recorrente regularmente e ser notificado se determinadas restrições não forem mais atendidas.

Este exemplo cria um alerta que examina os experimentos executados com mais freqüência em seu espaço de trabalho para determinar se eles estão tendo baixa confiabilidade e podem precisar de atenção especial. A consulta usa a runs_latest tabela para calcular as execuções por experimento marcadas como concluídas, divididas pelo número total de execuções.

Observação

A funcionalidade de Alertas SQL está atualmente em Visualização Pública, e pode também usar alertas legados.

  1. Clique em Alertas Ícone Alertas na barra lateral e clique em Criar alerta.

  2. Copie e cole a seguinte consulta no editor de consultas.

     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. No campo Condição , defina as condições como MIN success_ratio < 0.9. Isso acionará o alerta se algum dos 20 principais experimentos (por número de execuções) tiver uma taxa de sucesso inferior a 90%.

Além disso, você pode testar a condição, definir uma programação e configurar notificações. Para obter mais informações sobre como configurar o alerta, consulte Configurando um alerta SQL. Abaixo está um exemplo de configuração usando a consulta.

Configuração de alerta SQL

Exemplos de consultas

Você pode usar as seguintes consultas de exemplo para obter informações sobre a atividade MLflow em sua conta usando o Databricks SQL. Você também pode aproveitar ferramentas como notebooks Python com o Spark.

Obter informações de execução 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

Isso retorna informações sobre a execução dada:

Informações de execução dos resultados da consulta

Obtenha informações experimentais e executadas de 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

Obtenha estatísticas resumidas para uma determinada execução a 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

Isso retorna um resumo das métricas para o dado run_id:

Os resultados da consulta executam métricas de resumo

Painéis para experimentos e execuções

Você pode criar painéis sobre os dados das tabelas do sistema MLflow para analisar seus experimentos MLflow e execuções a partir de todo o espaço de trabalho.

Para obter mais detalhes, consulte Criar painéis com metadados MLflow em tabelas do sistema