Biblioteka MLlib platformy Apache Spark i zautomatyzowane śledzenie narzędzia MLflow

Uwaga

Zautomatyzowane śledzenie MLflow MLlib jest przestarzałe w klastrach z uruchomionym środowiskiem Databricks Runtime 10.1 ML i nowszym i jest domyślnie wyłączone w klastrach z uruchomionym środowiskiem Databricks Runtime 10.2 ML i nowszym. Zamiast tego użyj narzędzia MLflow PySpark ML automatycznego rejestrowania, wywołując mlflow.pyspark.ml.autolog()funkcję , która jest domyślnie włączona w przypadku automatycznego rejestrowania usługi Databricks.

Aby użyć starego zautomatyzowanego śledzenia MLflow MLlib w środowisku Databricks Runtime 10.2 ML lub nowszym, włącz go, ustawiając konfiguracje platformyspark.databricks.mlflow.trackMLlib.enabled true Spark i spark.databricks.mlflow.autologging.enabled false.

MLflow to platforma typu „open source” umożliwiająca zarządzanie całym cyklem życia uczenia maszynowego. Platforma MLflow obsługuje śledzenie dostrajania modelu uczenia maszynowego w językach Python, R i Scala. Tylko w przypadku notesów języka Python środowisko Databricks Runtime i środowisko Databricks Runtime dla platformy Machine Learning obsługują zautomatyzowaneśledzenie przepływów na potrzeby dostrajania modelu MLlib platformy Apache Spark.

W przypadku zautomatyzowanego śledzenia MLflow MLlib po uruchomieniu kodu dostrajania, który używa CrossValidator parametrów lub TrainValidationSplit, hiperparametry i metryki oceny są automatycznie rejestrowane w usłudze MLflow. Bez zautomatyzowanego śledzenia MLflow należy jawnie wykonywać wywołania interfejsu API, aby zalogować się do biblioteki MLflow.

Zarządzanie przebiegami platformy MLflow

CrossValidator lub TrainValidationSplit wyniki dostrajania dzienników jako zagnieżdżone przebiegi MLflow:

  • Uruchomienie główne lub nadrzędne: informacje dotyczące CrossValidator lub TrainValidationSplit są rejestrowane w głównym przebiegu. Jeśli istnieje już aktywny przebieg, informacje są rejestrowane w tym aktywnym przebiegu i aktywny przebieg nie jest zatrzymany. Jeśli nie ma aktywnego przebiegu, narzędzie MLflow tworzy nowy przebieg, rejestruje je i kończy przebieg przed zwróceniem.
  • Przebiegi podrzędne: każde ustawienie hiperparametru przetestowane, a odpowiednia metryka oceny jest rejestrowana w ramach przebiegu podrzędnego w ramach głównego przebiegu.

Podczas wywoływania polecenia fit()usługa Azure Databricks zaleca aktywne zarządzanie uruchamianiem platformy MLflow. Oznacza to, że zawijanie wywołania do fit() wewnątrz instrukcji "with mlflow.start_run():". Dzięki temu informacje są rejestrowane w ramach własnego przebiegu głównego platformy MLflow i ułatwiają rejestrowanie dodatkowych tagów, parametrów lub metryk w tym przebiegu.

Uwaga

Gdy fit() jest wywoływany wiele razy w ramach tego samego aktywnego przebiegu MLflow, rejestruje te wiele uruchomień do tego samego głównego uruchomienia. Aby rozwiązać konflikty nazw dla parametrów i tagów MLflow, MLflow dołącza identyfikator UUID do nazw z konfliktami.

Poniższy notes języka Python przedstawia zautomatyzowane śledzenie platformy MLflow.

Notes zautomatyzowanego śledzenia MLflow

Pobierz notes

Po wykonaniu akcji w ostatniej komórce w notesie powinien zostać wyświetlony interfejs użytkownika platformy MLflow:

MLlib-MLflow demo