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 的关键特性:
训练模型后,我们将获得详细的模型评估指标和特征属性。 (特征归因告诉模型中的哪些特征最能表明模型的预测,从而深入了解模型在幕后的表现)
训练模型后,即可将其部署到端点。模型之间的流量可以拆分进行测试,也可以自定义机器类型
Vertex Pipelines 有助于避免当模型周围的环境发生变化时可能发生的模型漂移概念。顶点管道可以帮助自动化这个保留工作流。
顶点模型监控可用于检测漂移和训练服务偏斜等问题,因此与其手动检查以确保模型仍在正确执行,不如使用顶点 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)似乎非常简单,而如果您使用自定义模型,则需要进行一些配置要做。该配置有多简单,我还没有发现。
随着 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 的关键特性:
训练模型后,我们将获得详细的模型评估指标和特征属性。 (特征归因告诉模型中的哪些特征最能表明模型的预测,从而深入了解模型在幕后的表现)
训练模型后,即可将其部署到端点。模型之间的流量可以拆分进行测试,也可以自定义机器类型
Vertex Pipelines 有助于避免当模型周围的环境发生变化时可能发生的模型漂移概念。顶点管道可以帮助自动化这个保留工作流。
顶点模型监控可用于检测漂移和训练服务偏斜等问题,因此与其手动检查以确保模型仍在正确执行,不如使用顶点 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)似乎非常简单,而如果您使用自定义模型,则需要进行一些配置要做。该配置有多简单,我还没有发现。