Databricks Otomatik Kaydetme

Databricks Autologging, Azure Databricks'te makine öğrenmesi eğitim oturumları için otomatik deneme izleme sağlamak üzere MLflow otomatik günlüğünü genişleten kod içermeyen bir çözümdür.

Databricks Autologging ile model parametreleri, ölçümler, dosyalar ve köken bilgileri, çeşitli popüler makine öğrenmesi kitaplıklarından modelleri eğittiğiniz zaman otomatik olarak yakalanır. Eğitim oturumları MLflow izleme çalıştırmaları olarak kaydedilir. Model dosyaları da izlenir, böylece bunları MLflow Model Kayıt Defteri'nde kolayca günlüğe kaydedebilir ve Model Sunma ile gerçek zamanlı puanlama için dağıtabilirsiniz.

Aşağıdaki videoda, etkileşimli bir Python not defterinde scikit-learn modeli eğitim oturumuyla Databricks Autologging gösterilmektedir. İzleme bilgileri otomatik olarak yakalanır ve Deneme Çalıştırmaları kenar çubuğunda ve MLflow kullanıcı arabiriminde görüntülenir.

Otomatik kaydetme örneği

Gereksinimler

  • Databricks Autologging, Databricks Runtime 10.4 LTS ML veya üzeri tüm bölgelerde genel olarak kullanılabilir.
  • Databricks Autologging, Databricks Runtime 9.1 LTS ML veya üzeri yüklü belirli önizleme bölgelerinde kullanılabilir.

Nasıl çalışır?

Azure Databricks kümesine etkileşimli bir Python not defteri eklediğinizde Databricks Autologging, model eğitim oturumlarınız için izlemeyi ayarlamak üzere mlflow.autolog() öğesini çağırır. Not defterinde modelleri eğittiğinizde, model eğitim bilgileri MLflow İzleme ile otomatik olarak izlenir. Bu model eğitim bilgilerinin güvenliği ve yönetimi hakkında bilgi için bkz . Güvenlik ve veri yönetimi.

mlflow.autolog() çağrısı için varsayılan yapılandırma:

mlflow.autolog(
    log_input_examples=False,
    log_model_signatures=True,
    log_models=True,
    disable=False,
    exclusive=False,
    disable_for_unsupported_versions=True,
    silent=False
)

Otomatik kaydetme yapılandırmasını özelleştirebilirsiniz.

Kullanım

Databricks Autologging'i kullanmak için, etkileşimli bir Azure Databricks Python not defteri kullanarak desteklenen bir çerçevede makine öğrenmesi modeli eğitin. Databricks Autologging model kökeni bilgilerini, parametrelerini ve ölçümlerini otomatik olarak MLflow İzleme'ye kaydeder. Databricks Autologging davranışını da özelleştirebilirsiniz.

Not

Databricks Autologging, ile mlflow.start_run()MLflow akıcı API'sini kullanarak oluşturulan çalıştırmalara uygulanmaz. Böyle durumlarda, otomatik olarak dağıtılmış içeriği MLflow çalıştırmasına kaydetmek için aramanız mlflow.autolog() gerekir. Bkz. Ek içeriği izleme.

Günlük davranışını özelleştirme

Günlüğü özelleştirmek için mlflow.autolog() kullanın. Bu işlev, model günlüğünülog_models ( ) etkinleştirmek, giriş örnekleri toplamak (log_input_examples ), uyarıları yapılandırmak (silent ve daha fazlasını yapmak için yapılandırma parametreleri sağlar.

Ek içeriği izleme

Databricks Autologging tarafından oluşturulan MLflow çalıştırmalarıyla ek ölçümleri, parametreleri, dosyaları ve meta verileri izlemek için Azure Databricks etkileşimli Python not defterinde şu adımları izleyin:

  1. ile exclusive=Falsemlflow.autolog() çağrısı yapın.
  2. mlflow.start_run() kullanarak bir MLflow çalıştırması başlatın. Bu çağrıyı içinde with mlflow.start_run()kaydırabilirsiniz; bunu yaptığınızda, çalıştırma tamamlandıktan sonra otomatik olarak sonlandırılır.
  3. Eğitim öncesi içeriği izlemek için mlflow.log_param() gibi MLflow İzleme yöntemlerini kullanın.
  4. Databricks Autologging tarafından desteklenen bir çerçevede bir veya daha fazla makine öğrenmesi modeli eğitin.
  5. Eğitim sonrası içeriği izlemek için mlflow.log_metric() gibi MLflow İzleme yöntemlerini kullanın.
  6. 2. Adımda kullanmadıysanız with mlflow.start_run() MLflow çalıştırmasını mlflow.end_run() kullanarak sonlandırın.

Örneğin:

import mlflow
mlflow.autolog(exclusive=False)

with mlflow.start_run():
  mlflow.log_param("example_param", "example_value")
  # <your model training code here>
  mlflow.log_metric("example_metric", 5)

Databricks Otomatik Kaydetmeyi Devre Dışı Bırakma

Azure Databricks etkileşimli Python not defterinde Databricks Autologging'i devre dışı bırakmak için ile disable=Truemlflow.autolog() öğesini çağırın:

import mlflow
mlflow.autolog(disable=True)

Yönetici istrator'lar, bir çalışma alanında bulunan tüm kümeler için Databricks Autologging'i Yönetici ayarları sayfasının Gelişmiş sekmesi. Bu değişikliğin etkili olması için kümelerin yeniden başlatılması gerekir.

Desteklenen ortamlar ve çerçeveler

Databricks Autologging etkileşimli Python not defterlerinde desteklenir ve aşağıdaki ML çerçeveleri için kullanılabilir:

  • scikit-learn
  • Apache Spark MLlib
  • TensorFlow
  • Keras
  • PyTorch Lightning
  • XGBoost
  • LightGBM
  • Gluon
  • Fast.ai (sürüm 1.x)
  • statsmodels.

Desteklenen çerçevelerin her biri hakkında daha fazla bilgi için bkz . MLflow otomatik günlüğü.

Güvenlik ve veri yönetimi

Databricks Autologging ile izlenen tüm model eğitim bilgileri MLflow İzleme'de depolanır ve MLflow Denemesi izinleriyle güvenli hale getirilir. MLflow İzleme API'sini veya kullanıcı arabirimini kullanarak model eğitim bilgilerini paylaşabilir, değiştirebilir veya silebilirsiniz.

Yönetim

Yönetici istrator'lar databricks otomatik kaydetmeyi kendi çalışma alanlarındaki tüm etkileşimli not defteri oturumları için etkinleştirebilir veya devre dışı bırakabilirYönetici ayarları sayfasının Gelişmiş sekmesi. Küme yeniden başlatılana kadar değişiklikler geçerli olmaz.

Sınırlamalar

  • Databricks Autologging, Azure Databricks işlerinde desteklenmez. İşlerden otomatik kaydetmeyi kullanmak için mlflow.autolog() öğesini açıkça çağırabilirsiniz.
  • Databricks Autologging yalnızca Azure Databricks kümenizin sürücü düğümünde etkinleştirilir. Çalışan düğümlerinden otomatik kaydetmeyi kullanmak için, her çalışanda yürütülen kodun içinden mlflow.autolog() öğesini açıkça çağırmanız gerekir.
  • XGBoost scikit-learn tümleştirmesi desteklenmez.

Apache Spark MLlib, Hyperopt ve otomatik MLflow izleme

Databricks Otomatik Kaydetme, Apache Spark MLlib ve Hyperopt için mevcut otomatik MLflow izleme tümleştirmelerinin davranışını değiştirmez.

Not

Databricks Runtime 10.1 ML'de Apache Spark MLlib CrossValidator ve TrainValidationSplit modelleri için otomatik MLflow izleme tümleştirmesini devre dışı bırakmak, tüm Apache Spark MLlib modelleri için Databricks Otomatik Kaydetme özelliğini de devre dışı bırakır.