将 MLOps 与 Intelligent Products Essentials 结合使用

Last reviewed 2022-06-28 UTC

本文档介绍了使用 Intelligent Products EssentialsVertex AI 实现 MLOps 的参考架构。这些工具可通过执行以下操作,帮助制造商持续改进其产品:

  • 添加智能功能,以更有效地满足客户需求。
  • 通过新产品功能获利。

考虑到这些目标,本文档面向想要了解互联产品的 MLOps 解决方案架构的数据科学家、机器学习 (ML) 工程师和解决方案架构师。

MLOps

机器学习系统中的隐藏技术债务中所述,机器学习代码只是成熟的机器学习系统的一小部分。除了机器学习代码和高质量的数据之外,您还需要一种方法来实现机器学习流程。

MLOps 就是这样一种实践方法,可以帮助您的公司以快速、可重复、可靠的方式构建、部署和实现机器学习系统。MLOps 会将 DevOps 原则应用于机器学习系统。MLOps 是一种工程文化和做法,旨在统一机器学习系统开发 (Dev) 和机器学习系统运维 (Ops)。MLOps 的目标是提供一组标准化流程和技术功能,以便快速、可靠地构建、部署和实现机器学习系统。

以下部分讨论如何使用 Intelligent Products Essentials 和 Vertex AI 实现 MLOps。

MLOps 角色

Intelligent Products Essentials 及核心 MLOps 用户角色的概要架构。

上图展示了以下组件和核心 MLOps 用户角色:

  • Intelligent Products Essentials:用于在 BigQuery 和 Cloud Storage 中存储客户数据、设备数据、设备遥测结果以及所有权数据。
  • 数据科学家:负责分析存储在 Intelligent Products Essentials 中的数据,执行特征工程流程、模型开发和模型评估,以及构建机器学习流水线。
  • 机器学习工程师:负责大规模编排和托管模型部署。

以下部分从数据科学家和机器学习工程师的角度介绍了 MLOps 架构。

数据科学家

对于任何机器学习问题,数据科学家的目标是应用高级分析和机器学习技术来识别数据和输出预测中的模式。由于数据是机器学习的基础,因此数据科学家需要便捷的数据集访问方式和灵活的开发环境来进行数据分析。

下图从数据科学家的角度展示了 Intelligent Products Essentials 的 MLOps 架构。

从数据科学家的角度展示的 Intelligent Products Essentials 的详细 MLOps 架构。

上图展示了面向数据科学家的以下 MLOps 组件:

  • Vertex AI Workbench:提供了一个基于 Jupyter 的全代管式可扩缩企业级计算基础架构,可连接到组织中的所有 Google Cloud 数据。数据科学家可以将此基础架构用作其开发环境。

  • Vertex AI Feature Store:提供了一个用于整理、存储和提供机器学习特征的集中式存储库。数据科学家可以使用 Vertex AI Feature Store 来在其整个组织内存储和共享特征。

  • Kubeflow Pipelines SDK:使数据科学家能够构建和部署基于 Docker 容器的可移植、可扩缩的机器学习工作流。数据科学家生成机器学习模型后,便可以使用 Kubeflow Pipelines SDK 将其训练过程打包到机器学习流水线中。

  • Vertex AI Pipelines:为使用 Kubeflow Pipelines SDK 或 TensorFlow Extended 构建的机器学习流水线提供执行环境。对于 Intelligent Products Essentials,我们建议您使用 Kubeflow Pipelines SDK。使用 Kubeflow Pipelines SDK 时,您还可以使用一些预构建的组件(例如 Google Cloud 流水线组件)来简化和加快部署过程。如需获得预构建组件的完整列表,请参阅 Google Cloud 流水线组件列表

  • Cloud Source Repositories:托管在 Google Cloud 上功能完善的私有 Git 代码库。数据科学家定义其持续训练机器学习流水线后,便可以将流水线定义存储在源代码库(如 Cloud Source Repositories)中。此方法会触发持续集成和持续部署 (CI/CD) 流水线运行。

机器学习工程师

Intelligent Products Essentials 可帮助机器学习工程师及时、可靠地自动执行机器学习模型。机器学习工程师负责管理 CI/CD 流水线,这些流水线为机器学习流水线、模型和(在某些情况下)预测服务的部署提供支持。

下图从机器学习工程师的角度展示了 Intelligent Products Essentials 的 MLOps 架构。

从机器学习工程师的角度展示的 Intelligent Products Essentials 的详细 MLOps 架构。

上图展示了面向机器学习工程师的以下 MLOps 组件:

  • CI 流水线:用于构建、测试和打包机器学习流水线的组件。
  • CD 流水线:用于将机器学习流水线部署到适当的环境(例如预演环境或生产环境)中。
  • 机器学习流水线:用于准备训练数据并训练机器学习模型。包括以下步骤:
    • 数据提取:从预定义的数据源拉取训练数据集
    • 数据验证:标识数据架构和数据值分布中的异常值。
    • 数据准备:涉及数据清理、数据转换和特征工程。
    • 模型训练:使用训练数据和其他机器学习方法(例如超参数优化)创建经过训练的模型。
    • 模型评估:在测试数据集上评估经过训练的模型(来自上一个模型训练步骤)的性能。
    • 模型验证:确认经过训练的模型是否符合部署的预测性能基准。
  • 机器学习流水线触发器:发布到 Pub/Sub 的事件,用于触发机器学习流水线以进行持续训练
  • Vertex AI Model Registry:用于存储经过训练的模型的各个版本及其关联的元数据。
  • 批量预测:对存储在 Cloud Storage 或 BigQuery 中的输入数据进行批量预测(适用于 AutoML Tables 表)。批量预测操作可以将预测结果输出到 Cloud Storage 或 BigQuery(适用于 AutoML Tables 表),供下游系统使用。

后续步骤