高參數調整
機器學習的Databricks運行時將HyperOPT(一種開源工具)結合在一起,該工具可自動選擇模型選擇和超參數調整。
用HyperOPT調整超參數
Databricks運行時ML包括hyperopt,一個Python庫,可促進分布式的高參數調整和模型選擇。使用HyperOPT,您可以掃描一組Python型號,同時在定義的空間中改變算法和超參數。HyperOPT與分布式的ML算法(如Apache Spark Mllib和Horovod)一起使用,以及Scikit-Learn和TensorFlow等單機器ML模型。
使用HyperOPT時的基本步驟是:
定義目標函數以最小化。通常,這是培訓或驗證損失。
定義超參數搜索空間。HyperOPT提供了有條件的搜索空間,該空間使您可以在同一運行中比較不同的ML算法。
指定搜索算法。HyperOPT使用隨機調整算法,該算法比確定性的網格搜索更有效地搜索超參數空間。
運行HyperOPT功能
fmin()
。fmin()
獲取您在上一步中定義的項目,並確定最小化目標函數的超參數的集合。
要快速使用Scikit-Learn算法快速開始使用HyperOPT,請參見:
有關HyperOPT的工作方式的更多詳細信息,以及有關其他示例,請參見:
自動MLFLOW跟蹤
筆記
MLLIB自動MLFLOW跟蹤在運行Databricks運行時10.1 ml及以上的群集上棄用,並且默認情況下將其禁用在運行Databricks Runtime 10.2 ml及以上的群集上。而是使用MLFLOW PYSPARK ML自動化通過打電話mlflow.pyspark.ml.autolog()
,默認情況下啟用Databricks自動化。
要在Databricks運行時10.2 ml及更高版本中使用舊的MLLIB自動MLFLOW跟蹤,請通過設置火花配置spark.databricks.mlflow.trackmllib.enabled真的
和spark.databricks.mlflow.autologing.enabled錯誤的
。