【发布时间】:2021-12-21 00:34:34
【问题描述】:
我们的用例如下: 我们有多个自定义训练模型(数百个,随着我们允许应用程序的用户通过 UI 创建模型,然后我们在运行中训练和部署模型,数量会增加),因此将每个模型部署到单独的端点是与 Vertex AI charges per node used 一样昂贵。基于documentation,我们似乎可以将不同类型的模型部署到同一个端点,但我不确定这将如何工作。假设我使用自定义容器部署了 2 个不同的自定义训练模型,用于预测到同一端点。另外,假设我将两个模型的流量分配指定为 50%。现在,我如何向特定模型发送请求?使用 python SDK,我们调用端点,如下所示:
from google.cloud import aiplatform
endpoint = aiplatform.Endpoint(endpoint_id)
prediction = endpoint.predict(instances=instances)
# where endpoint_id is the id of the endpoint and instances are the observations for which a prediction is required
我的理解是,在这种情况下,顶点 AI 将根据流量拆分将一些调用路由到一个模型,而将一些调用路由到另一个模型。我可以使用docs 中指定的参数字段来指定模型,然后在自定义预测容器中相应地处理请求,但仍有一些调用最终会转到无法处理的模型(因为 Vertex AI 不会将所有请求发送到所有模型,否则流量拆分将没有意义)。然后如何将多个模型部署到同一个端点并确保每个预测请求都得到服务?
【问题讨论】:
-
您的延迟要求是什么?你可以有多少请求?
-
它会有所不同,对于一些可能是几分钟,对于一些,它是几秒钟,所以我们不能仅仅使用批量预测。请求的数量最终会因用户而异。
-
你有多少种模式?超过100个?您想通过 Vertex AI 自定义模型服务为他们提供服务,对吗?
-
是的,超过 100 个模型,都将通过自定义模型服务提供服务。
-
Here 来源。我不知道这是软限制还是硬限制;但是在我以前的公司中我们从来没有能够增加它,我写了那个 Cloud Run 包装:medium.com/google-cloud/…
标签: google-cloud-platform google-ai-platform google-cloud-vertex-ai