机器学习 (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 为您解决了以下困难:
- 设置 Google Kubernetes Engine 集群
- 创建 Cloud Storage 存储桶
- 安装 Kubeflow Pipelines
使用 AI Platform Pipelines,您可以在 15 分钟内设置 Kubeflow Pipelines 集群,以便快速开始使用机器学习流水线。AI Platform Pipelines 还创建了一个 Cloud Storage 存储桶,以便更轻松地运行流水线教程和启用TFX 流水线模板。
了解机器学习流水线
机器学习流水线是基于容器的便携式、可扩展的机器学习工作流。机器学习流水线由一组输入参数和任务列表组成。每个任务都是流水线组件的一个实例。
您可以使用机器学习流水线进行以下操作:
- 应用 MLOps 策略自动执行可重复的流程。
- 通过运行不同超参数集、训练步数或迭代次数等的机器学习工作流进行实验。
- 重新使用流水线工作流来训练新模型。
您可以使用 TensorFlow Extended 流水线模板或 Kubeflow Pipelines SDK 来构建流水线。
- 按照教程学习如何通过 TFX 流水线模板构建流水线。
- 详细了解构建 Kubeflow Pipelines。
了解流水线组件
流水线组件是自包含代码集,该代码集可在流水线工作流中执行一个步骤,例如数据预处理、数据转换、模型训练等。
组件由一组输入参数、一组输出和容器映像的位置组成。组件的容器映像是一个软件包,其中包含组件的可执行代码和代码运行环境的定义。
了解流水线工作流
流水线中的每个任务都会在流水线的工作流中执行一个步骤。由于任务是流水线组件的实例,因此任务包含输入参数、输出和容器映像。任务输入参数可以根据流水线的输入参数设置,也可以根据此流水线中其他任务的输出进行设置。Kubeflow Pipelines 利用这些依赖关系将流水线工作流定义为有向非循环图。
例如,假设某个流水线具有以下任务:
- 预处理:此任务会准备训练数据。
- 训练:此任务使用预处理的训练数据训练模型。
- 预测:此任务将经过训练的模型部署为机器学习服务,并获取测试数据集的预测。
- 混淆矩阵:此任务使用预测任务的输出来构建混淆矩阵。
- ROC:此任务使用预测任务的输出来执行接收者操作特征 (ROC) 曲线分析。
为了创建工作流程图,Kubeflow Pipelines SDK 会分析任务依赖关系。
- 预处理任务不依赖于任何其他任务,因此它可以是工作流中的第一个任务,也可以与其他任务同时运行。
- 训练任务依赖于预处理任务产生的数据,因此必须在预处理后进行训练。
- 预测任务依赖于由训练任务产生的经训练模型,因此必须在训练任务后进行预测。
- 构建混淆矩阵和执行 ROC 分析都依赖于预测任务的输出,因此它们必须在预测完成之后进行。构建混淆矩阵和执行 ROC 分析可以同时进行,因为它们都依赖于预测任务的输出。
根据此分析,Kubeflow Pipelines 系统按顺序运行预处理、训练和预测任务,然后同时运行混淆矩阵和 ROC 任务。
后续步骤
- 按照 AI Platform Pipelines 快速入门指南,了解如何安装 Kubeflow Pipelines 和运行第一个机器学习流水线。