Databricks 上的 AI 和机器学习

本文介绍由 Azure Databricks 提供,可帮助你生成和监视 AI 和 ML 工作流的工具。 示意图显示了这些组件如何协同工作,以帮助实现模型开发和部署过程。

机器学习图:Databricks 上的模型开发和部署

为什么使用 Databricks 进行机器学习和深度学习?

使用 Azure Databricks,可以在单个平台上实现完整的 ML 生命周期,并在 ML 管道中实现端到端治理。 Azure Databricks 包含以下支持 ML 工作流的内置工具:

Databricks 中的深度学习

配置深度学习应用程序的基础结构可能很困难。

适用于机器学习的 Databricks Runtime 可为你处理这一任务,它包含内置兼容版本的最常见深度学习库(如 TensorFlow、PyTorch 和 Keras)的群集,以及 Petastorm、Hyperopt 和 Horovod 等支持库。 Databricks Runtime ML 群集还包括预配置的 GPU 支持以及驱动程序和支持库。 它还支持 Ray 等库,以便并行化计算处理来缩放 ML 工作流和 AI 应用程序。

Databricks Runtime ML 群集还包括预配置的 GPU 支持以及驱动程序和支持库。 通过 Databricks 模型服务,可为没有额外配置的深度学习模型创建可缩放的 GPU 终结点。

对于机器学习应用程序,Databricks 建议使用运行用于机器学习的 Databricks Runtime 的群集。 请参阅使用 Databricks Runtime ML 创建群集

若要开始在 Databricks 上进行深度学习,请参阅:

Databricks 上的大型语言模型 (LLM) 和生成式 AI

适用于机器学习的 Databricks Runtime 包括 Hugging Face TransformersLangChain 之类的库,这些库支持你将现有的预先训练的模型或其他开放源代码库集成到工作流中。 借助 Databricks MLflow 集成,可以轻松地将 MLflow 跟踪服务与转换器管道、模型和处理组件配合使用。 此外,可以在 Azure Databricks 工作流中集成来自 John Snow Labs 等合作伙伴的 OpenAI 模型或解决方案。

使用 Azure Databricks,可以针对特定任务的数据自定义 LLM。 借助开放源代码工具(如 Hugging Face 和 DeepSpeed)的支持,可以高效使用基础 LLM 并使用自己的数据进行训练,以提高特定域和工作负载的准确度。 然后,可以在生成式 AI 应用程序中利用自定义 LLM。

用于机器学习的 Databricks Runtime

用于机器学习的 Databricks Runtime (Databricks Runtime ML) 可使用预生成的机器学习和深度学习基础结构(包括最常见的 ML 和 DL 库)自动创建群集。 有关 Databricks Runtime ML 的每个版本中库的完整列表,请参阅发行说明

若要在 Unity Catalog 中访问机器学习工作流的数据,群集的访问模式必须是单用户(已分配)。 共享群集与用于机器学习的 Databricks Runtime 不兼容。 此外,TableACLs 群集或将 spark.databricks.pyspark.enableProcessIsolation config 设置为 true 的群集不支持 Databricks Runtime ML。

使用 Databricks Runtime ML 创建群集

创建群集时,请从“Databricks Runtime 版本”下拉菜单中选择 Databricks Runtime ML 版本。 CPU 和启用 GPU 的 ML 运行时均可用。

选择 Databricks Runtime ML

如果你在笔记本中从下拉菜单选择一个群集,将在群集名称的右侧显示 Databricks Runtime 版本:

查看 Databricks Runtime ML 版本

如果选择已启用 GPU 的 ML 运行时,系统会提示你选择兼容的“驱动程序类型”和“辅助角色类型”。 下拉菜单中不兼容的实例类型会灰显。 “GPU 加速”标签下列出了已启用 GPU 的实例类型。

注意

若要在 Unity Catalog 中访问机器学习工作流的数据,群集的访问模式必须是单用户(已分配)。 共享群集与用于机器学习的 Databricks Runtime 不兼容。

Databricks Runtime ML 中已包含库

Databricks Runtime ML 包含各种常见的 ML 库。 该库使用每个发行版进行更新,以包括新功能和修复。

Databricks 已将一部分受支持的库指定为顶层库。 对于这些库,Databricks 提供了更快的更新节奏,可通过每个运行时版本更新到最新的包版本(除非存在依赖项冲突)。 Databricks 还为顶层库提供高级支持、测试以及嵌入式优化。

有关顶层库和提供的其他库的完整列表,请参阅 Databricks Runtime ML的发行说明

后续步骤

如要入门,请参阅:

有关 Databricks 机器学习上建议的 MLOps 工作流,请参阅:

若要了解 Databricks 机器学习的主要功能,请参阅: