Apache Spark MLlib ve otomatikleştirilmiş MLflow izleme özelliği

Dekont

MLlib otomatik MLflow izleme, Databricks Runtime 10.1 ML ve üzerini çalıştıran kümelerde kullanım dışıdır ve Databricks Runtime 10.2 ML ve üzerini çalıştıran kümelerde varsayılan olarak devre dışıdır. Bunun yerine, Databricks Autologging ile varsayılan olarak etkinleştirilen öğesini çağırarak mlflow.pyspark.ml.autolog()MLflow PySpark ML otomatik kaydetme özelliğini kullanın.

Databricks Runtime 10.2 ML veya üzerinde eski MLlib otomatik MLflow izlemesini kullanmak için Spark yapılandırmalarınıspark.databricks.mlflow.trackMLlib.enabled true ve spark.databricks.mlflow.autologging.enabled falseayarını yaparak etkinleştirin.

MLflow, uçtan uca makine öğrenmesi yaşam döngüsünü yönetmeye yönelik açık kaynaklı bir platformdur. MLflow Python, R ve Scala'da makine öğrenmesi modeli ayarlama için izlemeyi destekler. Yalnızca Python not defterleri için Databricks Runtime sürüm notları sürümleri ve uyumluluk ile Machine Learning için Databricks Runtime, Apache Spark MLlib model ayarlaması için otomatikMLflow İzleme'yi destekler.

MLlib otomatik MLflow izleme ile veya TrainValidationSplitkullanan CrossValidator ayarlama kodunu çalıştırdığınızda hiper parametreler ve değerlendirme ölçümleri otomatik olarak MLflow'da günlüğe kaydedilir. Otomatik MLflow izlemesi olmadan, MLflow'da günlüğe kaydetmek için açık API çağrıları yapmanız gerekir.

MLflow çalıştırmalarını yönetme

CrossValidator veya TrainValidationSplit iç içe MLflow çalışırken sonuçları günlüğe kaydetme:

  • Ana veya üst çalıştırma: Ana çalıştırmaya ilişkin CrossValidator veya TrainValidationSplit günlüğe kaydedilen bilgiler. Etkin bir çalıştırma zaten varsa, bilgiler bu etkin çalıştırmaya kaydedilir ve etkin çalıştırma durdurulmuyordur. Etkin bir çalıştırma yoksa, MLflow yeni bir çalıştırma oluşturur, bu çalıştırmayı günlüğe kaydeder ve döndürmeden önce çalıştırmayı sonlandırır.
  • Alt çalıştırmalar: Test edilen her hiper parametre ayarı ve buna karşılık gelen değerlendirme ölçümü ana çalıştırma altında bir alt çalıştırmaya kaydedilir.

çağrısı fit()yaparken Azure Databricks etkin MLflow çalıştırma yönetimi önerir; yani çağrıyı fit() bir "with mlflow.start_run():" deyiminin içine sarmalar. Bu, bilgilerin kendi MLflow ana çalıştırması altında günlüğe kaydedilmesini sağlar ve bu çalıştırmada ek etiketlerin, parametrelerin veya ölçümlerin günlüğe kaydedilmesini kolaylaştırır.

Dekont

Aynı etkin MLflow çalıştırması içinde birden çok kez çağrıldığında fit() , bu birden çok çalıştırmayı aynı ana çalıştırmaya günlüğe kaydeder. MLflow parametreleri ve etiketleri için ad çakışmalarını çözmek için MLflow, çakışmaları olan adlara bir UUID ekler.

Aşağıdaki Python not defteri otomatik MLflow izlemesini gösterir.

Otomatik MLflow izleme not defteri

Not defterini alma

Not defterindeki son hücrede eylemleri gerçekleştirdikten sonra, MLflow kullanıcı arabiriminiz şunları göstermelidir:

MLlib-MLflow demo