Kubeflow 与 Vertex AI Pipelines

rac*_*erX 15 google-cloud-platform kubeflow-pipelines google-cloud-ai-platform-pipelines google-ai-platform google-cloud-vertex-ai

我正在探索 kubeflow 管道和 Vertex AI 管道。据我了解,Vertex AI 管道是 kubeflow 管道的托管版本,因此不需要部署完整的 kubeflow 实例。从这方面来说,撇开价格不谈,Vertex AI 管道是更好的选择。但是,在 kubeflow 中,人们可以创建实验,这是我在 Vertex AI 管道中没有找到的等效项。我在文档中发现的 Vertex AI 不支持的唯一 kubeflow 功能是“缓存过期”和“递归”,但它们没有提及任何有关实验的内容。让我想知道在两者之间做出决定时是否还有其他值得考虑的差异。

Jot*_*ras 12

过去几个月,与我合作的团队一直在研究 Vertex AI 并与 KubeFlow 进行比较。正如您所指出的,Vertex AI 实验与 KubeFlow 的实验不同。Vertex的实验只是Tensorboard实例Vizier超参数调优的接口。

Vertex AI 中似乎没有类似的方法可以将管道运行分组到实验中。然而,就连KubeFlow for Machine Learning的作者也指出,KubeFlow 自己的实验跟踪功能非常有限,这就是为什么他们倾向于将 KubeFlow 与 MLflow 一起使用。

我注意到的其他一些差异:

  • 低级访问: Vertex 作为托管服务,不会公开管道步骤运行的实例,而在 KubeFlow 中,它们是 Kubernetes 内的普通旧 Pod,因此理论上您应该拥有更多低级控制。
  • 管道注册表/管道版本:在 KubeFlow 中,您可以存储管道并跟踪工具本身内已编译管道的版本,以及更改的描述。在 Vertex 中,没有等效项,您必须将管道对象存储在 GCS 中(但我认为无论如何,您最好在版本控制系统中跟踪管道代码)。
  • Vertex 尚不支持计划/定期管道运行。

除了这些和您已经提到的之外,Vertex 在管道执行功能方面似乎与 KubeFlow 具有同等功能,并且具有无需管理 Kubernetes 集群的巨大优势。


ewe*_*lva 3

实际上,Vertex AI 是一个无服务器平台,用于执行内置管道:

\n
\n

Kubeflow Pipelines SDK v1.8.9 或更高版本,或者 TensorFlow Extended v0.30.0 或更高版本。

\n
\n

事实上,几乎任何您用来创建的 Kubeflow 管道都可以在 Vertex AI 中运行得很好,您只需考虑您在文档中已经提到的方面(io、dsl 和 storge)(这是常识,因为您无法从磁盘获取,而必须使用外部文件源)

\n

所以,基本上就是你运行它的地方。如果您使用 kubeflow(即),开发实际上不会改变import kfp

\n

更新:几乎所有功能也支持实验。只需检查此处:实验 \xe2\x80\x93 Vertex AI \xe2\x80\x93 Google Cloud Platform

\n

在此输入图像描述

\n

一些参考资料:

\n

构建管道 \xc2\xa0|\xc2\xa0 Vertex AI \xc2\xa0|\xc2\xa0 Google Cloud

\n

运行实验 | 库贝流

\n

实验 \xe2\x80\x93 Vertex AI \xe2\x80\x93 Google Cloud Platform

\n