Compartilhar via


Referência de tabelas do sistema MLflow

Importante

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

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

Por meio das tabelas do mlflow sistema, os usuários podem responder perguntas como:

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

Observação

As mlflow tabelas do sistema começaram a registrar dados do MLflow de todas as regiões em 2 de setembro de 2025. Os dados de antes dessa 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 reversível. Esses dados são semelhantes à página de experimentos na interface do usuário do MLflow.
  • system.mlflow.runs_latest: registra informações de ciclo de vida de execução, os parâmetros e marcas associados a cada execução e 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 pesquisa de execuções ou execuções.
  • 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 tempos detalhados de execuções. Esses dados são semelhantes à guia de métricas na página de detalhes de execuções.

Veja a seguir um exemplo de plotagem de informações de execução usando um painel:

painel de detalhes da execução

Esquemas de tabela

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

Diagrama de ER

system.mlflow.experiments_latest

Nome da coluna Tipo de dados Description Example Anulável
account_id cadeia A ID da conta que contém o experimento do MLflow "bd59efba-4444-4444-443f-44444449203" Não
update_time carimbo de data/hora A hora do sistema em que 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 do MLflow foi excluído suavemente pelo usuário 2024-07-02T12:42:59.000+00:00 Yes
experiment_id cadeia A ID do experimento do MLflow "2667956459304720" Não
workspace_id cadeia A ID do workspace que contém o experimento do MLflow "6051921418418893" Não
name cadeia Nome fornecido pelo usuário do experimento "/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 A ID da conta que contém a execução do 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 A ID do workspace que contém a execução do MLflow "6051921418418893" Não
run_id cadeia A ID da execução do MLflow "7716d750d279487c95f64a75bff2ad56" Não
experiment_id cadeia A ID do experimento do MLflow que contém a execução do MLflow "2667956459304720" Não
created_by cadeia O nome da entidade de segurança 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 O nome da execução do MLflow "wistful-deer-932", "my-xgboost-training-run" Não
status cadeia O status de execução da execução do MLflow "FINISHED" Não
params cadeia de caracteres do mapa<, cadeia de caracteres> Parâmetros chave-valor da execução do MLflow {"n_layers": "5", "batch_size": "64", "optimizer": "Adam"} Não
tags cadeia de caracteres do mapa<, cadeia de caracteres> Marcas chave-valor definidas na execução do MLflow {"ready_for_review": "true"} Não
aggregated_metrics cadeia de caracteres de struct<de lista<, duplo, duplo, duplo>> 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 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 dessa 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 dessa combinação (execução, metric_name) em run_metrics_history. Se qualquer valor naN tiver sido 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 dessa combinação (execução, metric_name) em run_metrics_history. Se qualquer valor naN tiver sido 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 A ID da conta que contém a execução do MLflow para a 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 Um identificador exclusivo da métrica para distinguir entre valores idênticos "Ae1mDT5gFMSUwb+UUTuXMQ==" Não
workspace_id cadeia A ID do workspace que contém a execução do MLflow na qual a métrica foi registrada "6051921418418893" Não
experiment_id cadeia A ID do experimento do MLflow que contém a execução do MLflow na qual a métrica foi registrada "2667956459304720" Não
run_id cadeia A ID da execução do MLflow para a qual a métrica foi registrada "7716d750d279487c95f64a75bff2ad56" Não
metric_name cadeia 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 computada 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

Compartilhamento de acesso com usuários

Por padrão, somente os administradores de conta têm acesso aos esquemas do sistema. Para conceder aos usuários adicionais acesso às tabelas, um administrador de conta deve conceder a eles o USO e SELECT permissões no system.mlflow. esquema. Confira Privilégios e objetos protegíveis do Catálogo do Unity.

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

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

Observação

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

Casos de uso de exemplo de metadados do MLflow

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

Configurar um alerta SQL para baixa confiabilidade do experimento

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

Este exemplo cria um alerta que examina os experimentos executados com mais frequência em seu workspace para determinar se eles estão enfrentando 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

O recurso Alertas do SQL está atualmente em Versão Prévia Pública e você também pode usar alertas herdados .

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

  2. Copie e cole a consulta a seguir 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 disparará o alerta se qualquer um 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 um agendamento e configurar notificações. Para obter mais informações sobre como configurar o alerta, consulte a configuração de um alerta SQL. Veja abaixo uma configuração de exemplo usando a consulta.

Configuração de alerta do SQL

Exemplos de consultas

Você pode usar as consultas de exemplo a seguir para obter informações sobre a atividade do MLflow em sua conta usando o DATAbricks SQL. Você também pode aproveitar ferramentas como notebooks Python com 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 fornecida:

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

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

Obter estatísticas de resumo para uma determinada execução 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 determinado run_id:

Métricas de resumo de execução de resultados de consulta

Painéis para experimentos e execuções

Você pode criar painéis com base nos dados das tabelas do sistema MLflow para analisar os experimentos do MLflow e as execuções de todo o workspace.

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