使用Hyperopt的分布式訓練算法
除了來自scikit-learn的單機訓練算法,您還可以使用帶有分布式訓練算法的Hyperopt。在此場景中,Hyperopt在驅動節點上生成具有不同超參數設置的試驗。每個試驗都從驅動程序節點執行,使其能夠訪問完整的集群資源。此設置適用於任何分布式機器學習算法或庫,包括Apache Spark MLlib和HorovodRunner。
當您使用帶有分布式訓練算法的Hyperopt時,不要通過試用
參數fmin ()
,特別是,不要使用SparkTrials
類。SparkTrials
用於分發算法本身未分發的試驗。對於分布式訓練算法,使用默認值試用
類,它運行在集群驅動程序上。Hyperopt在驅動節點上評估每個試驗,以便ML算法本身可以啟動分布式訓練。
請注意
Databricks不支持將日誌自動記錄到MLflow試用
類。當使用分布式訓練算法時,必須手動調用MLflow來記錄Hyperopt的試驗。