我正在学习 GCP,遇到了 Kuberflow 和 Google Cloud Composer。
据我了解,似乎两者都用于编排工作流程,使用户能够在 GCP 中安排和监控管道。
我能弄清楚的唯一区别是 Kuberflow 部署和监控机器学习模型。我对么?在那种情况下,既然机器学习模型也是对象,我们不能使用 Cloud Composer 来编排它们吗?在管理机器学习模型方面,Kubeflow 如何提供比 Cloud Composer 更好的帮助?
谢谢
我正在学习 GCP,遇到了 Kuberflow 和 Google Cloud Composer。
据我了解,似乎两者都用于编排工作流程,使用户能够在 GCP 中安排和监控管道。
我能弄清楚的唯一区别是 Kuberflow 部署和监控机器学习模型。我对么?在那种情况下,既然机器学习模型也是对象,我们不能使用 Cloud Composer 来编排它们吗?在管理机器学习模型方面,Kubeflow 如何提供比 Cloud Composer 更好的帮助?
谢谢
Kubeflow 项目致力于使在 Kubernetes 上部署机器学习 (ML) 工作流变得简单、可移植和可扩展。我们的目标不是重新创建其他服务,而是提供一种直接的方式来将用于 ML 的同类最佳开源系统部署到不同的基础设施。在任何运行 Kubernetes 的地方,都应该能够运行 Kubeflow。
正如您所看到的,它是由许多软件组成的套件,这些软件在 ML 模型的生命周期中很有用。它带有 tensorflow、jupiter 等。现在,谈到 Kubeflow,真正的交易是“在 Kubernetis 集群上轻松大规模部署 ML 模型”。
但是,在 GCP 上,您已经在云、datalab、云构建等中使用了 ML 套件。因此,如果您不需要“可移植性”因素,我不知道创建 kubernetis 集群的效率会有多高。
Cloud Composer在处理工作流程的编排方面是真正的交易。它是 Apache Airflow 的“托管”版本,非常适合任何变化很大的“简单”工作流,因为您可以通过可视化 UI 和 python 对其进行更改。
它也是自动化基础设施操作的理想选择:
两种服务都运行在 Kubernetes 上,但它们基于不同的编程框架;因此,您是对的,Kuberflow 部署和监控机器学习模型。请参阅下面的问题答案:
您需要找到满足您需求的运算符,或创建具有创建模型所需结构的自定义运算符,请参阅此示例。即使可以执行,这也可能比使用 Kubeflow 更困难。
Kubeflow 隐藏了复杂性,因为它专注于机器学习模型。专门用于机器学习的框架使这些事情比使用 Cloud Composer 更容易,在这种情况下,Cloud Composer 可以被视为通用工具(专注于链接 Airflow Operators 支持的现有服务)。
Kubeflow 和 Kubeflow 管道
Kubeflow 与 Kubeflow Pipelines 并不完全相同。Kubeflow 项目主要开发用于分布式 ML 训练(TFJob、PyTorchJob)的 Kubernetes 算子。另一方面,Pipelines 项目开发了一个用于在 Kubernetes 上创作和运行管道的系统。KFP 也有一些示例组件,主要产品是流水线创作 SDK 和流水线执行引擎
Kubeflow 管道与 Cloud Composer
这些项目非常相似,但也有区别: