Ladění hyperparametrů
Databricks Runtime pro službu Machine Learning zahrnuje opensourcový nástroj Hyperopt, který automatizuje proces výběru modelu a ladění hyperparametrů.
Ladění hyperparametrů pomocí Raye
Databricks Runtime ML zahrnuje Ray, opensourcovou architekturu, která se specializuje na paralelní výpočetní zpracování pro škálování pracovních postupů ML a aplikací umělé inteligence. Viz Použití Ray v Azure Databricks.
Ladění hyperparametrů pomocí Hyperoptu
Databricks Runtime ML zahrnuje Hyperopt, knihovnu Pythonu usnadňující vyladění distribuovaných hyperparametrů a výběr modelu. Pomocí Hyperoptu můžete prohledávat sadu modelů Pythonu a současně měnit algoritmy a hyperparametry v rámci definovaných prostorů. Hyperopt spolupracuje jak s distribuovanými algoritmy ML, jako je Apache Spark MLlib a Horovod, tak i s modely ML v jednom počítači, jako je scikit-learn a TensorFlow.
Základní kroky při používání Hyperoptu jsou následující:
- Definování účelové funkce pro minimalizaci. Obvykle se jedná o úroveň ztrát při trénování nebo ověřování.
- Definování prostoru hledání hyperparametrů. Hyperopt poskytuje podmíněný prostor pro hledání, který umožňuje porovnat různé algoritmy ML v rámci stejného spuštění.
- Určení vyhledávacího algoritmu. Hyperopt používá stochastické algoritmy vyladění, které provádějí efektivnější hledání prostoru hyperparametrů, než je hledání pomocí deterministické mřížky.
- Spuštění funkce Hyperoptu
fmin()
. Funkcefmin()
vezme položky, které jste definovali v předchozích krocích, a určí sadu hyperparametrů, které minimalizují účelovou funkci.
Pokud chcete rychle začít používat Hyperopt s algoritmy scikit-learn, přečtěte si následující témata:
- Paralelizace vyladění hyperparametrů pomocí scikit-learn a MLflow
- Porovnání typů modelů pomocí Hyperoptu a MLflow
Další podrobnosti o tom, jak Hyperopt funguje, a další příklady najdete v těchto tématech:
- Koncepty Hyperoptu
- Použití algoritmů distribuovaného trénování s Hyperoptem
- Osvědčené postupy: Ladění hyperparametrů pomocí Hyperoptu
Automatizované sledování MLflow
Poznámka:
Automatizované sledování MLflow MLlib je ve výchozím nastavení zastaralé a zakázané v clusterech, na kterých běží Databricks Runtime 10.4 LTS ML a novější. Místo toho použijte automatické protokolování MLflow PySpark ML voláním mlflow.pyspark.ml.autolog()
, která je ve výchozím nastavení povolena s automatickým protokolováním Databricks.
Pokud chcete použít staré automatizované sledování MLflow MLlib v Databricks Runtime 10.4 LTS ML a novější, povolte ho nastavením konfiguracíspark.databricks.mlflow.trackMLlib.enabled true
Sparku a spark.databricks.mlflow.autologging.enabled false
.