探索解决方案体系结构

已完成

开始之前,我们来探索一下体系结构以了解所有要求。 将模型投入到生产意味着你需要缩放解决方案并与其他团队合作。 与数据科学家、数据工程师和基础结构团队一起,你决定使用以下方法:

  • 所有数据都将存储在由数据工程师管理的 Azure Blob 存储中。
  • 基础结构团队将创建必要的 Azure 资源,例如 Azure 机器学习工作区。
  • 数据科学家将专注于内部循环:即开发和训练模型。
  • 机器学习工程师将采用经过训练的模型,并将它部署在外部循环中。

与更大的团队一起,你设计了一个实现机器学习操作 (MLOps) 的体系结构。

Diagram of machine learning operations architecture.

注意

此图是 MLOps 体系结构的简化表示形式。 若要查看更详细的体系结构,请浏览 MLOps (v2) 解决方案加速器中的各种用例。

MLOps 体系结构的主要目标是创建可靠且可重现的解决方案。 实现此目标包括以下内容:

  1. 设置:为解决方案创建所有必需的 Azure 资源。
  2. 模型开发(内部循环):浏览并处理数据来训练和评估模型。
  3. 持续集成:打包并注册模型。
  4. 模型部署(外部循环):部署模型。
  5. 持续部署:测试模型并提升到生产环境。
  6. 监视:监视模型和终结点性能。

此时,在项目中会创建 Azure 机器学习工作区,数据将存储在 Azure Blob 存储中,并且数据科学团队已训练了模型。

你希望通过将模型部署到生产环境,从内部循环和模型开发移动到外部循环。 因此,你需要将数据科学团队的输出转换为 Azure 机器学习中可靠且可重现的管道。

通过确保将所有代码存储为脚本并将脚本作为 Azure 机器学习作业执行,从而更轻松地自动执行模型训练并在将来重新训练模型。

Diagram of showing details of model development which builds on setup.

数据科学团队一直在着手模型开发的工作。 他们给了你一个 Jupyter 笔记本,其中包括以下任务:

  1. 读取和浏览数据。
  2. 执行特征工程。
  3. 定型模型。
  4. 评估模型。

在设置过程中,基础结构团队创建了:

  1. Azure 机器学习开发 (dev) 工作区,可供数据科学团队用于探索和试验。
  2. 工作区中的数据资产,引用了包含数据的 Azure Blob 存储中的文件夹。
  3. 运行笔记本和脚本所需的计算资源。

对于 MLOps,你的第一项任务是转换数据科学家手中的工作,以便可以轻松地自动执行模型开发。 虽然数据科学团队在 Jupyter 笔记本中工作,但你需要使用脚本并使用 Azure 机器学习作业来执行这些脚本。 作业的输入将为基础结构团队创建的数据资产,该资产指向连接到 Azure 机器学习工作区的 Azure Blob 存储上的数据。