Hyperparameteroptimierung

Databricks Runtime für Machine Learning enthält Hyperopt, ein Open-Source-Tool, das den Prozess der Modellauswahl und der Abstimmung der Hyperparameter automatisiert.

Hyperparameteroptimierung mit Ray

Databricks Runtime ML umfasst Ray, ein Open-Source-Framework, das auf parallele Computeverarbeitung für die Skalierung von ML-Workflows und KI-Anwendungen spezialisiert ist. Weitere Informationen finden Sie unter Verwenden von Ray in Azure Databricks.

Hyperparameteroptimierung mit Hyperopt

Databricks Runtime ML beinhaltet Hyperopt. Dabei handelt es sich um eine Python-Bibliothek, die die Optimierung von verteilten Hyperparametern sowie die Modellauswahl erleichtert. Mit Hyperopt können Sie verschiedene Python-Modelle mit variierenden Algorithmen und Hyperparametern für von Ihnen definierte Bereiche scannen. 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.

Grundlegende Schritte bei der Verwendung von Hyperopt:

  1. Definieren Sie eine zu minimierende Zielfunktion. In der Regel ist dies der Trainings- oder Validierungsverlust.
  2. Definieren Sie den Suchbereich für Hyperparameter. Hyperopt stellt einen bedingten Suchbereich bereit, mit dem Sie verschiedene ML-Algorithmen in derselben Ausführung vergleichen können.
  3. Geben Sie den Suchalgorithmus an. Hyperopt verwendet stochastische Optimierungsalgorithmen, die eine effizientere Suche nach Hyperparameterbereichen durchführen als eine deterministische Rastersuche.
  4. Führen Sie die Hyperopt-Funktion fmin() aus. fmin() übernimmt die im vorherigen Schritt definierten Elemente und identifiziert die Hyperparameter, die die Zielfunktion minimieren.

Informationen, die Ihnen den schnellen Einstieg in die Verwendung von Hyperopt mit Scikit-learn-Algorithmen ermöglichen, finden Sie hier:

Weitere Informationen zur Funktionsweise von Hyperopt und weitere Beispiele finden Sie unter den folgenden Links:

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.

Wenn Sie die alte automatisierte MLflow-Nachverfolgung von MLlib in Databricks Runtime 10.4 LTS ML und höher verwenden möchten, müssen Sie die Spark-Konfigurationenspark.databricks.mlflow.trackMLlib.enabled true und spark.databricks.mlflow.autologging.enabled false festlegen, um sie zu aktivieren.