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

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

执行机器学习推理

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

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

Amazon IoT Greengrass ML 推理的工作原理

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

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

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

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

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

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

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

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

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

  3. 创建推理组件。此组件包含您的推理代码,并包含作为依赖项的模型和运行时组件。Amazon提供样本推理组件,用于使用 DLR 和 TensorFlow 精简版。要执行其他类型的推理,或使用自定义模型和运行时,请创建自己的推理组件。

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

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

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

发生的变化Amazon IoT Greengrass版本 2?

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

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

要求

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

支持的模型源

Amazon IoT Greengrass支持使用存储在 Amazon S3 中的自定义训练的机器学习模型。您还可以使用Amazon SageMaker 边缘打包作业直接为你创建模型组件 SageMaker 新编译的模型。有关使用的信息 SageMaker 边缘管理器具有Amazon IoT Greengrass,请参阅使用 Amazon SageMaker Greengrass 核心设备上的边缘管理器. 您还可以使用 Amazon Lookout for Vision 模型打包作业为 Lookout for Vision 模型创建模型组件。有关将 Lookout for Vision 与结合使用的更多信息Amazon IoT Greengrass,请参阅在 Greengrass 核心设备上使用使用 Amazon Lookout for Vision.

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

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

  • 他们的名字不得包含句点 (.)。有关更多信息,请参阅。中有关更多信息,请参阅 SL 使用虚拟托管式存储桶的规则。存储桶命名规则中的Amazon Simple 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-提供的机器学习组件

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

注意

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

组件 描述 这取决于核心 组件类型 支持的操作系统 开源
Lookout for Vision Edge 在 Greengrass 核心设备上部署 Amazon Lookout for Vision 运行时,这样您就可以使用计算机视觉来查找工业产品的缺陷。 GENER Linux
SageMaker Edge 部署亚马逊 SageMaker Greengrass 核心设备上的边缘管理器代理。 GENER Linux、Windows
DLR 图像分类 推理组件,使用 DLR 图像分类模型存储和 DLR 运行时组件作为依赖项来安装 DLR、下载示例图像分类模型以及在支持的设备上执行图像分类推断。 GENER Linux、Windows
DLR 对象检测 推理组件,使用 DLR 对象检测模型存储库和 DLR 运行时组件作为依赖项来安装 DLR、下载示例对象检测模型以及在受支持的设备上执行对象检测推断。 GENER Linux、Windows
DLR 图像分类模型存储 包含样本的模型组件 ResNet-50 个图像分类模型作为Greengrass 伪像。 GENER Linux、Windows
DLR 物体检测模型存储 包含作为 Greengrass 伪影的 YOLOV3 物体检测模型样本的模型组件。 GENER Linux、Windows
DLR 运行时 包含安装脚本的运行时组件,该脚本用于在 Greengrass 核心设备上安装 DLR 及其依赖项。 GENER Linux、Windows
TensorFlow 精简图像分类 推理组件,它使用 TensorFlow 精简版图像分类模型商店和 TensorFlow Lite 运行时组件作为要安装的依赖项 TensorFlow Lite,下载示例图像分类模型,并在支持的设备上执行图像分类推断。 GENER Linux、Windows
TensorFlow 精简对象检测 推理组件,它使用 TensorFlow 精简版物体检测模型存储和 TensorFlow Lite 运行时组件作为要安装的依赖项 TensorFlow Lite,下载样本对象检测模型,并在受支持的设备上执行对象检测推断。 GENER Linux、Windows
TensorFlow 精简版图像分类模型商店 包含示例的模型组件 MobileNet v1 模型作为Greengrass 神器。 GENER Linux、Windows
TensorFlow 精简版物体检测模型存储 包含样本单次检测 (SSD) 的模型组件 MobileNet 模型作为Greengrass 神器。 GENER Linux、Windows
TensorFlow Lite 包含用于安装的安装脚本的 Runtime 组件 TensorFlow Lite 及其对 Greengrass 核心设备的依赖性。 GENER Linux、Windows