在增加副本数量之前,Vertex AI 端点缩放为 0
Vertex AI Endpoints scales to 0 before increasing number of replicas
我在 us-east
中有一个服务于自定义导入模型(docker 图像)的端点。
此端点使用 min replicas = 1
和 max 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。
我在 us-east
中有一个服务于自定义导入模型(docker 图像)的端点。
此端点使用 min replicas = 1
和 max 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。