边缘 AI 平台的比较

简介: 边缘 AI 是当今一个非常令人兴奋的领域,有很多发展和创新即将到来。多年来,机器学习预测有一个明显的趋势,即向下移动到更接近用户、不需要网络连接并且可以实时解决复杂问题(例如自动驾驶)的嵌入式硬件。有许多新框架和引擎的模型占用空间要小得多,专门设计用于在 Edge 设备上运行。此外,当用户的个人数据不离开边缘设备时,解决用户隐私和安全的非常重要的问题要容易得多。分析推理结果的复杂算法可以在边缘设备上执行,只将最终混淆的信息发送到云端(例如,某些异常情况的警报)。

边缘 AI 是当今一个非常令人兴奋的领域,有很多发展和创新即将到来。多年来,机器学习预测有一个明显的趋势,即向下移动到更接近用户、不需要网络连接并且可以实时解决复杂问题(例如自动驾驶)的嵌入式硬件。有许多新框架和引擎的模型占用空间要小得多,专门设计用于在 Edge 设备上运行。此外,当用户的个人数据不离开边缘设备时,解决用户隐私和安全的非常重要的问题要容易得多。分析推理结果的复杂算法可以在边缘设备上执行,只将最终混淆的信息发送到云端(例如,某些异常情况的警报)。


本文基于我们在 Darwin Edge 的工作,在那里我们专注于应用于医疗保健和制造的边缘 AI 应用程序。对于板卡的性能演示,我们使用了著名的开源 NCNN 高性能神经网络推理计算框架,针对移动和嵌入式平台进行了优化(https://github.com/Tencent/ncnn)。本文针对平台的交叉编译不需要太多工作(标准 cmake 配置和使用交叉编译工具构建并配置 sysroot),并且为了简单的板性能比较,NCNN 默认推理基准已经执行 (benchncnn)。NCNN 基准测试是静态构建的,它的大部分依赖项都是静态构建的,所以一般来说,让它在标准的嵌入式 Linux 系统中运行并不难。


在我们的开发中,我们经常使用 Bonseyes 开发者平台 (https://www.bonseyes.com/),它可以使用相同的工具轻松交叉编译各种机器学习应用程序。Bonseyes 平台带有工具和 docker 镜像,可用于许多嵌入式平台的交叉编译环境。它支持平台映像的构建、目标板的设置和自定义应用程序的交叉编译,这是通过在容器内构建应用程序以与平台无关的方式执行的。

 

Raspberry PI 4B 型


使嵌入式爱好应用程序易于访问和流行的著名平台也可用于中等复杂的机器学习应用程序。以实惠的价格约 50 美元,对于进入边缘计算的爱好者来说,它是一个不错的工具。

a16770d7b7770815c07d3796ceaddfc7.jpg

Raspberry PI 4


有 2 种基于 Linux 的操作系统发行版可用 - 官方 Raspberry Pi 发行版 Raspberry Pi OS (Raspbian) 和 Ubuntu Raspberry Pi 端口。


Raspbian 在配置和管理目标板方面更加用户友好(对新手来说更容易),但 Ubuntu 对外部应用程序和库有更广泛的支持,可以访问标准的 Ubuntu ARM 包存储库。AI应用移植和交叉编译可能更方便。两个发行版都有 32 位和 64 位版本。


根据我们的经验,64 位系统在机器学习应用程序基准测试中比 32 位系统快 50%。

6c9d130b14a679672da66b644eb789a0.pngRaspberry PI 4 硬件规格


通过在 Vulkan 1.0 的 Khronos 一致性测试套件中通过 100,000 次测试,为 Raspberry Pi 4 GPU 开发 Vulkan 驱动程序的开源计划已正式发布。不幸的是,Vulkan 驱动程序开发专注于 32 位平台,对 64 位操作系统的支持非常少。


一般来说,Ubuntu(或其他支持良好的 Linux 发行版)是 Raspberry Pi 4 的良好交叉编译环境。GNU 交叉编译工具链可以从官方存储库(g++-aarch64-linux-gnu 和 gcc-aarch64-)轻松安装linux-gnu)。


实现交叉编译环境的一种好方法是创建Docker镜像,在那里安装所有主机开发工具,并使用Ubuntu多平台存储库支持创建目标系统root,并让Ubuntu apt工具解析并下载目标板库的所有依赖项需要该 sysroot 才能完全发挥作用(在以后的文章中将详细介绍此主题)。


下表给出了 Raspberry Pi 4B 板的 NCNN 基准测试结果:


51304e402234455a456316f5fb35106c.png

Jetson AGX Xavier


主要针对边缘机器学习应用程序的 NVIDIA 旗舰产品基于 NVIDIA® Jetson AGX Xavier 模块。它是一个功能强大的平台,带有丰富的 NVIDIA 工具和库生态系统,用于开发 AI 应用程序。欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读

70a3394d9a831475b28806511904197e.png在 PC 工作站上运行的易于使用的 NVIDIA SDK 管理器支持下载和安装最新的可用操作系统(当前为 Ubuntu 18.04)以及与板载硬件相关的附加库和驱动程序。许多预装的库都额外支持 NVIDIA 硬件(例如 gstreamer 硬件编码/解码)。


db38df61a6aef1089803cf616805632d.png

Jetson AGX Xavier 硬件规格


具有 512 个 CUDA 核心的 Volta GPU 提供了不错的计算和处理能力。它支持 CUDA 计算能力 7.0。相比之下,著名的 NVIDIA GTX 1060 PC GPU 具有 Compute Capability 6.0 支持和 1280 个 CUDA 核心。


此外,由于 CUDA 是第一个通用 GPU 编程平台,并且在过去十年中主要用于机器学习领域,因此该平台具有独特的优势,只需简单的交叉编译即可直接在板上轻松使用现有的 AI 框架和库。在目标上运行的 Ubuntu 系统支持使用 Ubuntu ARM 存储库中提供的许多软件包的 apt 工具轻松安装。


一般而言,由于其功能强大、易于设置和封装可用,目标板本身可用于编译本机自定义应用程序,而无需在 PC 工作站上设置交叉编译环境。过程通常包括直接在板上克隆 github 存储库,运行 cmake 以检查缺少的依赖项,使用 apt-get 工具安装这些依赖项并执行重新配置,然后执行 make 以构建应用程序。在 AGX Xavier 上编译比在高端现代 PC 工作站上慢一个数量级,但对于中等规模的项目,这是一种测试和尝试新事物的简单方法。


AGX Xavier 还支持 TensorRT,NVIDIA 引擎,用于运行优化的 AI 推理。它将标准模型格式(例如 ONNX)编译为可以在 GPU 或深度学习加速器上执行的高度优化的代码。更多关于 TensorRT 的信息可以在 NVIDIA 网站上找到。


AGX Xavier 开发人员套件的价格约为 850 美元,这几乎使它成为 Edge AI 的第一个业余爱好套件。它更便宜(100 美元)的表亲 NVIDIA Jetson Nano 缺乏如此出色的 GPU(它基于 Maxvell 架构——128 核的 CUDA 计算能力 5.2)和支持 TensorRT 的深度学习加速器,但开发环境和工具/操作系统是相同的,所以这是一个很好的策略,从 Nano 板开始简单,然后当机器学习应用程序复杂性开始损害性能时,轻松切换到 AGX Xavier 平台。


下表给出了 AGX Xavier 开发人员套件的 NCNN 基准测试结果:


033b6e8084c27ecf219501e7b18dd3fd.png

NXP i.MX 8 Multisensory Enablement Kit (MEK)


恩智浦拥有一系列 i.MX 8 应用处理器,用于高级图形、成像、机器视觉和安全关键应用,以及一系列演示/目标平台,带有基于这些 CPU 的各种外设。NXP i.MX 8 Multisensory Enablement Kit (MEK) 是一个方便的机器学习应用平台。


c1d70081f6b63aa495de8155388d1803.png

它非常强大,具有许多包含的硬件/扩展功能:


aa1e1d6a9889e1964e6e86e2425994f3.png

以 1000+$ 的价格,它旨在用作专业平台。


在恩智浦网站上有关于该板的大量文档,还有可用的 Linux 映像,可以使用 Etcher 等工具轻松将其刻录到 PC 上的 SD 卡。船上使用的操作系统是基于默认 Poky Linux 发行版的 Yocto Linux 的恩智浦定制。此自定义添加了许多 Edge AI 应用程序中常见的库(opencv、gstreamer、QT、工作 Vulkan 驱动程序)。


从预烧的 SD 卡拆箱和启动 MEK 板很容易,但将工作站 PC 设置为交叉编译环境则需要更多的工作。它需要使用 Yocto 构建系统根和 SDK,可以交叉编译自定义应用程序以在该板上运行。


Yocto 是一个非常复杂的构建系统,它在自定义电路板图像和系统库的各个方面的能力方面提供了强大的功能,但学习曲线陡峭,需要大量时间来理解和练习。自定义默认的 NXP iMX8 构建(例如,如果缺少某些额外的开源库)非常乏味。Yocto 下载源代码并从头开始构建所有内容(包括为构建计算机环境量身定制的 GNU 交叉编译工具链),在高端现代个人计算机上,这个初始构建工作需要一整天才能完成。


在平台上执行的 NCNN 基准测试给出以下结果:


f825eff2e8809a831248d743365e5886.png


Conclusion


对于那些想要跳入令人兴奋的 Edge AI 领域的人来说,有许多易于使用的目标平台可供选择。我们比较了几个平台。出于爱好/演示目的,有便宜但支持机器学习的 Raspberry PI 4 和 NVIDIA Jetson Nano。Nvidia AGX Xavier 是 NVIDIA 的旗舰产品,具有便捷的工具和 Ubuntu 操作系统、良好的 GPU 和 CUDA 支持。NXP i.MX 8 是一个处理起来更复杂的平台,它针对专业的工业和商业应用。

相关文章
|
5天前
|
机器学习/深度学习 人工智能 搜索推荐
AI低代码平台:创新开发新选择
Zoho Creator、Airtable、Appian、Creatio Atlas及织信等低代码平台,通过集成AI功能如预测分析、情感分析、自动化文案创作等,显著提升了开发效率与智能化水平。例如,Zoho Creator利用AI预测客户需求并分析情绪;Airtable借助OpenAI模型自动生成代码与文案;Appian通过AI技能自动处理文档与邮件;Creatio Atlas运用AI优化决策流程并提供个性化推荐;织信则集成ChatGPT与Stable Diffusion,实现智能开发与图像生成。这些平台不仅支持多种业务场景,还简化了应用程序开发流程。
21 5
|
1天前
|
存储 人工智能 自然语言处理
无缝融入,即刻智能[二]:Dify-LLM平台(聊天智能助手、AI工作流)快速使用指南,42K+星标见证专属智能方案
【8月更文挑战第8天】无缝融入,即刻智能[二]:Dify-LLM平台(聊天智能助手、AI工作流)快速使用指南,42K+星标见证专属智能方案
无缝融入,即刻智能[二]:Dify-LLM平台(聊天智能助手、AI工作流)快速使用指南,42K+星标见证专属智能方案
|
15天前
|
人工智能 Java API
JeecgBoot 低代码平台快速集成 Spring AI
Spring 通过 Spring AI 项目正式启用了 AI(人工智能)生成提示功能。本文将带你了解如何在 Jeecg Boot 应用中集成生成式 AI,以及 Spring AI 如何与模型互动,包含 RAG 功能。
52 3
|
15天前
|
人工智能 算法 开发者
「天池AI IP形象征集大赛」重磅上线,天池平台Al形象由你来创造!
聚首十年,以文生景,靠想象勾勒非凡,更有丰厚参赛奖励!
|
21天前
|
人工智能 前端开发 搜索推荐
详解基于百炼平台及函数计算快速上线网页AI助手
通过阿里云百炼平台,企业可在10分钟内为其网站添加智能客服系统,提升用户体验并降低成本。流程包括:创建大模型应用、配置参数(如温度系数以控制回复的随机性)、发布应用获取API密钥;使用函数计算快速搭建示例网站,并通过简单的代码更改启用AI助手功能;还可导入私有知识库增强助手的能力。前端基于NLUX开发,支持定制化需求如样式调整和历史会话管理。服务端代码提供了调用大模型获取答案的接口。借助百炼平台,企业能迅速部署即时且个性化的在线服务,适应数字化转型的需求。
|
7天前
|
机器学习/深度学习 人工智能 Linux
【机器学习】Dify:AI智能体开发平台版本升级
【机器学习】Dify:AI智能体开发平台版本升级
39 0
|
1月前
|
人工智能 运维 Cloud Native
|
1月前
|
人工智能 自然语言处理 负载均衡
探索 api.maynor1024.live:一站式 AI 服务平台
探索 api.maynor1024.live:一站式 AI 服务平台
61 1
|
1月前
|
人工智能 数据挖掘 数据库
客户在哪儿AI的企业全历史行为数据与企业信息查询平台上的数据有何区别
客户在哪儿AI的企业全历史行为数据 VS 企业信息查询平台上的数据。
|
2月前
|
人工智能 自然语言处理 Java
Spring AI是一个开源的多模态AI模型平台
Spring AI是一个开源的多模态AI模型平台
252 2