Apache Spark MLlib和自動MLflow跟蹤

請注意

MLlib自動MLflow跟蹤在運行Databricks Runtime 10.1 ML及以上版本的集群上已棄用,在運行Databricks Runtime 10.2 ML及以上版本的集群上默認禁用。相反,使用MLflow PySpark ML自錄通過調用mlflow.pyspark.ml.autolog (),默認啟用磚Autologging

要在Databricks Runtime 10.2 ML或以上版本中使用舊的MLlib自動MLflow跟蹤,請通過設置火花配置spark.databricks.mlflow.trackMLlib.enabled真正的spark.databricks.mlflow.autologging.enabled

MLflow是一個用於管理端到端機器學習生命周期Beplay体育安卓版本的開源平台。MLflow支持跟蹤Python、R和Scala中的機器學習模型調優。僅適用於Python筆記本,磚運行時Databricks運行時機器學習支持自動化MLflow跟蹤用於Apache Spark MLlib模型調優。

使用MLlib自動MLflow跟蹤,當您運行使用的調優代碼時CrossValidatorTrainValidationSplit,超參數和評估指標自動登錄MLflow。如果沒有自動MLflow跟蹤,則必須進行顯式API調用以記錄MLflow。

管理MLflow運行

CrossValidatorTrainValidationSplit在嵌套MLflow運行時記錄調優結果:

  • 主或父運行:用於的信息CrossValidatorTrainValidationSplit記錄到主運行。如果已經有活動運行,則將信息記錄到此活動運行,並且不會停止活動運行。如果沒有活動運行,MLflow將創建一個新的運行,記錄到它,並在返回之前結束運行。

  • 子運行:測試的每個超參數設置和相應的評估度量都記錄到主運行下的子運行。

當調用符合(), Databricks推薦主動MLflow運行管理;即,將呼叫轉到符合()在一個mlflow.start_run ():”聲明。這確保信息被記錄在自己的MLflow主運行下,並且更容易記錄該運行的附加標記、參數或指標。

請注意

符合()在同一活動MLflow運行中被多次調用,它將這些多次運行記錄到同一主運行。為了解決MLflow參數和標記的名稱衝突,MLflow將一個UUID附加到有衝突的名稱上。

下麵的Python筆記本演示了自動MLflow跟蹤。

自動MLflow跟蹤筆記本

在新標簽頁打開筆記本

當你在筆記本的最後一個單元格中執行操作後,你的MLflow UI應該顯示:

MLlib-MLflow演示