SageMaker端点自动化流集成和多个请求

0

【以下的问题经过翻译处理】 一位数据科学家正在寻求在SageMaker中托管一个TensorFlow模型,并处理低容量的流式事件数据(约每秒2-3个)以收集有关每个事件的推理。数据科学家正在考虑将SageMaker推理模型插入为Kinesis Data Analytics应用程序,但Kinesis Data Analytics目前仅支持SQL或Flink。

一种选项是设置一个ECS或Lambda服务来从Kinesis或SNS中消费数据,并针对每个消息调用SageMaker推理端点,但如果有一种更自动化和优化的解决方案可用于这些工作流程,就更好了。

目前不可能向SageMaker端点传递多个请求,但是TensorFlow模型往往在数据批处理上的表现比多个单独调用好得多,因此一些窗口化将是有益的。理想情况下,客户端想要在处理事件后的10-15秒内收到一个推理结果,因此基于S3的批处理方法可能会太慢了。

是否有什么建议适合处理这种工作负载?

1 Antwort
0

【以下的回答经过翻译处理】 要在SageMaker端点和Kinesis Data Analytics之间进行集成,请参考此博客-https://aws.amazon.com/blogs/architecture/realtime-in-stream-inference-kinesis-sagemaker-flink/。它讲解了如何设置无服务器环境以调用SageMaker推理端点。

在使用批处理时,TensorFlow文档提到以下内容:

  • 此链接提到,您可以在predict请求中包含多个实例(或在分类/回归请求中包含多个示例),以在一个请求中获取多个预测结果到您的端点。
  • 此链接提到,您可以配置SageMaker TensorFlow Serving容器,在执行推理之前合并多个记录。

您仍然必须在ECS/Lambda内部处理逻辑,以控制您从流中消耗多少记录才能进行批处理,但至少根据以上内容,您可以用整个批次的数据在SageMaker端点上进行推理。

profile picture
EXPERTE
beantwortet vor 5 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen