Hyperparameteroptimierung
Python-Bibliotheken wie Optuna, Ray Tune und Hyperopt vereinfachen und automatisieren die Optimierung von Hyperparametern, um effizient einen optimalen Satz von Hyperparametern für Machine Learning-Modelle zu finden. Diese Bibliotheken sind auf mehrere Computes verteilt, um Hyperparameter mit minimalen manuellen Orchestrierungs- und Konfigurationsanforderungen schnell zu finden.
Optuna
Optuna ist ein einfaches Framework, welches das Definieren eines dynamischen Suchbereichs für die Optimierung von Hyperparametern und die Modellauswahl erleichtert. Optuna enthält einige der neuesten Optimierungs- und Machine Learning-Algorithmen.
Optuna kann einfach mit Joblib parallelisiert werden, um Workloads zu skalieren, und in Mlflow integriert werden, um Hyperparameter und Metriken in Testversionen nachzuverfolgen.
Informationen zu den ersten Schritten mit Optuna finden Sie unter Optimierung von Hyperparametern mit Optuna.
Ray Tune
Databricks Runtime ML enthält Ray, ein Open-Source-Framework, das für die parallele Computeverarbeitung verwendet wird. Ray Tune ist eine Bibliothek für die Optimierung von Hyperparametern, die in Ray enthalten ist und Ray als Back-End für verteilte Verarbeitung verwendet.
Details zur Ausführung von Ray in Databricks finden Sie unter Was ist Ray in Azure Databricks?. Beispiele für Ray Tune finden Sie in der Ray Tune-Dokumentation.
Hyperopt
Hinweis
Die Open-Source-Version von Hyperopt wird nicht mehr gepflegt.
Hyperopt wird ab Databricks Runtime ML 17.0 nicht mehr vorinstalliert. Azure Databricks empfiehlt stattdessen die Verwendung von Optuna für eine ähnliche Erfahrung und den Zugriff auf aktuellere Algorithmen zur Optimierung von Hyperparametern.
Hyperopt ist eine Python-Bibliothek, die zur Optimierung verteilter Hyperparameter und zur Modellauswahl verwendet wird. Hyperopt funktioniert sowohl mit verteilten ML-Algorithmen wie Apache Spark MLlib und Horovod als auch mit ML-Modellen mit einzelnen Computern wie Scikit-learn und TensorFlow.
Informationen zu den ersten Schritten mit Hyperopt finden Sie unter Verwenden verteilter Trainingsalgorithmen mit Hyperopt.
Durch MLlib automatisierte MLflow-Nachverfolgung
Hinweis
Die automatisierte MLflow-Nachverfolgung von MLlib ist auf Clustern, die Databricks Runtime 10.4 LTS ML und höher ausführen, veraltet und standardmäßig deaktiviert.
Verwenden Sie stattdessen MLflow PySpark ML-Autologging, indem Sie mlflow.pyspark.ml.autolog()
aufrufen, was mit Databricks Autologging standardmäßig aktiviert ist.
Mit der automatisierten MLflow-Nachverfolgung von MLlib, wenn Sie Optimierungscode ausführen, der CrossValidator oder TrainValidationSplit verwendet. Hyperparameter und Auswertungsmetriken werden automatisch in MLflow protokolliert.