AWS sagemaker 端点不接受并发调用?

问题描述 投票:0回答:1

我在 p3.2xlarge 上部署了一个 pytorch 模型,连接到 lambda 和 API 网关。

当向其发送多个请求时,根据日志,它会顺序接受它们。 没有并发性,但是端点不应该能够同时处理 200 个调用吗?

我们需要设置一些东西吗?

请告诉我。

这是并发调用示例:

import threading
import requests

def send_request():
    data = {"image": encoded_image}
    response = requests.post("https://idr263lxri.something", json=data)
    print(response.text)

threads = []
for _ in range(8):
    thread = threading.Thread(target=send_request)
    thread.start()
    threads.append(thread)

for thread in threads:
    thread.join()

我尝试了各种并发调用,它们是按顺序处理的。

我使用了各种并发调用。

amazon-web-services pytorch amazon-sagemaker endpoint
1个回答
0
投票

简短的答案是肯定的,他们绝对会/应该这样做,所以这应该更多地是找出过程中哪些地方配置错误的问题......

我们先检查一些外部因素:

  • 在客户端,说实话,我总是对 Python 的线程/多处理持怀疑态度...您已经通过
    print()
    ing before
    requests.post()
    检查过,此测试设置实际上同时启动 API 请求,对吗?
  • API 网关似乎是一个不太可能的罪魁祸首 - 大规模处理 API 请求就是它的作用
  • 您的测试看起来很短 - 我想知道 Lambda 函数是否能够快速扩展以在完成之前同时处理请求?我可能会检查一下您是否没有设置 Lambda 并发限制 =1 或者其他什么?也许可以用
    sleep()
    来停止 Lambda SageMaker 调用,以检查其行为是否符合预期。

如果这些都被消除了,并且您的 SageMaker 端点本身肯定正在序列化请求,那么是时候进行更深入的挖掘了。要重新配置端点的服务堆栈,您可能需要知道它正在使用什么:

如果您第一次部署自定义 PyTorch 模型,您可能正在使用 AWS DLC for SageMaker PyTorch Inference,它基于 TorchServe。如果您使用的是 SageMaker Hugging Face 绑定,它可能是 Hugging Face DLC,其中至少有几个版本基于 AWS MMS 服务器(对于最新版本不能 100% 确定)。如果您从 SageMaker JumpStart 调整/部署模型或执行其他一些自定义操作,它甚至可能是 Triton Inference ServerDJL Serving

如果您不确定,请尝试追踪模型的容器图像 URI 以找出哪个:在

SageMaker > Inference > Models console
中找到您的 Model,您应该能够看到它。如果您不知道它是哪个
Model
,可以先浏览 SageMaker > 推理 > 端点,然后沿着从端点到端点配置到模型的路径进行操作。

一旦确定了服务堆栈,相关问题可能包括:

  • 前端 Web 服务器是否配置了足够的工作线程/线程来同时处理传入请求?
  • 后端推理端是否配置了足够的工作线程/线程来并发处理推理?
  • 是否设置了任何显式请求批处理来将并发请求合并为小批量,以便与 GPU 进行更有效的通信?这会带来低容量延迟损失(在第一个请求进入后等待 XYZms,以便任何其他人对其进行批处理),因此默认情况下可能会被禁用。

p3.2xlarge
是一台单GPU机器,我看到TorchServe默认配置到每个模型的
nGPUs
工作人员 - 所以也许这就是你的问题,添加(比如说)2的
TS_DEFAULT_WORKERS_PER_MODEL
环境变量可能会解决它?但我相信这会将模型的额外副本加载到 GPU 内存中...所以配置推理批处理可能会更好?

所以,长话短说,它应该可以工作,但如果您的 SageMaker 端点本身有什么东西阻碍了它 - 那么可能需要更深入地挖掘您正在使用的(主要是开源的)容器化服务基础设施?

您可能会在以下 AWS ML 博客中找到更多帮助:

© www.soinside.com 2019 - 2024. All rights reserved.