Sdílet prostřednictvím


Ladění hyperparametrů

Knihovny Pythonu, jako je Optuna, Ray Tune a Hyperopt, zjednodušují a automatizují ladění hyperparametrů, aby bylo možné efektivně najít optimální sadu hyperparametrů pro modely strojového učení. Tyto knihovny se škálují napříč několika výpočetními prostředky, aby rychle našli hyperparametry s minimálními požadavky na ruční orchestraci a konfiguraci.

Optuna

Optuna je lehká architektura, která usnadňuje definování dynamického vyhledávacího prostoru pro ladění hyperparametrů a výběr modelu. Optuna obsahuje některé z nejnovějších algoritmů optimalizace a strojového učení.

Optuna se dá snadno paralelizovat pomocí joblibu pro škálování úloh a integrovat s Mlflow ke sledování hyperparametrů a metrik napříč zkušebními verzemi.

Pokud chcete začít používat Optuna, přečtěte si téma Ladění hyperparametrů pomocí Optuna.

Ray Tune

Databricks Runtime ML zahrnuje Ray, opensourcovou architekturu používanou pro paralelní zpracování výpočetních prostředků. Ray Tune je knihovna ladění hyperparametrů, která se dodává s Rayem a používá Ray jako back-end pro distribuované výpočty.

Podrobnosti o tom, jak spustit Ray v Databricks, najdete v tématu Co je Ray v Azure Databricks?. Příklady Ray Tune najdete v dokumentaci k Ray Tune.

Hyperopt

Poznámka:

Opensourcová verze Hyperoptu se už neudržuje.

Hyperopt už není v Databricks Runtime ML 17.0 a novější předinstalovaný. Azure Databricks místo toho doporučuje používat Optuna pro podobné prostředí a přístup k nejaktuálnějším algoritmům ladění hyperparametrů.

Hyperopt je knihovna Pythonu používaná pro distribuované ladění hyperparametrů a výběr modelu. 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.

Pokud chcete začít používat Hyperopt, přečtěte si téma Použití distribuovaných trénovacích algoritmů s Hyperoptem.

Automatizované sledování MLflow MLlib

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.

Pomocí automatizovaného sledování MLlib MLflow spustíte kód ladění, který používá CrossValidator nebo TrainValidationSplit. Metriky hyperparametrů a vyhodnocení se automaticky protokolují v MLflow.