如何从 Azure Databricks 导出 MLFlow 模型作为 CD 阶段的 Azure DevOps 工件?

How to export a MLFlow Model from Azure Databricks as an Azure DevOps Artifacts for CD phase?

我正在尝试使用 Azure DevOps 和 Azure Databricks 创建 MLOps 管道。我正在从 Azure DevOps 向集群提交 Databricks 作业,该集群训练机器学习模型并将其保存到自定义风格的 MLFlow 模型注册表中(使用 PyFunc 自定义模型)。

工作结束后,我想导出这个 MLFlow 对象(具有所有依赖项 - Conda 依赖项,两个模型文件 - 一个 .pkl 和一个 .h5,Python Class 定义了 load_context()predict() 函数,以便在导出后我可以导入它并调用预测,就像我们对 MLFlow 模型所做的那样)。

如何导出整个 MLFlow 模型并将其保存为 AzureDevOps 工件以用于 CD 阶段(我将在其中将其部署到具有自定义基础映像的 AKS 集群)?

可能您不需要使用工件,有一个 azure devops 扩展(Machine Learning),它可以访问 AzureML 工作区中的工件,并触发发布管道。具体步骤可参考下方link: https://github.com/Azure-Samples/MLOpsDatabricks/blob/master/docs/release-pipeline.md

没有官方方法可以将 Databricks MLflow 运行 从一个工作区导出到另一个工作区。但是,有一个“非官方”工具可以完成大部分工作,主要限制是链接到 运行 的笔记本修订版无法导出,因为缺少 REST API 端点。

https://github.com/amesar/mlflow-export-import