Google 用于服务模型预测的 Kubernetes Engine 与 Vertex AI(统一 AI 平台)

Google Kubernetes Engine vs Vertex AI (AI Platform Unified) for Serving Model Prediction

随着 Google 最近发布 Vertex AI 集成了其所有 MLOps 平台,我想知道在 GKE 与 Vertex AI(或AI Platform Unified,因为品牌重塑刚刚发生,AI Platform 已经提供了服务于模型预测的能力)。

我做了很多研究,但发现的信息很少。我已经在 GKE 上托管了我的 ML 模型,是否值得迁移到 Vertex AI?

注意:我不打算在云端进行训练和其他数据预处理。

Vertex AI 值得考虑为:

Vertex AI 是一个“托管”ML 平台,供从业者加速实验和部署 AI 模型。在 deploying/training/ 预测 ML 模型时,我们不需要管理基础设施/服务器/健康状况。 Vertex AI 会为您处理这件事,并根据流量进行缩放。

一些有助于考虑 Vertex AI 的关键特性:

  1. Vertex AI streamlines model development

训练模型后,我们将获得详细的模型评估指标和特征属性。 (特征归因告诉模型中的哪些特征最能表明模型的预测,从而深入了解模型在幕后的表现)

  1. Scalable deployment with endpoints

训练模型后,即可将其部署到端点。模型之间的流量可以拆分进行测试,也可以自定义机器类型

  1. Orchestrating Workflow using Vertex pipeline

Vertex Pipelines 有助于避免当模型周围的环境发生变化时可能发生的模型漂移概念。顶点管道可以帮助自动化这个保留工作流。

  1. Monitoring deployed models using Vertex AI

顶点模型监控可用于检测漂移和训练服务偏斜等问题,因此与其手动检查以确保模型仍在正确执行,不如使用顶点 AI 提供对模型可靠性的信心,因为我们将随时收到提醒。

我也一直在探索使用 Vertex AI 进行机器学习。在从自定义容器提供模型预测时,我发现一些有用的要点如下:

  • 从 Vertex AI 上的自定义容器而不是 GKE 集群提供预测服务使您无需管理基础架构。在成本方面,GKE 自动驾驶集群与 Vertex AI 相比似乎更昂贵,但在 GKE 标准模式下的差异并不那么明显。用于标准模式的计算引擎定价低于类似的 Vertex AI 节点,但标准模式增加了集群管理费用。
  • 我没有太多探索 AI Platform,但在 Vertex AI 中,唯一可用的预测机器类型是“N1”,它不能缩小到 0,至少 1 总是 运行。从成本的角度来看,这是一个重要的问题,特别是如果您部署多个模型,因为每个模型都有自己的关联节点,独立于其他模型,并且节点的缩放也发生在节点级别。虽然有变通办法,能够从单个节点为多个模型提供服务,但我越是转向自定义模型和此类变通办法,Vertex AI 的唯一优势似乎就是不必管理预测服务基础设施。通常,当有人使用自定义预测容器时,需要进行大量预处理和 post 处理。所有这些逻辑都包含在自定义容器中。我仍在阅读文档,但根据我目前所见,如果使用 AutoML 模型,许多 Vertex AI 功能(例如模型监控、可解释的 AI)似乎非常简单,而如果您使用自定义模型,则需要进行一些配置要做。该配置有多简单,我还没有发现。