你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

机器学习操作 (MLOps) v2

本文介绍机器学习操作的三种 Azure 体系结构。 它们都具有端到端持续集成 (CI)、持续交付 (CD) 和重新训练管道。 这些体系结构适用于以下 AI 应用程序:

  • 经典机器学习
  • 计算机视觉 (CV)
  • 自然语言处理 (NLP)

体系结构是 MLOps v2 项目的产物。 它们结合了在创建多个机器学习解决方案的过程中发现的解决方案架构师的最佳做法。 结果为可部署、可重复且可维护的模式,如下所示。

所有体系结构都使用 Azure 机器学习服务。

有关包含 MLOps v2 的示例部署模板的实现,请参阅 GitHub 上的 Azure MLOps (v2) 解决方案加速器

可能的用例

  • 经典机器学习:表格结构化数据的时序预测、回归和分类是此类别中最常见的用例。 示例如下:
    • 二进制和多标签分类
    • 线性、多项式、岭回归、套索、分位数和贝叶斯回归
    • ARIMA、自动回归 (AR)、SARIMA、VAR、SES、LSTM
  • CV:此处提供的 MLOps 框架主要侧重于分段和图像分类的 CV 用例。
  • NLP:此 MLOps 框架可以实现上述任何用例以及未列出的其他示例:
    • 命名实体识别
    • 文本分类
    • 文本生成
    • 情绪分析
    • 翻译
    • 问答
    • 汇总
    • 句子检测程序
    • 语言检测
    • 词性标记

本文未介绍模拟、深度强化学习和其他形式的 AI。

体系结构

MLOps v2 体系结构模式由四个主要模块化元素组成,这些元素代表 MLOps 生命周期的以下阶段:

  • 数据资产
  • 管理和设置
  • 模型开发(内部循环)
  • 模型部署(外部循环)

这些元素、它们之间的关系以及通常与其关联的角色对于所有 MLOps v2 方案体系结构来说都是常见的。 根据方案,每个的详细信息可能会有所不同。

Azure 机器学习 MLOps v2 的基本体系结构是表格数据上的经典机器学习方案。 CV 和 NLP 体系结构基于此基础体系结构进行构建和修改。

当前体系结构

MLOps v2 目前涵盖的体系结构和本文中讨论的体系结构包括:

经典机器学习体系结构

经典机器学习体系结构图。

下载此体系结构的 Visio 文件

经典机器学习体系结构的工作流

  1. 数据资产

    此元素说明了组织的数据资产,以及数据科学项目的潜在数据源和目标。 数据工程师是 MLOps v2 生命周期中此元素的主要所有者。 此图中的 Azure 数据平台既不详尽也不具有规范性。 根据客户用例表示推荐最佳做法的数据源和目标由绿色复选标记指示。

  2. 管理和设置

    此元素是 MLOps v2 加速器部署的第一步。 它包含与创建和管理与项目关联的资源和角色相关的所有任务。 这些任务可能包括以下任务,也可能包括其他任务:

    1. 创建项目源代码存储库
    2. 使用 Bicep 或 Terraform 创建机器学习工作区
    3. 创建或修改用于模型开发和部署的数据集和计算资源
    4. 项目团队用户的定义、其角色和对其他资源的访问控制
    5. 创建 CI/CD 管道
    6. 创建用于收集和通知模型和基础结构指标的监视器

    与此阶段关联的主要角色是基础结构团队,但也可能存在数据工程师、机器学习工程师和数据科学家。

  3. 模型开发(内部循环)

    内部循环元素由迭代数据科学工作流组成,该工作流在专用的安全 Azure 机器学习工作区中运行。 关系图中演示了典型的工作流。 它从数据引入、探索数据分析、试验、模型开发和评估,到注册候选生产模型。 MLOps v2 加速器中实现的此模元素与数据科学团队用于开发模型的过程无关,但是也可适应该过程。

    与此阶段相关的角色包括数据科学家和机器学习工程师。

  4. Azure 机器学习注册表

    在数据科学团队开发了一个可用于部署到生产环境的模型之后,可以在 Azure 机器学习工作空间注册表中注册该模型。 通过模型注册或封闭的人工循环审批自动触发的 CI 管道,将模型和其他任何模型依赖项提升到模型部署阶段。

    与此阶段关联的角色通常是机器学习工程师。

  5. 模型部署(外部循环)

    模型部署或外部循环阶段包括预生产暂存和测试、生产部署以及模型、数据和基础结构的监视。 CD 管道通过生产、监控和潜在的再培训来管理模型和相关资产的提升,因为满足适合组织和用例的条件。

    与此阶段关联的角色主要是机器学习工程师。

  6. 暂存和测试

    暂存和测试阶段可能因客户做法而异,但通常包括对生产数据的模型候选项进行重新训练和测试、终结点性能测试测试部署、数据质量检查、单元测试以及对模型和数据偏差负责的 AI 检查等操作。 此阶段发生在一个或多个专用、安全的 Azure 机器学习工作区中。

  7. 生产部署

    模型通过暂存和测试阶段后,可以使用人工循环封闭审批将其提升到生产环境。 模型部署选项包括用于批处理方案或者对于联机、准实时方案的托管批处理终结点,可以是托管联机终结点或者使用 Azure Arc 的 Kubernetes 部署。生产通常发生在一个或多个专用安全 Azure 机器学习工作区中。

  8. 监视

    在过渡、测试和生产环境中进行监视使你能够收集有关模型、数据和基础结构性能变化的指标,并采取行动。 模型和数据监视可以包括检查模型和数据偏移、新数据的模型性能以及负责任的 AI 问题。 基础结构监视可以监视终结点响应速度缓慢、计算容量不足或网络问题。

  9. 数据和模型监视:事件和操作

    根据有关指标阈值或计划等模型和数据事项的条件,自动化触发器和通知可以实现要采取的适当操作。 这可以定期对较新生产数据的模型进行自动重新训练,并循环回暂存和测试预生产评估。 或者,这可能是因为模型或数据问题的触发器,需要循坏回模型开发阶段,在此阶段数据科学家可以调查并且可能研发出新模型。

  10. 基础结构监视:事件和操作

    根据有关的基础结构问题的标准(例如终结点响应滞后或部署计算不足),自动化触发器和通知可以执行要采取的适当操作。 他们触发到设置和管理阶段的环回,此时基础结构团队可以调查并可能重新配置计算和网络资源。

Azure 机器学习 CV 体系结构

计算机视觉架构图。

下载此体系结构的 Visio 文件

CV 体系结构的工作流

Azure 机器学习 CV 体系结构基于经典机器学习体系结构,但它专门修改了受监督的 CV 方案。

  1. 数据资产

    此元素说明了组织的数据资产,以及数据科学项目的潜在数据源和目标。 数据工程师是 MLOps v2 生命周期中此元素的主要所有者。 此图中的 Azure 数据平台既不详尽也不具有规范性。 CV 方案的映像可能来自许多不同的数据源。 为提高使用 Azure 机器学习开发和部署 CV 模型的效率,建议使用映像的 Azure 数据源包括 Azure Blob 存储和 Azure Data Lake Storage。

  2. 管理和设置

    此元素是 MLOps v2 加速器部署的第一步。 它包含与创建和管理与项目关联的资源和角色相关的所有任务。 对于 CV 方案,MLOps v2 环境的管理和设置与经典机器学习大致相同,但还有一个步骤:使用 Azure 机器学习或其他工具的标记功能创建图像标记和批注项目。

  3. 模型开发(内部循环)

    内部循环元素由迭代数据科学工作流组成,该工作流在专用的安全 Azure 机器学习工作区中运行。 此工作流与经典机器学习方案的主要区别在于图像标记和批注是此开发循环的关键元素。

  4. Azure 机器学习注册表

    在数据科学团队开发了一个可用于部署到生产环境的模型之后,可以在 Azure 机器学习工作空间注册表中注册该模型。 通过模型注册或封闭的人工循环审批自动触发的 CI 管道,将模型和其他任何模型依赖项提升到模型部署阶段。

  5. 模型部署(外部循环)

    模型部署或外部循环阶段包括预生产暂存和测试、生产部署以及模型、数据和基础结构的监视。 CD 管道通过生产、监控和潜在的再培训来管理模型和相关资产的提升,因为满足适合组织和用例的条件。

  6. 暂存和测试

    暂存和测试阶段可能因客户做法而异,但通常包括终结点性能测试部署、数据质量检查、单元测试以及对模型和数据偏差负责的 AI 检查等操作。 对于 CV 方案,由于资源和时间限制,可以省略针对生产数据的候选模型。 相反,数据科学团队可以使用生产数据进行模型开发,从开发循环注册的候选模型是评估用于生产的模型。 此阶段发生在一个或多个专用、安全的 Azure 机器学习工作区中。

  7. 生产部署

    模型通过暂存和测试阶段后,可以使用人工循环封闭审批将其提升到生产环境。 模型部署选项包括用于批处理方案或者对于联机、准实时方案的托管批处理终结点,可以是托管联机终结点或者使用 Azure Arc 的 Kubernetes 部署。生产通常发生在一个或多个专用安全 Azure 机器学习工作区中。

  8. 监视

    在过渡、测试和生产环境中进行监视使你能够收集有关模型、数据和基础结构性能变化的指标,并采取行动。 模型和数据监视可以包括检查新图像上的模型性能。 基础结构监视可以监视终结点响应速度缓慢、计算容量不足或网络问题。

  9. 数据和模型监视:事件和操作

    MLOps for NLP 的数据和模型监视以及事件和操作阶段是经典机器学习的主要区别。 检测到新图像上的模型性能降级时,通常不会在 CV 方案中自动重新训练。 在这种情况下,模型执行不佳的新图像必须由人工循环过程审查和批注,并且下一个操作通常会返回到模型开发循环,以便使用新映像更新模型。

  10. 基础结构监视:事件和操作

    根据有关的基础结构问题的标准(例如终结点响应滞后或部署计算不足),自动化触发器和通知可以执行要采取的适当操作。 这会触发设置和管理阶段的环回,此时基础结构团队可以调查并可能重新配置环境、计算和网络资源。

Azure 机器学习 NLP 体系结构

N L P 体系结构图。

下载此体系结构的 Visio 文件

NLP 体系结构的工作流

Azure 机器学习 NLP 体系结构基于经典机器学习体系结构,但它专门修改了 NLP 方案。

  1. 数据资产

    此元素说明了组织的数据资产,以及数据科学项目的潜在数据源和目标。 数据工程师是 MLOps v2 生命周期中此元素的主要所有者。 此图中的 Azure 数据平台既不详尽也不具有规范性。 根据客户用例表示推荐最佳做法的数据源和目标由绿色复选标记指示。

  2. 管理和设置

    此元素是 MLOps v2 加速器部署的第一步。 它包含与创建和管理与项目关联的资源和角色相关的所有任务。 对于 NLP 方案,MLOps v2 环境的管理和设置与经典机器学习大致相同,但还有一个步骤:使用 Azure 机器学习或其他工具的标记功能创建图像标记和批注项目。

  3. 模型开发(内部循环)

    内部循环元素由迭代数据科学工作流组成,该工作流在专用的安全 Azure 机器学习工作区中运行。 典型的 NLP 模型开发循环与经典机器学习方案明显不同,即句子和标记化、规范化和文本数据嵌入的批注器是此方案的典型开发步骤。

  4. Azure 机器学习注册表

    在数据科学团队开发了一个可用于部署到生产环境的模型之后,可以在 Azure 机器学习工作空间注册表中注册该模型。 通过模型注册或封闭的人工循环审批自动触发的 CI 管道,将模型和其他任何模型依赖项提升到模型部署阶段。

  5. 模型部署(外部循环)

    模型部署或外部循环阶段包括预生产暂存和测试、生产部署以及模型、数据和基础结构的监视。 CD 管道通过生产、监控和潜在的再培训来管理模型和相关资产的提升,因为满足适合组织和用例的条件。

  6. 暂存和测试

    暂存和测试阶段可能因客户做法而异,但通常包括对生产数据的模型候选项进行重新训练和测试、终结点性能测试部署、数据质量检查、单元测试以及对模型和数据偏差负责的 AI 检查等操作。 此阶段发生在一个或多个专用、安全的 Azure 机器学习工作区中。

  7. 生产部署

    模型通过暂存和测试阶段后,可以使用人工循环封闭审批将其提升到生产环境。 模型部署选项包括用于批处理方案或者对于联机、准实时方案的托管批处理终结点,可以是托管联机终结点或者使用 Azure Arc 的 Kubernetes 部署。生产通常发生在一个或多个专用安全 Azure 机器学习工作区中。

  8. 监视

    在过渡、测试和生产环境中进行监视使你能够收集模型、数据和基础结构的性能变化并采取行动。 模型和数据监视可以包括检查模型和数据偏移、新数据的模型性能以及负责任的 AI 问题。 基础结构监视可以监视终结点响应缓慢、计算容量不足或网络问题。

  9. 数据和模型监视:事件和操作

    与 CV 体系结构一样,MLOps for NLP 的数据和模型监视以及事件和操作阶段是经典机器学习的主要区别。 检测到新文本的模型性能降低时,通常不会在 NLP 方案中执行自动重新训练。 在这种情况下,模型执行不佳的新文本数据必须由人工循环过程审查和批注。 下一步操作通常是返回到模型开发循环,以使用新的文本数据更新模型。

  10. 基础结构监视:事件和操作

    根据有关的基础结构问题的标准(例如终结点响应滞后或部署计算不足),自动化触发器和通知可以执行要采取的适当操作。 他们触发到设置和管理阶段的环回,此时基础结构团队可以调查并可能重新配置计算和网络资源。

组件

  • 机器学习:用于大规模训练、评分、部署和管理机器学习模型的云服务。
  • Azure Pipelines:此生成和测试系统基于 Azure DevOps,用于生成和发布管道。 Azure Pipelines 将这些管道分解为逻辑步骤(称为任务)。
  • GitHub:用于版本控制、协作和 CI/CD 工作流的代码托管平台。
  • Azure Arc:一个使用 Azure 资源管理器管理 Azure 和本地资源的平台。 这些资源可以包括虚拟机、Kubernetes 群集和数据库。
  • Kubernetes:一个可以自动部署、缩放和管理容器化应用程序的开源系统。
  • Azure Data Lake:与 Hadoop 兼容的文件系统。 具有集成的分层命名空间,以及 Azure Blob 存储的大规模和经济性。
  • Azure Synapse Analytics:一种无限制的分析服务,可将数据集成、企业数据仓库和大数据分析结合在一起。
  • Azure 事件中心。 引入客户端应用程序生成的数据流的服务。 随后会引入并存储流数据,从而保留接收事件的序列。 使用者可以连接到中心终结点,以检索要处理的消息。 在这里,我们将利用与 Data Lake Storage 的集成。

作者

本文由 Microsoft 维护, 它最初是由以下贡献者撰写的。

主要作者:

若要查看非公开领英个人资料,请登录领英。

后续步骤