在 Google Cloud Vertex AI 上使用客户处理程序进行部署

Posted

技术标签:

【中文标题】在 Google Cloud Vertex AI 上使用客户处理程序进行部署【英文标题】:Deployment with customer handler on Google Cloud Vertex AI 【发布时间】:2021-11-21 04:48:24 【问题描述】:

我正在尝试在 Google Vertex AI 平台上部署一个 TorchServe 实例,但根据他们的文档 (https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#response_requirements),它要求响应具有以下形状:


  "predictions": PREDICTIONS

其中 PREDICTIONS 是一个 JSON 值数组,表示您的容器生成的预测。

不幸的是,当我尝试在自定义处理程序的postprocess() 方法中返回这样的形状时,如下所示:

def postprocess(self, data):
    return 
        "predictions": data
    

TorchServe 返回:


  "code": 503,
  "type": "InternalServerException",
  "message": "Invalid model predict output"

请注意data 是一个列表列表,例如:[[1, 2, 1], [2, 3, 3]]。 (基本上,我是从句子中生成嵌入)

现在,如果我只是返回 data(而不是 Python 字典),它可以与 TorchServe 一起使用,但是当我在 Vertex AI 上部署容器时,它会返回以下错误:ModelNotFoundException。我假设 Vertex AI 会抛出此错误,因为返回形状与预期不匹配(参见文档)。

是否有人成功地在 Vertex AI 上部署了带有自定义处理程序的 TorchServe 实例?

【问题讨论】:

什么意思:data 是一个列表列表?你能添加例子吗? 我刚刚添加了一个例子! 【参考方案1】:

实际上,确保 TorchServe 正确处理输入字典(实例)解决了这个问题。 article 上的内容似乎对我不起作用。

【讨论】:

以上是关于在 Google Cloud Vertex AI 上使用客户处理程序进行部署的主要内容,如果未能解决你的问题,请参考以下文章

Vertex AI - ModelDeployOp(...) 上没有名为“google_cloud_pipeline_components.remote”的模块

Google Cloud Platform Vertex AI 日志未显示在自定义作业中

如何使用 Web GUI 停止 Google Cloud AutoML(现为 Vertex AI)批量预测作业?

发送 http 请求 Google Vertex AI 端点

GCP - 将 Vertex.AI 连接到共享 VPC 的问题

在 Google vertex ai 上创建自定义模型