Hyperparameters afstemmen
Databricks Runtime voor Machine Learning bevat en Hyperopt, een opensource-hulpprogramma waarmee het proces van modelselectie en afstemming van hyperparameters wordt geautomatiseerd.
Hyperparameterafstemming met Ray
Databricks Runtime ML bevat Ray, een opensource-framework dat is gespecialiseerd in parallelle rekenverwerking voor het schalen van ML-werkstromen en AI-toepassingen. Zie Ray gebruiken in Azure Databricks.
Hyperparameterafstemming met Hyperopt
Databricks Runtime ML omvat Hyperopt, een Python-bibliotheek die gedistribueerde hyperparameterafstemming en modelselectie faciliteert. Met Hyperopt kunt u een set Python-modellen scannen terwijl u algoritmen en hyperparameters varieert in de ruimten die u definieert. Hyperopt werkt met beide gedistribueerde ML-algoritmen, zoals Apache Spark MLlib en Horovod, en met single-machine ML-modellen, zoals scikit-learn en TensorFlow.
De basisstappen voor het gebruik van Hyperopt zijn:
- Een objectieve functie definiëren voor minimalisering. Dit is normaal gesproken de trainings- of het validatieverlies.
- De hyperparameterzoekruimte definiëren. Hyperopt biedt een voorwaardelijke zoekruimte waarin u verschillende ML-algoritmen kunt vergelijken in dezelfde uitvoering.
- Geef het zoekalgoritme op. Hyperopt gebruikt stochastische afstemmingsalgoritmen die een efficiëntere zoekopdracht uitvoeren van hyperparameterruimte dan een deterministisch rasterzoekopdracht.
- Voer Hyperopt-functie
fmin()
uit.fmin()
neemt de items die u in de vorige stappen hebt gedefinieerd en identificeert de set hyperparameters die de objectieve functie minimaliseert.
Als u snel aan de slag wilt gaan met Hyperopt met scikit-learn-algoritmen, raadpleegt u:
- Hyperparameterafstemming parallelliseren met scikit-learn en MLflow
- Modeltypen vergelijken met Hyperopt en MLflow
Raadpleeg voor meer informatie over hoe Hyperopt werkt en voor aanvullende voorbeelden:
- Hyperopt-concepten
- Gedistribueerde trainingsalgoritmen gebruiken met Hyperopt
- Best practices: Hyperparameter afstemmen met Hyperopt
Automatisch MLflow bijhouden
Notitie
MLlib geautomatiseerde MLflow-tracering wordt standaard afgeschaft en uitgeschakeld op clusters met Databricks Runtime 10.4 LTS ML en hoger. Gebruik in plaats daarvan MLflow PySpark ML autologging door aan te roepen mlflow.pyspark.ml.autolog()
. Deze functie is standaard ingeschakeld met Databricks Autologging.
Als u de oude geautomatiseerde MLlib MLflow-tracering wilt gebruiken in Databricks Runtime 10.4 LTS ML en hoger, schakelt u deze in door de Spark-configuratiesspark.databricks.mlflow.trackMLlib.enabled true
en spark.databricks.mlflow.autologging.enabled false
.