Масштабирование пробных версий Hyperopt

Завершено

Одним из преимуществ использования Apache Spark в Azure Databricks является возможность распределения задач обработки между несколькими узлами кластера. При использовании библиотеки машинного обучения с поддержкой Spark, например MLlib, обучение машинного обучения можно масштабировать, чтобы сократить общее время обучения. При использовании Hyperopt с распределенной библиотекой обучения, такой как MLlib, работа автоматически масштабируется по доступным рабочим узлам в кластере.

Hyperopt поддерживает масштабирование из пробной версии гиперпараметра для библиотек, которые не распределены с помощью класса SparkTrials вместо обычного класса Trials. Этот подход позволяет воспользоваться преимуществами горизонтального масштабирования параллелизма Spark для распределения конфигурации гиперпараметров между несколькими узлами, даже при использовании библиотеки, предназначенной для обработки на одном компьютере, например Scikit-Learn.

В следующем примере кода показано, как использовать класс SparkTrials .

from hyperopt import SparkTrials

  spark_trials = SparkTrials()
  with mlflow.start_run():
    argmin = fmin(
      fn=objective,
      space=search_space,
      algo=algo,
      max_evals=100,
      trials=spark_trials)
  
  print("Best param values: ", argmin)

Совет

Дополнительные сведения об использовании класса SparkTrials см. в документации по Azure Databricks в классе SparkTrials.