使用分布式與Hyperopt訓練算法

除了來自scikit-learn等單機訓練算法,您可以使用Hyperopt與分布式訓練算法。在這個場景中,Hyperopt生成試驗與不同hyperparameter設置在驅動節點上。每個試驗從司機節點執行,使它完整的集群資源的訪問。這個設置適用於任何分布式機器學習算法或庫,包括Apache火花MLlib和HorovodRunner。

當你使用Hyperopt與分布式訓練算法,不通過試用參數fmin (),具體地說,不要使用SparkTrials類。SparkTrials是為了分配試驗本身並不是分布式的算法。與分布式訓練算法,使用默認的試用類,它運行在集群的司機。Hyperopt評估每個審判司機節點的ML算法本身可以啟動分布式訓練。

請注意

磚不支持自動記錄MLflow與試用類。當使用分布式訓練算法,您必須手動調用MLflow Hyperopt測井試驗。

筆記本的例子:使用Hyperopt MLlib算法

筆記本的例子展示了如何使用Hyperopt曲調MLlib的分布式訓練算法。

Hyperopt筆記本和MLlib分布式訓練

在新標簽頁打開筆記本

筆記本的例子:用HorovodRunner Hyperopt

HorovodRunner一個通用API用於磚上運行分布式深度學習的工作負載。HorovodRunner集成Horovod火花的障模式提供更高的穩定性長期深度學習培訓工作火花。

筆記本的例子展示了如何使用Hyperopt優化分布式基於HorovodRunner深度學習培訓。

Hyperopt筆記本和HorovodRunner分布式訓練

在新標簽頁打開筆記本