为图像分类模型选择部署基础架构 - AWS 规范性指导

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

为图像分类模型选择部署基础架构

我们建议考虑三个主要方面,为图像分类端点选择最佳部署选项:

  • 所需的端点响应时间

  • 解决方案的复杂性和可用的人力资源

  • 成本限制

端点响应时间和成本限制更容易量化,最好先确定。解决方案复杂性限制取决于员工时间和资源的平衡。 最不复杂的解决方案涉及使用亚马逊 Rekognition 或亚马逊 Rekognition 自定义标签。大型计算机视觉模型放置在 Amazon API Gateway 实例和 AWS Lambda 函数后面时,最多可能需要 1 秒钟才能做出响应。Amazon SageMaker AI Canvas 还可以部署一个在 1 秒或更短时间内做出响应的终端节点,而开发工作量很少。

可以使用 Docker 镜像将图像分类模型放置在 AWS Lambda 函数中。调用 Lambda 函数时,由于模型加载时间,可能会出现冷启动,从而延迟终端节点响应。您还可以使用预配置的并发选项,让 Lambda 函数在不到 1 秒的时间内根据指定的并发级别或根据自动缩放策略做出响应。

模型响应时间因模型处理时间和部署的端点响应时间而异。以下是按实施工作排列的每个部署选项的响应时间:

  • 工作量最少 — 亚马逊 Rekognition、Amazon Rekognition SageMaker 自定义标签和 AI Canvas 是工作量最低的部署选项。这些解决方案的响应时间可能从不到一秒钟到几小时不等。

  • 中等努力 — SageMaker AI 是一种中等努力的部署选项。 SageMaker AI 实时端点可以在不到一秒钟的时间内做出响应, SageMaker AI 无服务器推理单元可以在几秒钟内做出响应, SageMaker AI 批量转换通常在数小时内做出响应。

  • 最大努力 — Amazon ECS 或 Amazon 的EKS自定义终端节点和 AWS Lambda 功能是最努力的部署选项。这些自定义训练作业的响应时间可能从不到一秒钟到几小时不等。在不到一秒的响应时间内,您可以为 Lambda 函数预配置并发性。

最努力的解决方案更有可能降低基础架构成本。但是,请将节省的费用与工程师的额外维护时间成本进行比较。

常见的部署模式是在终端节点调用之前设置API网关和 Lambda 函数,如下图所示。如果来自 Amazon Rekognition 的推理响应需要进一步处理,然后才能通过 Amazon Gateway 发送回调用客户端,则最好这样做。API

常见部署模式

但是,在处理量相当大的情况下,可能需要使用不同的工作流程来减少因处理 Lambda 函数而造成的网络延迟损失。为了实现极低的延迟,可以省略 Lambda 函数,代价是在 Gateway 调用中强制执行 Amazon API Rekognition。API

对于可以容忍几秒钟延迟的图像分类系统,请使用 A SageMaker I 无服务器推理端点。对于 SageMaker AI 无服务器推理和 AWS Lambda 部署,每次调用的执行时间都有 15 分钟的限制。对于最受欢迎的图像分类模型来说,这是一个很大的安全余地。

对于离线图像分类或快速响应时间并不重要的应用程序,您可以在 Amazon Rekognition 中使用批量推理。有关更多信息,请参阅 Machine Learning 博客中的使用 Amazon Rekognition 自定义标签进行 AWS 批量图像处理。您还可以将 SageMaker AI 批量转换用于使用 A SageMaker I Canv SageMaker as 或其他方式训练的 AI 模型。有关示例,请参阅上的 “用于批量推理的 SageMaker AI PyTorch 批量转换” GitHub 笔记本。