繁体   English   中英

Sagemaker 端点超出大小限制

[英]Exceeding size limit with Sagemaker endpoint

我已经设置了一个用于处理图像的 Sagemaker 推理端点。 我正在向端点发送这样的 json 请求:

data = {
    'inferenceType' : 'SINGLE_INSTANCE',
    'productType' : productType,
    'images': [encoded_image_bytes_as_string],
    'content_type': "application/json",
}
payload = json.dumps(data)

response = sagemaker_runtime_client.invoke_endpoint(
    EndpointName=endpoint_name,
    ContentType="application/json",
    Body=payload)

其中image是 base64 编码图像的数组。 端点工作正常,除非我发送大图像时超出了Sagemaker 的推理有效载荷大小限制:

端点调用的最大负载大小 6 MB

我可以使用哪些比 JSON 更小的其他数据格式? 有没有可能在发送之前使用 gzip 之类的东西来压缩我的有效载荷? 我知道 Sagemaker 异步端点和批量转换具有更高的允许负载大小,但我需要实时推理。 谢谢!

您目前以 Base64 格式低效地发送图像字节( 比字节大 ~1.3 倍)。 如果您将发送字节而不是 JSON,它将允许您将最大图像从 (6/1.13)MB 增加到 6MB。 您也可以联系 AWS 支持并尝试要求增加最大负载大小。
如果您需要的不止这些,那么您需要将文件写入某个存储(如 S3 或 EFS),然后将图像引用发送到端点,端点将从该存储读回图像。 总的来说,很难在 <500 毫秒内可靠地、端到端地完成。

异步在技术上是 SageMaker 中的实时托管选项。 根据您对调用的延迟要求类型,我建议探索异步推理,因为它专为大型有效负载而设计。 我建议使用异步端点运行一些负载测试。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM