ハイパー opt で分散トレーニングアルゴリズムを使用する Use distributed training algorithms with Hyperopt

Scikit-learn で使用されるような単一マシンのトレーニングアルゴリズムに加えて、分散トレーニングアルゴリズムで Hyperopt を使用することもできます。In addition to single-machine training algorithms such as those used in scikit-learn, you can use Hyperopt to with distributed training algorithms. これらの関数では、Hyperopt は、ドライバーノード上でさまざまな hyperopt 設定を使用して試用を生成し、各評価は分散トレーニングアルゴリズムを使用して評価され、完全なクラスターを活用します。For these functions, Hyperopt generates trials with different hyperparameter settings on the driver node, and each trial is evaluated using distributed training algorithms to take advantage of the full cluster. これは、Apache Spark MLlib や HorovodRunner など、分散型の機械学習アルゴリズムまたはライブラリに適用されます。This applies to any distributed machine learning algorithms or libraries, including Apache Spark MLlib and HorovodRunner.

HorovodRunner は、Databricks で分散ディープラーニングワークロードを実行するために使用される一般的な API です。HorovodRunner is a general API used to run distributed deep learning workloads on Databricks. HorovodRunner は、 Horovod を spark の バリアモード と統合して、spark 上で実行時間の長いディープラーニングトレーニングジョブの安定性を高めることができます。HorovodRunner integrates Horovod with Spark’s barrier mode to provide higher stability for long-running deep learning training jobs on Spark.

Hyperopt では、試用は Spark driver ノードで順番に評価されます。In Hyperopt, trials are evaluated sequentially on the Spark driver node. これに対して、HorovodRunner は Spark ドライバーノードで起動され、トレーニングジョブを Spark worker ノードに分散します。In contrast, HorovodRunner is launched on the Spark driver node, and it distributes training jobs to Spark worker nodes. HorovodRunner は、戻り値をドライバーノードに収集し、Hyperopt に渡します。HorovodRunner collects the return values to the driver node and then passes them to Hyperopt.

注意

Azure Databricks は、クラスを使用した MLflow への自動ログ記録をサポートしていません TrialsAzure Databricks does not support automatic logging to MLflow with the Trials class. HorovodRunner では、クラスを使用せず SparkTrials に、MLflow を手動で呼び出して Hyperopt の試用をログに記録する必要があります。With HorovodRunner, you do not use the SparkTrials class, and you must manually call MLflow to log trials for Hyperopt.

ハイパーパラメーター with HorovodRunner を使用した分散トレーニングのハイパーパラメーターチューニングの例については、以下を参照してください。For an example of hyperparameter tuning for distributed training using Hyperopt with HorovodRunner, see:

Hyperopt and HorovodRunner 分散トレーニングノートブックHyperopt and HorovodRunner distributed training notebook

ノートブックを入手Get notebook