AI Platform Pipelines 简介

机器学习 (ML) 工作流包括准备和分析数据、训练和评估模型、将训练过的模型部署到生产、跟踪 ML 工件和了解它们的依赖关系等步骤。以临时方式管理这些步骤可能非常困难且耗时。

MLOps 是应用 DevOps 实践来帮助自动化、管理和审核机器学习工作流的做法。AI Platform Pipelines 通过提供一个平台来帮助您实现 MLOps,在这个平台上,您可以将流程中步骤编排为流水线。机器学习流水线是机器学习工作流可移植且可复制的定义。

通过简化使用 TensorFlow Extended (TFX) 设置 Kubeflow 流水线的难度,您可以借助 AI Platform Pipelines 更轻松地启用 MLOps。Kubeflow Pipelines 是一个开放源代码平台,用于在 Kubernetes 上运行、监控、审核和管理机器学习流水线。TFX 是一个开源项目,用于构建机器学习流水线,该流水线可编排端到端机器学习工作流。

关于 Kubeflow 和 Kubeflow Pipelines 平台

Kubeflow 是一个用于在 Kubernetes 上运行机器学习工作负载的开源工具包。Kubeflow Pipelines 是 Kubeflow 的一个组件,它提供了构建和部署机器学习工作流程的平台,即流水线。

关于 TensorFlow Extended

TFX 是一个开源项目,可用于将基于机器学习工作流的 TensorFlow 定义为流水线。TFX 提供了可重复用于提取和转换数据、训练和评估模型、部署经过训练的推断模型等的组件。通过重复使用 TFX 组件,您无需为每个步骤构建自定义组件即可编排机器学习过程。

关于 AI Platform Pipelines

AI Platform Pipelines 为您解决了以下困难:

使用 AI Platform Pipelines,您可以在 15 分钟内设置 Kubeflow Pipelines 集群,以便快速开始使用机器学习流水线。AI Platform Pipelines 还创建了一个 Cloud Storage 存储分区,以便更轻松地运行流水线教程和启用TFX 流水线模板

了解机器学习流水线

机器学习流水线是基于容器的便携式、可扩展的机器学习工作流。机器学习流水线由一组输入参数和任务列表组成。每个任务都是流水线组件的一个实例。

您可以使用机器学习流水线进行以下操作:

  • 应用 MLOps 策略自动执行可重复的流程。
  • 通过运行不同超参数集、训练步数或迭代次数等的机器学习工作流进行实验。
  • 重新使用流水线工作流来训练新模型。

您可以使用 TensorFlow Extended 流水线模板或 Kubeflow Pipelines SDK 来构建流水线。

了解流水线组件

流水线组件是自包含代码集,该代码集可在流水线工作流中执行一个步骤,例如数据预处理、数据转换、模型训练等。

组件由一组输入参数、一组输出和容器映像的位置组成。组件的容器映像是一个软件包,其中包含组件的可执行代码和代码运行环境的定义。

了解流水线工作流

流水线中的每个任务都会在流水线的工作流中执行一个步骤。由于任务是流水线组件的实例,因此任务包含输入参数、输出和容器映像。任务输入参数可以根据流水线的输入参数设置,也可以根据此流水线中其他任务的输出进行设置。Kubeflow Pipelines 利用这些依赖关系将流水线工作流定义为有向非循环图。

例如,假设某个流水线具有以下任务:

  • 预处理:此任务会准备训练数据。
  • 训练:此任务使用预处理的训练数据训练模型。
  • 预测:此任务将经过训练的模型部署为机器学习服务,并获取测试数据集的预测。
  • 混淆矩阵:此任务使用预测任务的输出来构建混淆矩阵。
  • ROC:此任务使用预测任务的输出来执行接收者操作特征 (ROC) 曲线分析。

为了创建工作流程图,Kubeflow Pipelines SDK 会分析任务依赖关系。

  • 预处理任务不依赖于任何其他任务,因此它可以是工作流中的第一个任务,也可以与其他任务同时运行。
  • 训练任务依赖于预处理任务产生的数据,因此必须在预处理后进行训练。
  • 预测任务依赖于由训练任务产生的经训练模型,因此必须在训练任务后进行预测。
  • 构建混淆矩阵和执行 ROC 分析都依赖于预测任务的输出,因此它们必须在预测完成之后进行。构建混淆矩阵和执行 ROC 分析可以同时进行,因为它们都依赖于预测任务的输出。

根据此分析,Kubeflow Pipelines 系统按顺序运行预处理、训练和预测任务,然后同时运行混淆矩阵和 ROC 任务。

后续步骤