5

我正在学习 GCP,遇到了 Kuberflow 和 Google Cloud Composer。
据我了解,似乎两者都用于编排工作流程,使用户能够在 GCP 中安排和监控管道。
我能弄清楚的唯一区别是 Kuberflow 部署和监控机器学习模型。我对么?在那种情况下,既然机器学习模型也是对象,我们不能使用 Cloud Composer 来编排它们吗?在管理机器学习模型方面,Kubeflow 如何提供比 Cloud Composer 更好的帮助?

谢谢

4

3 回答 3

5

直接从kubeflow.org 获取

Kubeflow 项目致力于使在 Kubernetes 上部署机器学习 (ML) 工作流变得简单、可移植和可扩展。我们的目标不是重新创建其他服务,而是提供一种直接的方式来将用于 ML 的同类最佳开源系统部署到不同的基础设施。在任何运行 Kubernetes 的地方,都应该能够运行 Kubeflow。

正如您所看到的,它是由许多软件组成的套件,这些软件在 ML 模型的生命周期中很有用。它带有 tensorflow、jupiter 等。现在,谈到 Kubeflow,真正的交易是“在 Kubernetis 集群上轻松大规模部署 ML 模型”。

但是,在 GCP 上,您已经在云、datalab、云构建等中使用了 ML 套件。因此,如果您不需要“可移植性”因素,我不知道创建 kubernetis 集群的效率会有多高。

Cloud Composer在处理工作流程的编排方面是真正的交易。它是 Apache Airflow 的“托管”版本,非常适合任何变化很大的“简单”工作流,因为您可以通过可视化 UI 和 python 对其进行更改。

它也是自动化基础设施操作的理想选择:

在此处输入图像描述

于 2020-03-17T08:28:24.060 回答
5
  • Kubeflow 是一个用于开发和部署机器学习 (ML) 系统的平台它的组件专注于创建旨在构建 ML 系统的工作流。
  • Cloud Composer 提供了运行Apache Airflow 工作流的基础架构。它的组件被称为Airflow Operators,工作流是这些被称为 DAG 的算子之间的连接。

两种服务都运行在 Kubernetes 上,但它们基于不同的编程框架;因此,您是对的,Kuberflow 部署和监控机器学习模型。请参阅下面的问题答案:

  1. 在那种情况下,既然机器学习模型也是对象,我们不能使用 Cloud Composer 来编排它们吗?

您需要找到满足您需求的运算符,或创建具有创建模型所需结构的自定义运算符,请参阅此示例。即使可以执行,这也可能比使用 Kubeflow 更困难。

  1. 在管理机器学习模型方面,Kubeflow 如何提供比 Cloud Composer 更好的帮助?

Kubeflow 隐藏了复杂性,因为它专注于机器学习模型。专门用于机器学习的框架使这些事情比使用 Cloud Composer 更容易,在这种情况下,Cloud Composer 可以被视为通用工具(专注于链接 Airflow Operators 支持的现有服务)。

于 2020-03-17T20:32:51.487 回答
5

Kubeflow 和 Kubeflow 管道

Kubeflow 与 Kubeflow Pipelines 并不完全相同。Kubeflow 项目主要开发用于分布式 ML 训练(TFJob、PyTorchJob)的 Kubernetes 算子。另一方面,Pipelines 项目开发了一个用于在 Kubernetes 上创作和运行管道的系统。KFP 也有一些示例组件,主要产品是流水线创作 SDK 和流水线执行引擎

Kubeflow 管道与 Cloud Composer

这些项目非常相似,但也有区别:

  • KFP 使用 Argo 进行执行和编排。Cloud Composer 使用 Apache Airflow。
  • KFP/Argo 专为 Kubernetes 上的分布式执行而设计。Cloud Composer/Apache Airflow 更适合单机执行。
  • KFP/Argo 与语言无关——组件可以使用任何语言(组件描述容器化的命令行程序)。Cloud Composer/Apache Airflow 使用 Python(Airflow 运算符定义为 Python 类)。
  • KFP/Argo 有数据传递的概念。每个组件都有输入和输出,并且管道将它们连接到数据传递图中。Cloud Composer/Apache Airflow 并没有真正的数据传递(Airflow 具有全局变量存储和 XCom,但它与显式数据传递不同)并且管道是任务依赖图而不是主要的数据依赖图(KFP 也可以有任务依赖项,但通常不需要它们)。
  • KFP 支持执行缓存功能,可以跳过之前已经执行的任务的执行。
  • KFP 将管道运行产生的所有工件记录在 ML 元数据数据库中。
  • KFP 有实验性的适配器,允许使用 Airflow 操作符作为组件。
  • KFP 拥有庞大且快速增长的定制组件生态系统。
于 2020-06-20T01:57:49.493 回答