我们的用例如下:我们有多个自定义训练模型(数百个,随着我们允许应用程序的用户通过 UI 创建模型,然后我们在运行中训练和部署模型,数量会增加),因此部署每个模型到一个单独的端点都是昂贵的,因为 Vertex AI对每个使用的节点收费。根据文档,我们似乎可以将不同类型的模型部署到同一个端点,但我不确定这将如何工作。假设我使用自定义容器部署了 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 不会将所有请求发送到所有模型,否则流量拆分将没有意义)。然后,我如何将多个模型部署到同一个端点并确保每个预测请求都得到服务?