Dostrajanie hiperparametrów

Środowisko uruchomieniowe usługi Databricks dla uczenia maszynowego obejmuje Hyperopt, narzędzie typu „open source”, które automatyzuje proces wyboru modelu i strojenia hiperparametrycznego.

Dostrajanie hiperparametryczne za pomocą raya

Środowisko Databricks Runtime ML obejmuje ray, platformę typu open source, która specjalizuje się w równoległym przetwarzaniu obliczeniowym na potrzeby skalowania przepływów pracy uczenia maszynowego i aplikacji sztucznej inteligencji. Zobacz Use Ray on Azure Databricks (Używanie raya w usłudze Azure Databricks).

Dostrajanie hiperparametrów za pomocą funkcji Hyperopt

Środowisko Databricks Runtime ML obejmuje Hyperopt, bibliotekę języka Python, która ułatwia rozproszone dostrajanie hiperparametryczne oraz wybór modelu. Za pomocą biblioteki Hyperopt można skanować zestaw modeli języka Python, używając jednocześnie różnych algorytmów i hiperparametrów w zdefiniowanych obszarach. Biblioteka Hyperopt współpracuje zarówno z rozproszonymi algorytmami uczenia maszynowego, takimi jak Apache Spark MLlib i Horovod, jak i również z modelami uczenia maszynowego z pojedynczą maszyną, takimi jak scikit-learn i TensorFlow.

Podstawowe kroki w przypadku użycia biblioteki Hyperopt wyglądają następująco:

  1. Zdefiniuj funkcję celu w celu zminimalizowania. Zwykle jest to trenowanie lub utrata ważności.
  2. Zdefiniuj obszar wyszukiwania hiperparametrów. Biblioteka Hyperopt zapewnia warunkowy obszar wyszukiwania, który pozwala porównać różne algorytmy uczenia maszynowego w tym samym przebiegu.
  3. Określ algorytm wyszukiwania. Biblioteka Hyperopt korzysta ze stochastycznych algorytmów dostrajania, które wykonują bardziej wydajne przeszukiwanie obszaru parametrów niż deterministyczne przeszukiwanie siatki.
  4. Uruchom funkcję biblioteki Hyperopt fmin(). Funkcja fmin() przyjmuje elementy zdefiniowane w poprzednich krokach i identyfikuje zestaw hiperparametrów, który minimalizuje funkcję celu.

Aby szybko rozpocząć korzystanie z biblioteki Hyperopt za pomocą algorytmów scikit-learn, zobacz:

Aby uzyskać więcej informacji o tym, jak działa biblioteka Hyperopt, i uzyskać dodatkowe przykłady, zobacz:

Zautomatyzowane śledzenie za pomocą biblioteki MLflow

Uwaga

Automatyczne śledzenie MLflow MLlib jest domyślnie przestarzałe i wyłączone w klastrach z uruchomionym środowiskiem Databricks Runtime 10.4 LTS ML lub nowszym. Zamiast tego użyj automatycznego rejestrowania uczenia maszynowego MLflow PySpark, 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.4 LTS ML i nowszym, włącz go, ustawiając konfiguracje platformyspark.databricks.mlflow.trackMLlib.enabled true Spark i spark.databricks.mlflow.autologging.enabled false.