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.
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_models
log_datasets
), giriş örneklerini toplamayı (), günlük modeli imzalarını (log_input_examples
), uyarıları yapılandırmayı (log_model_signatures
silent
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:
- ile
exclusive=False
mlflow.autolog() çağrısı yapın. - 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. - Eğitim öncesi içeriği izlemek için mlflow.log_param() gibi MLflow İzleme yöntemlerini kullanın.
- Databricks Autologging tarafından desteklenen bir çerçevede bir veya daha fazla makine öğrenmesi modeli eğitin.
- Eğitim sonrası içeriği izlemek için mlflow.log_metric() gibi MLflow İzleme yöntemlerini kullanın.
- 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=True
mlflow.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=True
mlflow.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.