Aracılığıyla paylaş


MLflow sistem tabloları başvurusu

Önemli

MLflow sistem tabloları Genel Önizleme aşamasındadır.

mlflow Sistem tabloları, MLflow izleme hizmeti içinde yönetilen deneme meta verilerini yakalar. Bu tablolar, ayrıcalıklı kullanıcıların bölgedeki tüm çalışma alanlarındaki MLflow verilerinde Databricks lakehouse araçlarından yararlanmasına olanak sağlar. Tabloları kullanarak özel AI/BI panoları oluşturabilir, SQL uyarıları ayarlayabilir veya büyük ölçekli analitik sorgular gerçekleştirebilirsiniz.

mlflow Kullanıcılar sistem tabloları aracılığıyla aşağıdaki gibi soruları yanıtlayabilir:

  • En düşük güvenilirliğe sahip denemeler hangileridir?
  • Farklı denemelerde ortalama GPU kullanımı nedir?

Uyarı

Sistem mlflow tabloları 2 Eylül 2025'te tüm bölgelerdeki MLflow verilerini kaydetmeye başladı. Bu tarihten önceki veriler kullanılamayabilir.

Kullanılabilir tablolar

Şema mlflow aşağıdaki tabloları içerir:

  • system.mlflow.experiments_latest: Deneme adlarını ve geçici silme olaylarını kaydeder. Bu veriler, MLflow kullanıcı arabirimindeki denemeler sayfasına benzer.
  • system.mlflow.runs_latest: Çalıştırma yaşam döngüsü bilgilerini, her çalıştırmayla ilişkili parametreleri ve etiketleri ve tüm ölçümlerin en düşük, en yüksek ve en son değerlerinin toplam istatistiklerini kaydeder. Bu veriler çalıştırma arama veya çalıştırma ayrıntıları sayfasına benzer.
  • system.mlflow.run_metrics_history: Çalıştırmalarda günlüğe kaydedilen tüm ölçümlerin adını, değerini, zaman damgasını ve adımını kaydeder. Bu, çalıştırmalardan ayrıntılı zaman çizelgesi çizmek için kullanılabilir. Bu veriler , çalıştırma ayrıntıları sayfasındaki ölçümler sekmesine benzer.

Aşağıda, bir pano kullanarak çalıştırma bilgilerini çizme örneği verilmiştir:

çalıştırma ayrıntıları panosu

Tablo şemaları

Açıklamaları ve örnek verileri içeren tablo şemaları aşağıda verilmiştir.

ER diyagramı

system.mlflow.experiments_latest

Sütun adı Veri türü Description Example Null olabilir
account_id String MLflow denemesini içeren hesabın kimliği "bd59efba-4444-4444-443f-44444449203" Hayı
update_time Tarih damgası Denemenin en son güncelleştirildiği sistem saati 2024-06-27T00:58:57.000+00:00 Hayı
delete_time Tarih damgası MLflow denemesinin kullanıcı tarafından geçici olarak silindiği sistem zamanı 2024-07-02T12:42:59.000+00:00 Yes
experiment_id String MLflow denemesinin kimliği "2667956459304720" Hayı
workspace_id String MLflow denemesini içeren çalışma alanının kimliği "6051921418418893" Hayı
name String Denemenin kullanıcı tarafından sağlanan adı "/Users/first.last@databricks.com/myexperiment" Hayı
create_time Tarih damgası Denemenin oluşturulduğu sistem saati 2024-06-27T00:58:57.000+00:00 Hayı

system.mlflow.runs_latest

Sütun adı Veri türü Description Example Null olabilir
account_id String MLflow çalıştırmasını içeren hesabın kimliği "bd59efba-4444-4444-443f-44444449203" Hayı
update_time Tarih damgası Çalıştırmanın en son güncelleştirildiği sistem saati 2024-06-27T00:58:57.000+00:00 Hayı
delete_time Tarih damgası MLflow çalıştırmasının kullanıcı tarafından geçici olarak silindiği sistem zamanı 2024-07-02T12:42:59.000+00:00 Yes
workspace_id String MLflow çalıştırmasını içeren çalışma alanının kimliği "6051921418418893" Hayı
run_id String MLflow çalıştırmasının kimliği "7716d750d279487c95f64a75bff2ad56" Hayı
experiment_id String MLflow çalıştırmasını içeren MLflow denemesinin kimliği "2667956459304720" Hayı
created_by String MLflow çalıştırmasını oluşturan Databricks sorumlusunun veya kullanıcının adı "<user>@<domain-name>" Yes
start_time Tarih damgası MLflow çalıştırmasının başlatıldığında kullanıcı tarafından belirtilen zaman 2024-06-27T00:58:57.000+00:00 Hayı
end_time Tarih damgası MLflow çalıştırmasının sona erdiğinde kullanıcı tarafından belirtilen saat 2024-07-02T12:42:59.000+00:00 Yes
run_name String MLflow çalıştırmasının adı "wistful-deer-932", "my-xgboost-training-run" Hayı
status String MLflow çalıştırmasının yürütme durumu "FINISHED" Hayı
params harita<dizesi, dize> MLflow çalıştırmasının anahtar-değer parametreleri {"n_layers": "5", "batch_size": "64", "optimizer": "Adam"} Hayı
tags harita<dizesi, dize> MLflow çalıştırması üzerinde ayarlanan anahtar-değer etiketleri {"ready_for_review": "true"} Hayı
aggregated_metrics liste<yapısı<dizesi, çift, çift, çift>> run_metrics_history ölçümleri özetleyen toplu görünüm [{"metric_name": "training_accuracy", "latest_value": 0.97, "min_value": 0.8, "max_value": 1.0}, ...] Hayı
aggregated_metrics.metric_name String Ölçümün kullanıcı tarafından belirtilen adı "training_accuracy" Hayı
aggregated_metrics.latest_value iki katı bu (çalıştır, metric_name) bileşiminin zaman serisindeki metric_name en son değeri run_metrics_history 0.97 Hayı
aggregated_metrics.max_value iki katı run_metrics_history bu (çalıştır, metric_name) bileşiminin zaman serisindeki metric_name en büyük değeri. Ölçüm için herhangi bir NaN değeri kaydedildiyse, değer NaN olur 1.0 Hayı
aggregated_metrics.min_value iki katı run_metrics_history bu (çalıştır, metric_name) bileşiminin zaman serisindeki metric_name en düşük değeri. Ölçüm için herhangi bir NaN değeri kaydedildiyse, değer NaN olur 0.8 Hayı

system.mlflow.run_metrics_history

Sütun adı Veri türü Description Example Null olabilir
account_id String Ölçümün günlüğe kaydedildiği MLflow çalıştırmasını içeren hesabın kimliği "bd59efba-4444-4444-443f-44444449203" Hayı
insert_time Tarih damgası Ölçümün eklendiği sistem saati 2024-06-27T00:58:57.000+00:00 Hayı
record_id String Aynı değerleri ayırt etmek için ölçümün benzersiz tanımlayıcısı "Ae1mDT5gFMSUwb+UUTuXMQ==" Hayı
workspace_id String Ölçümün günlüğe kaydedildiği MLflow çalıştırmasını içeren çalışma alanının kimliği "6051921418418893" Hayı
experiment_id String Ölçümün günlüğe kaydedildiği MLflow çalıştırmasını içeren MLflow denemesinin kimliği "2667956459304720" Hayı
run_id String Ölçümün günlüğe kaydedildiği MLflow çalıştırmasının kimliği "7716d750d279487c95f64a75bff2ad56" Hayı
metric_name String Ölçüm adı "training_accuracy" Hayı
metric_time Tarih damgası Ölçümün hesaplandığı kullanıcı tarafından belirtilen süre 2024-06-27T00:55:54.1231+00:00 Hayı
metric_step büyük Ölçümün günlüğe kaydedildiği model eğitimi veya aracı geliştirme adımı (örneğin, dönem) 10 Hayı
metric_value iki katı Ölçüm değeri 0.97 Hayı

Kullanıcılarla erişim paylaşma

Varsayılan olarak, yalnızca hesap yöneticileri sistem şemalarına erişebilir. Ek kullanıcılara tablolara erişim vermek için hesap yöneticisinin şema üzerinde SELECT KULLANICI ve system.mlflow. izinler vermesi gerekir. Bkz. Unity Kataloğu ayrıcalıkları ve güvenliği sağlanabilecek nesneler.

Bu tablolara erişimi olan tüm kullanıcılar, hesaptaki tüm çalışma alanları için tüm MLflow denemelerindeki meta verileri görüntüleyebilir. Belirli bir grup için tek tek kullanıcılar yerine tablo erişimini yapılandırmak için bkz. Unity Kataloğu en iyi yöntemleri.

Tüm kullanıcılara tabloya erişim vermekten daha ayrıntılı denetime ihtiyacınız varsa, gruplara belirli erişim vermek için özel ölçütlerle dinamik görünümleri kullanabilirsiniz. Örneğin, yalnızca belirli bir deneme kimlikleri kümesindeki kayıtları gösteren bir görünüm oluşturabilirsiniz. Özel bir görünüm yapılandırdıktan sonra, kullanıcılarınıza görünümün adını verin; böylece doğrudan sistem tablosu yerine dinamik görünümü sorgulayabilirler.

Uyarı

MLflow deneme izinleriniUnity Kataloğu izinleriyle doğrudan eşitleyemezsiniz.

MLflow meta verilerinin örnek kullanım örnekleri

Aşağıdaki bölümlerde, MLflow denemeleriniz ve çalıştırmalarınız hakkındaki soruları yanıtlamak için MLflow sistem tablolarını nasıl kullanabileceğinize ilişkin örnekler verilmiştir.

Düşük deneme güvenilirliği için SQL uyarısı yapılandırma

Databricks SQL uyarılarını (Genel Önizleme) kullanarak düzenli olarak yinelenen bir sorgu zamanlayabilir ve belirli kısıtlamalara artık karşılanmaması durumunda bildirim alabilirsiniz.

Bu örnek, çalışma alanınızda en sık çalıştırılacak denemeleri inceleyerek düşük güvenilirlik yaşayıp yaşamadıklarını ve özel bir dikkat gerekip gerekmediğini belirleyen bir uyarı oluşturur. Sorgu, deneme başına tamamlanan ve toplam çalıştırma sayısına bölünen çalıştırmaları hesaplamak için tablosunu kullanır runs_latest .

Uyarı

SQL Uyarıları özelliği şu anda Genel Önizleme aşamasındadır ve eski uyarıları da kullanabilirsiniz.

  1. Kenar çubuğunda Uyarılar Simgesi Uyarıları'na ve ardından Uyarı Oluştur'a tıklayın.

  2. Aşağıdaki sorguyu kopyalayıp sorgu düzenleyicisine yapıştırın.

     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. Koşul alanında, koşulları olarak MIN success_ratio < 0.9ayarlayın. Bu, ilk 20 denemeden (çalıştırma sayısına göre) 90'dan az%başarı oranına sahipse uyarıyı tetikler.

Ayrıca koşulu test edebilir, zamanlama ayarlayabilir ve bildirimleri yapılandırabilirsiniz. Uyarıyı yapılandırma hakkında daha fazla bilgi için bkz. SQL uyarısı ayarlama. Aşağıda sorguyu kullanan örnek bir yapılandırma verilmiştir.

SQL uyarı yapılandırması

Örnek sorgulamalar

Databricks SQL kullanarak hesabınızdaki MLflow etkinliği hakkında bilgi almak için aşağıdaki örnek sorguları kullanabilirsiniz. Spark ile Python not defterleri gibi araçlardan da yararlanabilirsiniz.

Çalıştırma bilgilerini alma 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

Bu, verilen çalıştırmayla ilgili bilgileri döndürür:

Sorgu sonuçları çalıştırma bilgileri

ve'den experiments_latest deneme ve çalıştırma bilgileri alma 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

Belirli bir çalıştırmanın özet istatistiklerini alma 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

Bu, verilen run_idiçin ölçümlerin özetini döndürür:

Sorgu sonuçları çalıştırma özeti ölçümleri

Denemeler ve çalıştırmalar için panolar

MLflow denemelerinizi analiz etmek ve çalışma alanının tamamından çalıştırmak için MLflow sistem tablo verilerinin üzerine panolar oluşturabilirsiniz.

Daha fazla ayrıntı için bkz. Sistem tablolarında MLflow meta verileriyle pano oluşturma