本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
为图像分类模型选择部署基础架构
我们建议考虑三个主要方面,为图像分类端点选择最佳部署选项:
-
所需的端点响应时间
-
解决方案的复杂性和可用的人力资源
-
成本限制
端点响应时间和成本限制更容易量化,最好先确定。解决方案复杂性限制取决于员工时间和资源的平衡。 最不复杂的解决方案涉及使用亚马逊 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 批量图像处理