超参数优化

Optuna、Ray Tune 和 Hyperopt 等 Python 库可简化并自动执行超参数优化,从而能有效找到机器学习模型的最佳超参数集。 这些库可跨多个计算进行缩放,以快速查找具有最少手动业务流程和配置要求的超参数。

Optuna

Optuna 是一个轻型框架,可用于轻松定义用于超参数优化和模型选择的动态搜索空间。 Optuna 包括一些最新的优化和机器学习算法。

Optuna 可以轻松与 Joblib 并行化,以缩放工作负载,并可与 Mlflow 集成,以跟踪试验中的超参数和指标。

若要开始使用 Optuna,请参阅使用 Optuna 进行超参数优化

Ray Tune

Databricks Runtime ML 包括 Ray,后者是用于并行计算处理的开源框架。 Ray Tune 是 Ray 附带的超参数优化库,它用 Ray 作为分布式计算的后端。

有关如何在 Databricks 上运行 Ray 的详细信息,请参阅什么是 Azure Databricks 上的 Ray?。 有关 Ray Tune 的示例,请参阅 Ray Tune 文档

Hyperopt

注意

不再维护 Hyperopt 的开源版本。

Hyperopt 将不再预安装在 Databricks Runtime ML 17.0 及更高版本上。 Azure Databricks 建议改用 Optuna,以便获得类似的体验,并访问最新的超参数优化算法。

Hyperopt 是 Python 库,用于分布式超参数优化和模型选择。 Hyperopt 既适用于分布式 ML 算法(例如 Apache Spark MLlib 和 Horovod),也适用于单计算机 ML 模型(例如 scikit-learn 和 TensorFlow)。

若要开始使用 Hyperopt,请参阅将分布式训练算法与 Hyperopt 配合使用

MLlib 自动化 MLflow 跟踪

注意

MLlib 自动化 MLflow 跟踪在运行 Databricks Runtime 10.4 LTS ML 及更高版本的群集上已弃用,默认处于禁用状态。

通过调用 mlflow.pyspark.ml.autolog() 来改用 MLflow PySpark ML 自动日志记录,这默认通过 Databricks 自动日志记录启用。

使用 MLlib 自动 MLflow 跟踪后,当你运行使用 CrossValidator 或 TrainValidationSplit 的优化代码时, 超参数和评估指标会自动记录在 MLflow 中。