Настройка гиперпараметров

Библиотеки Python, такие как Optuna, Ray Tune и Hyperopt, упрощают и автоматизируют настройку гиперпараметров, чтобы эффективно найти оптимальный набор гиперпараметров для моделей машинного обучения. Эти библиотеки масштабируются на нескольких вычислительных узлах, чтобы быстро подбирать гиперпараметры при минимальной ручной оркестрации и настройке.

Optuna

Optuna — это платформа с легким весом, которая упрощает определение динамического пространства поиска для настройки гиперпараметра и выбора модели. Optuna включает некоторые из последних алгоритмов оптимизации и машинного обучения.

Optuna можно легко параллелизировать с Joblib для масштабирования рабочих нагрузок и интеграции с MLflow для отслеживания гиперпараметров и метрик во всех пробных версиях.

Для начала работы с Optuna см. раздел настройка гиперпараметров с помощью Optuna.

Ray Tune

Databricks Runtime ML включает Ray, платформу с открытым исходным кодом, используемую для параллельной обработки вычислений. Ray Tune — это библиотека настройки гиперпараметров, которая поставляется с Ray и использует Ray в качестве серверной части для распределенных вычислений.

Дополнительные сведения о запуске Ray в Databricks см. в статье "Что такое Ray в Azure Databricks?". Примеры Ray Tune см. в документации Ray Tune.

Hyperopt

Примечание.

Версия Hyperopt с открытым исходным кодом больше не поддерживается.

Hyperopt не входит в среду выполнения Databricks для машинного обучения после 16.4 LTS ML. Azure Databricks рекомендует использовать Optuna для оптимизации на одном узле или RayTune для аналогичного опыта работы с устаревшей функцией распределенной настройки гиперпараметров Hyperopt. Дополнительные сведения об использовании RayTune в Azure Databricks.

Hyperopt — это библиотека Python, используемая для настройки распределенного гиперпараметра и выбора модели. Hyperopt работает с распределенными алгоритмами машинного обучения, такими как Apache Spark MLlib и Horovod, а также с моделями машинного обучения с использованием одного компьютера, такими как scikit-learn и TensorFlow.

Сведения о начале работы с Hyperopt см. в статье Использование распределенных алгоритмов обучения с помощью Hyperopt.

Автоматическое отслеживание MLflow для MLlib

Примечание.

Автоматическое отслеживание MLflow для MLlib считается устаревшим и по умолчанию отключено в кластерах под управлением Databricks Runtime 10.4 LTS ML и выше.

Вместо этого используйте автологирование MLflow для PySpark ML, вызвав mlflow.pyspark.ml.autolog(), которое по умолчанию включено в Databricks Autologging.

При использовании автоматического отслеживания MLflow в MLlib, когда вы выполняете код настройки с использованием CrossValidator или TrainValidationSplit, гиперпараметры и метрики оценки автоматически регистрируются в MLflow.