2

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

4

2 回答 2

3

在过去的几个月里,我所在的团队一直在研究 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 集群的巨大优势。

于 2021-12-16T13:16:48.807 回答
0

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

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

事实上,几乎所有你用来创建的 Kubeflow 管道都可以在 Vertex AI 中运行得很好,你只需要考虑你在文档中已经提到的方面(io、dsl 和 storge)(哪种常识,因为你不能从磁盘,必须使用外部文件源)

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

更新:几乎所有功能也支持实验。只需在此处查看:Experiments – Vertex AI – Google Cloud Platform

在此处输入图像描述

一些参考资料:

建设管道| 顶点人工智能 | 谷歌云

运行实验 | Kubeflow

实验 – Vertex AI – 谷歌云平台

于 2021-12-15T12:42:00.447 回答