此页面包括迁移信息、示例笔记本的链接以及故障排除信息。
将经典 GPU 工作负荷迁移到无服务器
如果要将现有深度学习工作负载从经典 Databricks 群集(使用 Databricks Runtime ML)移到无服务器(使用 AI 运行时),请执行以下步骤:
- 替换依赖于群集的代码。 删除有关基于 Spark 的分布式训练的任何引用(例如
TorchDistributor),并将其替换为serverless_gpu中的@distributed装饰器。 - 更新数据加载。 将直接 DBFS 路径替换为 Unity 目录卷路径(
/Volumes/...)。 将本地 Spark 数据帧操作替换为 Spark Connect。 - 重新安装依赖项。 不要依赖于 Databricks Runtime ML 预安装的库。 为所有必需的包添加显式
%pip install命令。 - 更新检查点路径。 将检查点从 DBFS 或本地存储移动到 Unity 目录卷(
/Volumes/<catalog>/<schema>/<volume>/...)。 - 更新 MLflow 配置。 确保试验名称使用绝对路径并配置运行名称,以便可以轻松重启它们。
- 首先以交互方式进行测试。 在将工作负载安排为作业之前,请在交互式笔记本中测试验证它。
跟踪使用情况和成本
可以通过查询计费使用情况系统表(system.billing.usage)来监视 AI 运行时 GPU 支出。 以下查询返回无服务器 GPU 工作负荷的总使用情况:
SELECT
SUM(usage_quantity)
FROM
system.billing.usage
WHERE
product_features.serverless_gpu IS NOT NULL
有关计费使用情况表架构的详细信息,请参阅 计费使用情况系统表参考。
模型训练 SKU 上的 AI 运行时环境每 GPU 小时按以下价格收费:
- H100 按需版:每小时 7.00 美元/GPU(美国东部)
- A10 按需:4.90 美元/GPU 小时(美国东部)
示例笔记本
以下类别的示例笔记本可用于帮助你入门:
| 类别 | 说明 |
|---|---|
| 大型语言模型(LLM) | 微调大型语言模型,包括参数高效的方法,如 LoRA 和 QLoRA |
| 计算机视觉 | 对象检测、图像分类和其他 CV 任务 |
| 深度学习推荐器系统 | 使用现代深度学习方法(如双塔模型)构建建议系统 |
| 经典机器学习 | 传统的 ML 任务,包括 XGBoost 模型训练和时序预测 |
| 多 GPU 分布式训练 | 使用无服务器 GPU 接口扩展训练至多个 GPU |
有关完整列表,请参阅 AI 运行时示例笔记本。
故障排除
Genie Code 可以帮助诊断和建议库安装错误的修复。 请参阅 使用 Genie Code 调试计算环境错误。
ValueError:numpy.dtype 大小已更改,可能表示二进制不兼容。 预期从 C 头文件获得 96,但从 PyObject 获得 88
在编译依赖包期间使用的 NumPy 版本和运行时环境中当前安装的 NumPy 版本不匹配时,通常会出现此错误。 由于 NumPy 的 C API 发生更改,这种不兼容性经常发生,从 NumPy 1.x 到 2.x 尤其明显。 此错误指示笔记本中安装的 Python 包可能已更改 NumPy 版本。
建议的解决方案:
检查运行时中的 NumPy 版本,并确保它与包兼容。 有关预安装的 Python 库的信息,请参阅 环境 4 和环境 3 的无服务器 GPU 计算发行说明。 如果依赖于不同版本的 NumPy,请将该依赖项添加到计算环境。
安装 torch 时,PyTorch 找不到 libcudnn
当您安装不同版本的torch时,可能会看到错误:ImportError: libcudnn.so.9: cannot open shared object file: No such file or directory。 这是因为 torch 只搜索本地路径中的 cuDNN 库。
建议的解决方案:
请通过在安装torch时添加--force-reinstall来重新安装依赖项:
%pip install torch --force-reinstall