用于机器学习的 Databricks Runtime
本文介绍用于机器学习的 Databricks Runtime,并提供有关如何创建使用该群集的指南。
什么是用于机器学习的 Databricks Runtime?
用于机器学习的 Databricks Runtime (Databricks Runtime ML) 可使用预生成的机器学习和深度学习基础结构(包括最常见的 ML 和 DL 库)自动创建群集。
Databricks Runtime ML 中已包含库
Databricks Runtime ML 包含各种常见的 ML 库。 该库使用每个发行版进行更新,以包括新功能和修复。
Databricks 已将一部分受支持的库指定为顶层库。 对于这些库,Databricks 提供了更快的更新节奏,可通过每个运行时版本更新到最新的包版本(除非存在依赖项冲突)。 Databricks 还为顶层库提供高级支持、测试以及嵌入式优化。 顶级库只有在主要版本更新时才会添加或删除。
- 有关顶层库和提供的其他库的完整列表,请参阅 Databricks Runtime ML 的发行说明。
- 有关更新库的频率以及库弃用的时间的信息,请参阅 Databricks Runtime ML 维护策略。
你可以安装其他库来为笔记本或群集创建自定义环境。
- 若要使库可用于群集上运行的所有笔记本,请创建群集库。 创建时,还可以使用 init 脚本在群集上安装库。
- 若要安装仅供特定笔记本会话使用的库,请使用笔记本范围的 Python 库。
设置 Databricks Runtime ML 的计算资源
基于 Databricks Runtime ML 创建计算的过程取决于你的工作区是否启用了专用组群集公共预览版。 已启用预览版的工作区有一个新的简化计算 UI。
使用 Databricks Runtime ML 创建群集
当你创建一个群集时,从“Databricks Runtime 版本”下拉菜单中选择一个 Databricks Runtime ML 版本。 CPU 和启用 GPU 的 ML 运行时均可用。
如果你在笔记本中从下拉菜单选择一个群集,将在群集名称的右侧显示 Databricks Runtime 版本:
如果选择已启用 GPU 的 ML 运行时,系统将提示你选择兼容的“驱动程序类型”和“辅助角色类型”。 下拉菜单中不兼容的实例类型会灰显。 “GPU 加速”标签下列出了已启用 GPU 的实例类型。 要了解如何创建 Azure Databricks GPU 群集,请参阅启用了 GPU 的计算。 Databricks Runtime ML 包括 GPU 硬件驱动程序和 NVIDIA 库(例如 CUDA)。
使用新的简化计算 UI 创建新群集
仅当你的工作区已启用专用组群集预览版时,才使用本节中的步骤。
若要使用 Databricks Runtime 的机器学习版本,请选中“机器学习”复选框。
对于基于 GPU 的计算,select 是具有 GPU 功能的实例类型。 有关支持的 GPU 类型的完整列表,请参阅支持的实例类型。
Photon 和 Databricks Runtime ML
创建运行 Databricks Runtime 15.2 ML 或更高版本的 CPU 群集时,你可以选择启用 Photon。 Photon 可以提高使用 Spark SQL、Spark 数据帧、功能工程、GraphFrames 和 xgboost4j 的应用程序的性能。 预计不会提高使用 Spark RDD、Pandas UDF 和非 JVM 语言(例如 Python)的应用程序的性能。 因此,使用 Photon 不会提高 Python 包(例如 XGBoost、PyTorch 和 TensorFlow)的性能。
Spark RDD API 和 Spark MLlib 与 Photon 的兼容性有限。 使用 Spark RDD 或 Spark MLlib 处理大型数据集时,可能会遇到 Spark 内存问题。 请参阅 Spark 内存问题。
Databricks Runtime ML 群集的访问模式
若要在运行 Databricks Runtime ML 的群集上访问 Unity Catalog 中的数据,必须执行下列操作之一:
当计算资源具有 专用 访问权限时,可以将资源分配给单个用户或组。 分配给组(组群集)时,用户的权限会自动缩小组的权限范围,使用户能够安全地与组的其他成员共享资源。
使用单用户访问模式时,以下功能仅适用于 Databricks Runtime 15.4 LTS ML 及更高版本:
- 精细访问控制。
- 查询使用 Delta Live Tables 管道创建的表,包括流式传输表和具体化视图。