Настройка гиперпараметров
Databricks Runtime для Машинного обучения включает инструмент с открытым исходным кодом Hyperopt для автоматизации процесса выбора модели и настройки гиперпараметров.
Настройка гиперпараметров с помощью Ray
Databricks Runtime ML включает Ray, платформу с открытым исходным кодом, которая специализируется на параллельной обработке вычислений для масштабирования рабочих процессов машинного обучения и приложений ИИ. См. сведения об использовании Ray в Azure Databricks.
Настройка гиперпараметров с помощью Hyperopt
Databricks Runtime ML включает Hyperopt — библиотеку Python, которая упрощает настройку распределенных параметров и выбор моделей. С помощью Hyperopt можно сканировать набор моделей Python, изменяя алгоритмы и гиперпараметры в определенных вами пространствах. Hyperopt работает с распределенными алгоритмами машинного обучения, такими как Apache Spark MLlib и Horovod, а также с моделями машинного обучения с использованием одного компьютера, такими как scikit-learn и TensorFlow.
Основные шаги при использовании Hyperopt:
- Определите целевую функцию для минимизации. Обычно это функция потерь при обучении или проверке.
- Определите пространство поиска гиперпараметров. Hyperopt предоставляет область условного поиска, которая позволяет сравнивать различные алгоритмы машинного обучения в рамках одного запуска.
- Укажите алгоритм поиска. Hyperopt использует стохастические алгоритмы настройки, которые выполняют более эффективный поиск в пространстве гиперпараметров, чем детерминированный поиск по сетке.
- Запустите функцию Hyperopt
fmin()
.fmin()
принимает элементы, определенные на предыдущих шагах, и определяет набор параметров, который минимизирует целевую функцию.
Чтобы быстро приступить к работе с Hyperopt с помощью алгоритмов scikit-learn, см. следующие статьи:
- Параллельная настройка гиперпараметров с помощью scikit-learn и MLflow
- Сравнение типов моделей с Hyperopt и MLflow
Подробные сведения о принципе работы Hyperopt и дополнительные примеры см. в следующих статьях:
- Основные понятия Hyperopt
- Использование распределенных алгоритмов обучения с Hyperopt
- Рекомендации: настройка гиперпараметров с помощью Hyperopt
Автоматизированное отслеживание MLflow
Примечание.
Автоматическое отслеживание MLflow MLlib устарело и отключено по умолчанию в кластерах, где выполняется Среда выполнения Databricks 10.4 LTS ML и выше. Вместо этого используйте автозапись в журнал MLflow PySpark ML путем вызова mlflow.pyspark.ml.autolog()
, который включается по умолчанию с помощью функции Автозапись в журнал Databricks.
Чтобы использовать старое автоматическое отслеживание MLflow mLflow в Databricks Runtime 10.4 LTS ML и более поздних версий, включите его, задав конфигурацииspark.databricks.mlflow.trackMLlib.enabled true
Spark и spark.databricks.mlflow.autologging.enabled false
.