发布于: Aug 26, 2022
今天为大家介绍如何使用 Jetson nano 结合 Amazon Web Services 机器学习和 IoT 实现边缘智能
1.1 边缘智能(Edge Intelligence, EI)是指在“终端侧”部署人工智能。为什么只在云端做推理不行?众所周知,人工智能(AI)正在成为改变各行各业的通用技术。此前绝大部分 AI 是依赖云端实现的,因为云端有更丰富的算力、GPU 资源、机器学习平台等。随着 AI 芯片和边缘算力的不断发展,EI 已成为未来的趋势。
1.2 边缘计算定义:OpenStack 基金会对外发布的白皮书《边缘计算 – 跨越传统数据中心》对“边缘计算”这一概念进行了清晰的阐述,边缘计算是为应用开发者和服务提供商在网络的边缘侧提供云服务和 IT 环境服务,“边缘”指的是位于管理域的边缘,尽可能地靠近数据源或用户。其目标是在靠近数据输入或用户的地方提供计算、存储和网络带宽。但不同的行业对应边缘计算的定义可能不同。基于物联网技术的行业更多的边缘侧旨在设备端。
1.3 Jetson Nano 是 NVIDIA 推出边缘 AI 的开发板,GPU 使用 NVIDIA Maxwell™ 架构,配备 128 个 NVIDIA CUDA® 核心,开发者们可以基于 Jetson Nano 开发很多 EI 的应用。
1.4 边缘计算与 IoT 云平台,边缘计算与云计算平台将是共生互补。边缘计算并不会取代云计算,而是通过边缘侧的算力,让传统的云计算框架进一步去中心化,在边缘侧完成部分计算工作,然后将结果汇聚到云端进行统一处理。云端也可以通过 OTA,模型的训练后的下放与边缘端集成到一起。云端仍旧可以处理时间不敏感的应用场景,通过数据的汇聚以及云端的大数据分析进一步为业务的决策提供数据支撑。
在本篇博客中,我们将通过 Amazon Web Services Greengrass 和 Jetson Nano 实现图片的分类,Amazon Web Services Greengrass 通过 Lambda 处理图像分类的消息与调用本地的 SageMaker 训练好的 Neo 模型,然后通过 Topic 把图像分类的结果发送至 Amazon Web Services IoT Core。其中边缘推理部分使用了 Greengrass ML inference。本篇博客以乐高恐龙图像分类作为开启 EI 亦或 AIoT 应用的开端。
Amazon Web Services IoT Greengrass 可将 Amazon Web Services 无缝扩展至边缘设备,因此可以在本地操作其生成的数据,同时仍可将云用于管理、分析和持久存储。借助 Amazon Web Services IoT Greengrass,边缘设备可以运行 Amazon Web Services Lambda 函数、Docker 容器,基于机器学习模型执行预测、使设备数据保持同步以及与其他设备安全通信 – 甚至在没有连接 Internet 的情况下也可实现这些功能。
Amazon SageMaker 是一种完全托管的机器学习服务。借助 Amazon SageMaker,数据科学家和开发人员可以快速轻松地构建和训练机器学习模型,然后直接将模型部署到托管的生产就绪环境中。它提供了一个集成 Jupyter Notebook 的实例,供您轻松访问数据源以便进行探索和分析,因此您无需管理服务器。
Amazon SageMaker Ground Truth 是数据标注的服务,为机器学习模型构建高品质的训练数据集。
Amazon SageMaker Neo 使机器学习模型训练一次即可在云和边缘站点中的任何环境运行。Neo 可自动优化 TensorFlow、Apache MXNet、PyTorch、ONNX 和 XGBoost 模型以部署在 ARM、Intel 和 Nvidia 处理器上,减少移植所需的时间和工作。但需要注意一点的是,Neo 当前支持的是从 TensorFlow、MXNet 或 PyTorch 导出的图像分类模型,以及 XGBoost 模型。
本篇具体实现的流程如下图,在最后的参考链接会附有源代码和对应的库:
相关文章