Aracılığıyla paylaş


Databricks Otomatik Kaydetme

Bu sayfada, çeşitli popüler makine öğrenmesi kitaplıklarından model eğitirken model parametrelerini, ölçümleri, dosyaları ve köken bilgilerini otomatik olarak yakalayan Databricks Otomatik Kaydetme'nin nasıl özelleştirileceği ele alınmaktadır. Eğitim oturumları MLflow izleme çalıştırmaları olarak kaydedilir. Model dosyaları da izlenir, böylece bunları kolayca MLflow Model Kayıt Defteri'nde günlüğe kaydedebilirsiniz.

Not

MLflow, üretken yapay zeka iş yüklerinde izleme günlüğünü etkinleştirmek için OpenAI otomatik kaydetmeyi destekler.

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ü (), günlük veri kümelerini (log_modelslog_datasets), giriş örneklerini toplamayı (), günlük modeli imzalarını (log_input_examples), uyarıları yapılandırmayı (log_model_signaturessilent ve daha fazlasını) etkinleştirmek 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öneticiler ayrıca yönetici ayarları sayfasının Gelişmiş sekmesinden bir çalışma alanında bulunan tüm kümeler için Databricks Otomatik Kaydetme özelliğini devre dışı bırakabilir. 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
  • statsmodeller
  • PaddlePaddle
  • OpenAI
  • LangChain

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

MLflow İzleme etkinleştirmesi

MLflow İzleme, izlemeyi destekleyen tümleştirmeler autolog için izleme desteğinin etkinleştirilmesini veya devre dışı bırakılmasını denetlemek için ilgili model çerçevesi tümleştirmelerindeki özelliği kullanır.

Örneğin, LlamaIndex modeli kullanırken izlemeyi etkinleştirmek için ile log_traces=Truemlflow.llama_index.autolog() kullanın:

import mlflow
mlflow.llama_index.autolog(log_traces=True)

Otomatik tamamlama uygulamalarında izleme etkinleştirmesi olan desteklenen tümleştirmeler şunlardır:

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öneticiler, yönetici ayarları sayfasının Gelişmiş sekmesinde çalışma alanlarındaki tüm etkileşimli not defteri oturumları için Databricks Otomatik Kaydetme'yi etkinleştirebilir veya devre dışı bırakabilir. 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.