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

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

执行机器学习推理

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

Amazon IoT Greengrass使执行推理所需的步骤更加高效。你可以在任何地方训练你的推理模型,并将它们作为机器学习组件部署到本地。例如,你可以在亚马逊中构建和训练深度学习模型, SageMaker或者在亚马逊 Lookout for Vision 中构建和训练计算机视觉模型。然后,您可以将这些模型存储在 A mazon S3 存储桶中,这样您就可以将这些模型用作组件中的工件,以便在核心设备上执行推理。

Amazon IoT Greengrass ML 推理的工作原理

Amazon提供了机器学习组件,您可以使用这些组件来创建一步部署以在设备上执行机器学习推理。您也可以将这些组件用作模板来创建自定义组件以满足您的特定要求。

Amazon提供以下类别的机器学习组件:

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

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

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

您为执行机器学习推理而创建的每个部署都至少包含一个组件,用于运行推理应用程序、安装机器学习框架和下载机器学习模型。要使用Amazon提供的组件执行示例推理,您需要将推理组件部署到核心设备,该组件会自动包括相应的模型和运行时组件作为依赖项。要自定义部署,您可以将示例模型组件插入或替换为自定义模型组件,也可以将Amazon提供的组件配方用作模板来创建自己的自定义推理、模型和运行时组件。

要使用自定义组件执行机器学习推理,请执行以下操作:

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

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

  3. 创建推理组件。该组件包含您的推理代码,并包括您的模型和运行时组件作为依赖项。 Amazon为使用 DLR 和 Lite 进行图像分类和目标检测提供示例推理组件。 TensorFlow 要执行其他类型的推理,或者要使用自定义模型和运行时,请创建自己的推理组件。

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

要开始使用Amazon提供的组件,请参阅教程:使用 TensorFlow Lite 执行样本图像分类推断

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

Amazon IoT Greengrass版本 2 有什么不同?

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

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

要求

要创建和使用机器学习组件,必须具备以下条件:

支持的模型源

Amazon IoT Greengrass支持使用存储在 Amazon S3 中的自定义训练机器学习模型。您还可以使用 Amazon SageMaker 边缘打包任务直接为您的 SageMaker Neo 编译模型创建模型组件。有关将 SageMaker 边缘管理器与配合使用的信息Amazon IoT Greengrass,请参阅在 Green SageMaker grass 核心设备上使用亚马逊 Edge Manager。你也可以使用 Amazon Lookout for Vision 模型打包任务为 Lookout for Vision 模型创建模型组件。有关将 Lookout for Vision Amazon IoT Greengrass 与配合使用的更多信息,在 Greengrass 核心设备上使用 Amazon Lookout for Vision fo请参阅。

包含您的模型的 S3 存储桶必须满足以下要求:

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

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

  • 存储模型源的 S3 存储桶必须与您的机器学习组件相同Amazon Web Services 账户。Amazon Web Services 区域

  • Amazon IoT Greengrass必须拥有模型来源的read权限。Amazon IoT Greengrass要允许访问 S3 存储桶,G reengrass 设备角色必须允许该操作。s3:GetObject有关设备角色的更多信息,请参阅授权核心设备与Amazon服务

支持的机器学习运行时

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

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

Amazon-提供的机器学习组件

下表列出了Amazon提供的用于机器学习的组件。

注意

Amazon提供的几个组件依赖于 Greengrass 核的特定次要版本。由于这种依赖关系,当你将 Greengrass nucleus 更新到新的次要版本时,你需要更新这些组件。有关每个组件所依赖的特定原子核版本的信息,请参阅相应的组件主题。有关更新原子核的更多信息,请参见更新Amazon IoT Greengrass核心软件 (OTA)

组件 描述 组件类型 支持的操作系统 开源
Lookout for Vision Edge Agent 在 Greengrass 核心设备上部署 Amazon Lookout for Vision 运行时,因此您可以使用计算机视觉来查找工业产品中的缺陷。 通用 Linux
SageMaker 边缘管理器 在 Green SageMaker grass 核心设备上部署亚马逊 Edge Manager 代理。 通用 Linux、Windows
DLR 图像分类 推理组件,使用 DLR 图像分类模型存储和 DLR 运行时组件作为依赖项,在支持的设备上安装 DLR、下载样本图像分类模型和执行图像分类推理。 通用 Linux、Windows
DLR 物体检测 推理组件,使用 DLR 对象检测模型存储和 DLR 运行时组件作为依赖项,用于在支持的设备上安装 DLR、下载示例对象检测模型和执行对象检测推理。 通用 Linux、Windows
DLR 图像分类模型存储 包含作为 Greengrass 伪影的样本 ResNet -50 图像分类模型的模型组件。 通用 Linux、Windows
DLR 物体检测模型存储 包含样本 YOLOv3 对象检测模型的模型组件,例如 Greengrass 工件。 通用 Linux、Windows
DLR 运行时 包含安装脚本的运行时组件,该脚本用于在 Greengrass 核心设备上安装 DLR 及其依赖关系。 通用 Linux、Windows
TensorFlow 精简版图像分类 推理组件,使用 TensorFlow Lite 图像分类模型存储和 TensorFlow Lite 运行时组件作为依赖项,用于在支持的设备上安装 TensorFlow Lite、下载样本图像分类模型和执行图像分类推理。 通用 Linux、Windows
TensorFlow 精简版物体检测 推理组件,使用 TensorFlow Lite 对象检测模型存储和 TensorFlow Lite 运行时组件作为依赖项,用于在支持的设备上安装 TensorFlow Lite、下载示例对象检测模型和执行对象检测推理。 通用 Linux、Windows
TensorFlow 精简版图像分类模型存储 包含作为 Greengrass 工件的示例 MobileNet v1 模型的模型组件。 通用 Linux、Windows
TensorFlow 精简版物体检测模型存储 模型组件,其中包含作为 Greengrass 工件的样本单枪检测 (SSD) MobileNet 模型。 通用 Linux、Windows
TensorFlow 精简版运行时 包含用于安装 TensorFlow Lite 的安装脚本及其对 Greengrass 核心设备的依赖关系的运行时组件。 通用 Linux、Windows