用于服务模型预测的 Google Kubernetes Engine vs Vertex AI(AI Platform Unified)
Posted
技术标签:
【中文标题】用于服务模型预测的 Google Kubernetes Engine vs Vertex AI(AI Platform Unified)【英文标题】:Google Kubernetes Engine vs Vertex AI (AI Platform Unified) for Serving Model Prediction 【发布时间】:2021-08-28 00:51:46 【问题描述】:随着谷歌最近发布的Vertex AI 集成了其所有 MLOps 平台,我想知道在 GKE 与 Vertex AI(或 AI Platform Unified,因为品牌重塑刚刚发生)上提供定制训练的 PyTorch/Tensorflow 模型会有什么区别并且 AI Platform 已经提供了服务模型预测的能力。
我做了很多研究,但发现的信息很少。我已经在 GKE 上托管了我的 ML 模型,是否值得迁移到 Vertex AI?
注意:我不打算在云上进行训练和其他数据预处理。
【问题讨论】:
嗨,@SakshiGatyan 感谢您的回答。 cmets 非常有帮助,我期待通过 Vertex AI 构建更多的 ML 应用程序! 【参考方案1】:Vertex AI 值得考虑:
Vertex AI 是一个“托管”机器学习平台,供从业者加速实验和部署 AI 模型。在部署/训练/预测 ML 模型时,我们不需要管理基础设施/服务器/健康。 Vertex AI 会根据流量为您处理这些问题。
有助于考虑 Vertex AI 的一些关键特性:
-
Vertex AI streamlines model development
模型经过训练后,我们会获得详细的模型评估指标和特征属性。 (特征归因告诉模型中的哪些特征最能代表模型的预测,从而深入了解模型在幕后的表现)
-
Scalable deployment with endpoints
模型经过训练后,即可部署到端点。模型之间的流量可以拆分进行测试,也可以自定义机器类型
-
Orchestrating Workflow using Vertex pipeline
顶点管道有助于避免模型周围环境发生变化时可能发生的模型漂移概念。顶点管道可以帮助自动化这种保留工作流程。
-
Monitoring deployed models using Vertex AI
顶点模型监控可用于检测漂移和训练服务倾斜等问题,因此无需手动检查以确保模型仍然正确执行,而是使用顶点 AI 提供对模型可靠性的信心,因为我们会收到警报随时发生变化。
【讨论】:
是否可以准确地说 Vertex AI 部署和管道在 GKE 集群上运行,并且该平台用作更轻松地管理、监控和与 ML 模型交互的包装器?另外,如果它确实在 GKE 上运行,我假设 Vertex AI 的节点自动缩放本质上与 GKE 相同? pod 启动时间和其他指标也是如此? 是否知道来自 AI Platform (cloud.google.com/ai-platform/prediction/docs/…) 的持续评估功能是否保留在 Vertex AI 中? 是的,目前 Vertex-AI 部署确实发生在 GKE 上,并且自动缩放与 GKE 相同。 Vertex-AI 尚不支持持续评估功能,但该功能正在由 VertexAI 产品团队开发,很快就会得到支持。 嗨,sakshi。我们在 AWS 上的 g4dn.xlarge 实例上运行文本到艺术模型,但存在大规模扩展问题。这些模型是 dockerized 并且易于携带。这是顶点可以支持的东西吗?如果是这样,是否有有效载荷限制?文档不清楚。 ——【参考方案2】:我也一直在探索使用 Vertex AI 进行机器学习。在从自定义容器提供模型预测时,我发现以下几点很有用:
从 Vertex AI 上的自定义容器(而不是 GKE 集群)提供预测,让您无需管理基础架构。在成本方面,与 Vertex AI 相比,GKE 自动驾驶集群似乎更昂贵,但 GKE 标准模式的差异并不那么明显。用于标准模式的计算引擎定价低于类似 Vertex AI 节点的价格,但标准模式会增加集群管理费用。 我没有深入研究过AI Platform,但是在Vertex AI中,唯一可用的预测机器类型是“N1”,它不能缩小到0,至少1会一直运行。从成本的角度来看,这是一个重要问题,特别是如果您部署多个模型,因为每个模型都有自己的关联节点,独立于其他模型,并且节点的缩放也发生在节点级别。虽然有一些变通方法,以便能够从单个节点为多个模型提供服务,但我越是转向自定义模型和此类变通方法,Vertex AI 的唯一优势似乎就是不必管理预测服务基础设施。通常,当有人使用自定义预测容器时,需要进行大量的预处理和后处理。所有这些逻辑都包含在自定义容器中。我仍在阅读文档,但根据我目前所见,如果使用 AutoML 模型,许多 Vertex AI 功能(例如模型监控、可解释 AI)似乎非常简单,而如果您使用自定义模型,则需要进行一些配置要完成。这种配置有多简单,我还没有弄清楚。【讨论】:
关于使用自定义模型有多难的任何更新? 使用自定义模型进行预测很简单,但据我了解,模型监控等其他 Vertex AI 功能将不适用于自定义模型服务。以上是关于用于服务模型预测的 Google Kubernetes Engine vs Vertex AI(AI Platform Unified)的主要内容,如果未能解决你的问题,请参考以下文章
Google华人博士在ICCV 2021发布新模型!机器学习都能预测未来了!
Google华人博士在ICCV 2021发布新模型!机器学习都能预测未来了!
LSTM 词预测模型仅预测最频繁的词,或用于不平衡数据的损失