升级 ML 工作流以面向 Unity Catalog 中的模型
本文介绍了如何迁移和升级现有的 Databricks 工作流以使用 Unity Catalog 中的模型。
要求
所需的特权
若要在 Unity Catalog 中执行模型训练、部署或推理工作流,运行工作流的主体必须对保存模型的目录和架构具有 USE CATALOG
和 USE SCHEMA
特权。
还需要以下特权:
- 若要创建模型,主体必须具有
CREATE MODEL
特权。 - 若要加载或部署模型,主体必须对已注册模型具有
EXECUTE
特权。
只有已注册模型的所有者才能执行下面的操作:
- 创建新的模型版本。
- 在已注册模型上设置别名。
计算要求
为工作流指定的计算资源必须有权访问 Unity Catalog。 请参阅访问模式。
创建并行训练、部署和推理工作流
Azure Databricks 建议采用增量方法将模型训练和推理工作流升级到 Unity Catalog。借助这种方法,可以创建并行训练、部署和推理管道来利用 Unity Catalog 中的模型。 如果能接受使用 Unity Catalog 得出的结果,则可以切换下游使用者来读取批量推理输出,或者在服务终结点中增加路由到 Unity Catalog 中模型的流量。
模型训练工作流
克隆模型训练工作流。 确认运行工作流的主体和为工作流指定的计算是否满足要求。
接下来,修改已克隆的工作流中的模型训练代码。 可能需要克隆工作流运行的笔记本,或者在已克隆的工作流中创建并面向新的 git 分支。 按照这些步骤安装必要的 MLflow 版本,将客户端配置为在训练代码中面向 Unity Catalog。 然后,更新模型训练代码以将模型注册到 Unity Catalog。 请参阅训练和注册与 Unity Catalog 兼容的模型。
模型部署工作流
克隆模型部署工作流。 确认运行工作流的主体和为工作流指定的计算是否满足要求。
如果部署工作流中有模型验证逻辑,请将其更新为从 UC 加载模型版本。 使用别名管理生产模型推出。
模型推理工作流
批量推理工作流
克隆批量推理工作流。 确认运行工作流的主体和为工作流指定的计算是否满足要求。
模型服务工作流
如果使用 Mosaic AI 模型服务,则无需克隆现有终结点。 改为使用流量拆分功能开始将一小部分流量路由到 Unity Catalog 中的模型。 使用 Unity Catalog 查看结果时,请在重新路由所有流量之前增加流量。
跨环境提升模型
跨环境推广模型与 Unity Catalog 中的模型推广方式不同。 有关详细信息,请参阅跨环境提升模型。
使用作业 Webhook 手动批准模型部署
Databricks 建议在模型部署过程中使用适当的检查和测试自动执行模型部署(如果可能)。 但是,如果部署生产模型确实需要执行手动批准,则可以在模型训练作业成功完成后,使用作业通知调用外部 CI/CD 系统请求手动批准,从而部署模型。 提供手动批准后,CI/CD 系统随后可以部署模型版本来为流量提供服务,例如,通过设置其“Champion”别名。