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