Udostępnij za pośrednictwem


Dostrajanie hiperparametrów

Biblioteki języka Python, takie jak Optuna, Ray Tune i Hyperopt, upraszczają i automatyzują dostrajanie hiperparametrów, aby efektywnie znaleźć optymalny zestaw hiperparametrów dla modeli uczenia maszynowego. Te biblioteki są skalowane w wielu obliczeniach, aby szybko znaleźć hiperparametry z minimalnymi wymaganiami dotyczącymi ręcznej aranżacji i konfiguracji.

Optuna

Optuna to struktura o lekkiej wadze, która ułatwia definiowanie dynamicznej przestrzeni wyszukiwania na potrzeby dostrajania hiperparametrów i wyboru modelu. Optuna zawiera niektóre z najnowszych algorytmów optymalizacji i uczenia maszynowego.

Optuna można łatwo zrównoleglizować z biblioteką Joblib w celu skalowania obciążeń i zintegrować ją z platformą Mlflow w celu śledzenia hiperparametrów i metryk w różnych wersjach próbnych.

Aby rozpocząć pracę z optuna, zobacz Hiperparametr dostrajanie za pomocą optuna.

Ray Tune

Środowisko Databricks Runtime ML obejmuje ray, platformę typu open source używaną do przetwarzania równoległego obliczeń. Ray Tune to biblioteka dostrajania hiperparametrów, która jest dostarczana z rayem i używa Raya jako zaplecza do przetwarzania rozproszonego.

Aby uzyskać szczegółowe informacje na temat uruchamiania raya w usłudze Databricks, zobacz Co to jest Ray w usłudze Azure Databricks?. Aby zapoznać się z przykładami ray tune, zobacz dokumentację ray tune.

Funkcja Hyperopt

Uwaga

Wersja biblioteki Hyperopt typu open source nie jest już utrzymywana.

Funkcja Hyperopt nie będzie już wstępnie zainstalowana w środowisku Databricks Runtime ML 17.0 lub nowszym. Usługa Azure Databricks zaleca użycie optuna zamiast tego w celu uzyskania podobnego środowiska i dostępu do bardziej aktualnych algorytmów dostrajania hiperparametrów.

Hyperopt to biblioteka języka Python używana do rozproszonego dostrajania hiperparametrów i wyboru modelu. 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.

Aby rozpocząć korzystanie z funkcji Hyperopt, zobacz Use distributed training algorithms with Hyperopt (Korzystanie z algorytmów trenowania rozproszonego za pomocą funkcji Hyperopt).

Zautomatyzowane śledzenie MLflow biblioteki MLlib

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.

W przypadku zautomatyzowanego śledzenia MLflow MLlib podczas uruchamiania kodu dostrajania, który używa klasy CrossValidator lub TrainValidationSplit. Hiperparametry i metryki oceny są automatycznie rejestrowane w usłudze MLflow.