超參數微調
Optuna、Ray Tune 和 Hyperopt 等 Python 連結庫可簡化和自動化超參數微調,以有效率地尋找機器學習模型的最佳超參數 set。 這些連結庫會跨多個計算進行調整,以透過最少的手動協調流程和設定需求快速尋找超參數。
Optuna
Optuna 是輕量型架構,可讓您輕鬆地定義超參數微調和模型選取的動態搜尋空間。 Optuna 包含一些最新的優化和機器學習演算法。
Optuna 可以輕鬆地與 Joblib 平行處理以調整工作負載,並與 Mlflow 整合,以追蹤跨試用版的超參數和計量。
若要從Optuna開始
Ray Tune
Databricks Runtime ML 包含Ray,這是用於平行計算處理的開放原始碼架構。 Ray Tune 是一個超參數微調連結庫,隨附於Ray,並使用Ray作為分散式運算的後端。
如需如何在 Databricks 上執行 Ray 的詳細資訊,請參閱 什麼是 Azure Databricks 上的 Ray?。 如需Ray Tune的範例,請參閱 Ray Tune檔。
Hyperopt
注意
不再維護 Hyperopt 的開放原始碼版本。
Hyperopt 將在下一個主要 DBR ML 版本中移除。 Azure Databricks 建議針對單一節點優化使用 Optuna,或 RayTune,以取得與已取代的 Hyperopt 分散式超參數微調功能類似的體驗。 深入瞭解如何在 Azure Databricks 上使用 RayTune。
Hyperopt 是用於分散式超參數微調和模型選取的 Python 連結庫。 Hyperopt 適用於 Apache Spark MLlib 和 Horovod 等分散式 ML 演算法,以及 scikit-learn 和 TensorFlow 等單一機器 ML 模型。
若要 get 開始使用 Hyperopt,請參閱 搭配 Hyperopt使用分散式定型演算法。
MLlib 自動化 MLflow 追蹤
注意
在執行 Databricks Runtime 10.4 LTS ML 和更新版本之叢集上,MLlib 自動化 MLflow 追蹤已淘汰和停用。
請改用 MLflow PySpark ML 自動記錄,方法是呼叫 mlflow.pyspark.ml.autolog()
,其預設已啟用 Databricks Autologging。
當您執行使用 CrossValidator 或 TrainValidationSplit 的微調程式代碼時,使用 MLlib 自動化 MLflow 追蹤。 超參數和評估計量會自動記錄在 MLflow 中。