在增加副本数量之前,Vertex AI 端点缩放为 0

Vertex AI Endpoints scales to 0 before increasing number of replicas

我在 us-east 中有一个服务于自定义导入模型(docker 图像)的端点。

此端点使用 min replicas = 1max replicas = 100

有时,Vertex AI 会要求模型从 1 扩展到 2。

但是,似乎存在导致副本数从 1 -> 0 -> 2 而不是 1 -> 2 的问题。

这会导致我的 API 出现多个 504(网关超时)错误,解决该问题的方法是设置 min replicas > 1,极大地影响应用程序的月度成本。

这是 Vertex AI/GCP 服务的一些已知问题,是否有解决办法?

间歇性 504 错误可能是由于端点配置不足而无法处理负载。如果在端点有机会扩大之前向端点发送了太多预测请求,也会发生这种情况。

传入预测请求的流量拆分是随机进行的。因此,多个请求可能同时在同一个模型服务器上结束。即使整体每秒查询数 (QPS) 很低,尤其是当 QPS 很高时,也会发生这种情况。如果模型服务器无法处理负载,这会导致请求排队。这就是导致 504 错误的原因。

缓解 504 错误的建议如下:

  • 提高容器使用容器内所有资源的能力。关于资源利用率要记住的一件事是模型服务器是单线程还是多线程。容器可能没有用完所有核心 and/or 请求可能正在排队,因此一次只能处理一个。

  • 正在进行自动缩放,只是可能需要根据预测工作负载和预期进行调整。较低的利用率阈值会更快触发自动缩放。

  • 在部署扩展时执行指数退避。这样就有了处理失败请求的重试机制。

  • 为您已经实施的端点提供更高的最小副本数。

如果上述建议未能解决问题或通常需要进一步调查这些错误,请联系 GCP support in case you have a support plan. Otherwise, please open an issue in the issue tracker