Azure Databricks 中的机器学习
Azure Databricks 为机器学习模型开发提供了一个全面的、基于云的环境。 机器学习是一门学科,需要对数据进行分析和建模的数据科学家与部署和管理模型的机器学习工程师之间进行协作。 Azure Databricks 使数据科学家能够执行数据引入、探索和准备任务,以及模型训练、评估和管理任务。
机器学习 Databricks 运行时
在 Azure Databricks 工作区中创建群集时,可以指定要在群集中安装的 Databricks 运行时。 Azure Databricks 包括一些针对机器学习进行了优化的 Databricks 运行时。 它们包括对机器学习工作负载中常用的库的支持,其中包括用于管理机器学习操作的机器学习框架和实用程序。
如果要实现机器学习解决方案,请使用其中一个 ML 运行时来创建群集。 对于经典机器学习场景,可以选择基于 CPU 的运行时,如果需要使用深度学习框架构建复杂的神经网络(可以利用 GPU 功能高效处理基于矩阵和矢量的数据),可以选择基于 GPU 的运行时。
Azure Databricks 中的机器学习框架
Azure Databricks 是基于 Apache Spark 生成的,Apache Spark 是一个可高度缩放的平台,用于分布式数据处理。 在 Spark 上,数据科学家和机器学习工程师通常使用交互式笔记本工作,其中用于准备数据并用它来训练机器学习模型的代码是用 PySpark(一种针对 Spark 进行了优化的 Python 变体)编写的。 在 Python 生态系统中,有许多常用的机器学习框架,包括:
- Scikit-Learn:一个常用的机器学习框架,提供各种算法和其他库来帮助训练和评估预测模型。
- Spark MLlib:一个专为 Spark 构建的机器学习库。 MLlib 提供了两种训练和评估机器学习模型的方法:
- 基于 Spark 弹性分布式数据集 (RDD) 结构的类。
- 基于 Spark 数据帧结构的类。 此框架(通常称为 Spark ML)是使用 MLlib 的首选框架。
- PyTorch:一种深度学习框架,用于为复杂预测、计算机视觉和自然语言处理工作负载构建神经网络模型。
- TensorFlow:另一种常用的深度学习框架。
可以在 Azure Databricks 中使用任何这些框架(以及更多其他框架)来训练和评估机器学习模型。