执行机器学习推理 - Amazon IoT Greengrass
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

执行机器学习推理

与Amazon IoT Greengrass,您可以使用云训练的模型对本地生成的数据在边缘设备上执行机器学习 (ML) 推理。您可以从运行本地推理的低延迟和成本节省中受益,且仍然可以利用云计算在训练模型和复杂处理方面的强大功能。

Amazon IoT Greengrass简化了执行推断所需的步骤。您可以在任何地方训练推理模型,并将其部署为机器学习组件。例如,您可以在Amazon SageMaker并将它们存储在Amazon S3存储桶。然后,您可以将这些模型用作组件中的工件,以便在核心设备上执行推断。

Amazon IoT Greengrass ML 推理的工作原理

Amazon提供的机器学习组件,您可以使用原样创建一键式部署,以便在设备上执行机器学习推理。您还可以将这些组件用作模板,以创建自定义组件以满足您的特定要求。中的机器学习推理Amazon IoT Greengrass使用以下类型的组件:

  • 模型组件-包含机器学习模型作为 Greengrass 工件。

  • Runtime 组件-包含用于安装机器学习框架及其对 Greengrass 核心设备的依赖关系的脚本。

  • 推理组件-包含推断代码,并包含用于安装机器学习框架和下载预训练的机器学习模型的组件依赖关系。

为执行机器学习推理而创建的每个部署都包含至少一个推断组件,该组件使用模型组件和运行时组件作为依赖关系。要执行样本推理,请使用Amazon提供的组件,您可以将推断组件部署到核心设备,该组件根据需要自动包含模型和运行时依赖关系。要自定义部署,您可以使用自定义模型组件插入或交换公共模型组件,也可以将公共组件的组件配方用作模板来创建自己的自定义推理、模型和运行时组件。

在高级别上,您可以完成以下基本步骤来使用自定义组件执行机器学习推理:

  1. 创建模型元件。此组件包含要用于执行推理的机器学习模型。Amazon提供了示例预训练的 DLR 和 TensorFlow 精简版模型。要使用自定义模型,请创建您自己的模型组件。

  2. 创建 Runtime 组件。此组件包含为模型安装机器学习运行时所需的脚本。Amazon提供了示例运行时组件深度学习运行时(德国航天中心) 和TensorFlow。要将其他运行时与自定义模型和推理代码一起使用,请创建自己的运行时组件。

  3. 创建推理组件。此组件包含您的推断代码。Amazon-提供采用 DLR 和 TensorFlow Lite 进行图像分类和目标检测的样本推理组件。要执行其他类型的推断,或者使用自定义模型和运行时,请创建自己的推断组件。

  4. 部署推理组件。当您部署此组件时,Amazon IoT Greengrass还会自动部署模型和运行时组件依赖关系。

开始使用Amazon-提供的组件,请参阅教程:使用 TensorFlow 精简版进行样本图像分类推理

有关创建自定义机器学习组件的信息,请参阅自定义机器学习组件

版本 2 有何不同之处?

Amazon IoT Greengrass将用于机器学习的功能单元(例如模型、运行时和推理代码)整合到组件中,使您能够使用一键式流程安装机器学习运行时、下载训练过的模型以及在设备上执行推理。

这些区域有:Amazon提供的机器学习组件使您能够灵活地快速开始使用示例推理代码和预训练模型执行机器学习推理。您可以插入自定义模型组件,以使用自己的自定义训练模型和运行时组件Amazon提供的。对于完全定制的机器学习解决方案,您可以使用公共组件作为模板来创建自定义组件,并使用所需的任何运行时、模型或推理类型。

Requirements

以下要求适用于创建和使用机器学习组件:

  • Greengrass 的核心设备 如果没有,请参阅开始使用Amazon IoT GreengrassV2

  • 要使用的最少 500 MB 本地存储空间Amazon-提供的示例机器学习组件。

  • 存储在 S3 存储桶中的机器学习模型。以下要求适用于包含模型的 S3 存储桶:

    • S3 存储桶不得使用 SSE-C 加密。 对于使用服务器端加密的存储桶,Amazon IoT Greengrass机器学习推理目前仅支持 SSE-S3 或 SSE-KMS 加密选项。有关服务器端加密选项的更多信息,请参阅使用服务器端加密保护数据中的Amazon Simple Storage Service 开发人员指南

    • S3 存储桶的名称不得包含句点(.)。有关更多信息,请参阅中有关通过 SSL 使用虚拟托管式存储桶的规则。存储桶命名规则中的Amazon Simple Storage Service 开发人员指南

    • S3 存储桶必须位于同一Amazon Web Services 账户和Amazon Web Services 区域作为您的机器学习组件。

    • Amazon IoT Greengrass必须具有read权限添加到模型源。启用Amazon IoT Greengrass以访问 S3 存储桶,Greengrass 设备角色必须允许s3:GetObjectaction. 有关设备角色的更多信息,请参阅授权核心设备与Amazon服务

支持的机器学习运行时

Amazon IoT Greengrass使您能够创建自定义组件,以使用您选择的任何机器学习运行时对自定义训练的模型执行机器学习推理。有关创建自定义机器学习组件的信息,请参阅自定义机器学习组件

为了简化机器学习入门的过程,Amazon IoT Greengrass提供了使用以下机器学习运行时的示例推理、模型和运行时组件:

示例机器学习组件

这些区域有:Amazon本节中介绍的机器学习组件使您能够使用示例推理代码和使用 DLR 或 TensorFlow Lite 进行预训练的模型来执行机器学习推理。

适用于 DLR 的机器学习组件

Amazon IoT Greengrass提供了以下公共组件来支持使用深度学习运行时(DRR).

组建 描述 这取决于核 组件类型 开源
DLR 图像分类 推断组件,它使用 DLR 映像分类模型存储和 DLR 运行时组件作为依赖关系来安装 DLR、下载示例映像分类模型以及在支持的设备上执行映像分类推断。 GENERA
DLR 对象检测 推断组件,它使用 DLR 对象检测模型存储和 DLR 运行时组件作为依赖关系,以安装 DLR、下载示例对象检测模型以及在支持的设备上执行对象检测推断。 GENERA
DLR 影像分类模型存储 包含样本 Resnet-50 影像分类模型的模型组件,作为 Greengrass 伪影。 GENERA
DLR 对象检测模型存储 包含示例 Yolov3 对象检测模型作为 Greengrass 伪影的模型组件。 GENERA
DLR 运行时组件,包含用于安装 DLR 及其对 Greengrass 核心设备的依赖关系的安装脚本。 GENERA

精简版的机器学习组件

Amazon IoT Greengrass提供了以下公共组件来支持使用TensorFlow

组建 描述 这取决于核 组件类型 开源
TensorFlow 精简版图像分类 推断组件,它使用 TensorFlow Lite 图像分类模型存储和 TensorFlow Lite 运行时组件作为依赖关系来安装 TensorFlow Lite,下载示例图像分类模型,并在支持的设备上执行图像分类推理。 GENERA
精简版 TensorFlow 体检测 推断组件,它使用 TensorFlow Lite 对象检测模型存储和 TensorFlow Lite 运行时组件作为依赖关系来安装 TensorFlow Lite,下载样本对象检测模型,并在支持的设备上执行目标检测推理。 GENERA
TensorFlow 精简版图像分类模型店 包含示例 MobileNet v1 模型作为 Greengrass 工件的模型组件。 GENERA
精简版对象检测模型存储 包含示例单次镜头检测 (SSD) MobileNet 模型作为 Greengrass 工件的模型组件。 GENERA
TensorFlow 精简版本 运行时组件,其中包含用于安装 TensorFlow Lite 及其对 Greengrass 核心设备的依赖关系的安装脚本。 GENERA