Edge AI(边缘人工智能)仍然是行业的焦点新事物,很多人不确定他们的项目应该选择哪种硬件及平台。今天,笔者将大家评测一些领先和新兴的AI软硬件平台。
自2012年开始深度学习热潮以来,英伟达就一直在其GPU上占据着AI芯片的主导地位。尽管它们耗电量大,运行时嘈杂且成本昂贵,但别无选择。大约3年前,Google宣布他们已经设计了Tensor处理单元(TPU),以加快数据中心的深度学习推理速度。这触发了成熟的科技公司和初创公司争相推出专门针对数据中心和边缘的专用AI芯片。
我们今天要谈论的是边缘AI的平台。那么,边缘AI到底是什么?边缘AI的术语是从边缘计算中借用的,这意味着计算是在数据源附近进行的。
在AI世界中,如你所见,应用场景包括物联网,移动电话,无人驾驶飞机,自动驾驶汽车等。因此,我们将重点放在AI平台上,个人和小型公司都可以开发和使用。
今天要评测的是英特尔的神经计算机棒,谷歌边缘计算芯片Edge TPU和英伟达的Jetson Nano。
性能
在评估用于实时部署的AI模型和硬件平台时,我首先要看的是-它们的速度如何。在计算机视觉任务中,通常以每秒帧数(FPS)来衡量基准。较高的数字表示较好的性能,对于实时视频流,你至少需要大约10 fps才能使视频显得流畅。基准测试中使用了许多应用程序,最常见的两个是分类和对象检测。在计算上,分类是最简单的任务,因为它只需要对图像进行预测即可。苹果或橙子。
另一方面,检测任务的要求更高,因为它将需要检测多个对象及其类的位置,例如。多辆汽车和行人。这正是需要硬件加速的应用。
了解了这两个应用程序的含义之后,我们现在可以查看基准测试结果(我将在后面解释DNR)。 Jetson Nano的数字看起来很适合实时推断,让我们将其用作基准。英特尔神经计算机2(在这里我们简称为NCS2)可以使用MobileNet-v2进行30 FPS分类,这还不错。但是,以11 FPS的速度进行对象检测确实很困难。
顺便说一句,NCS2是USB记忆棒,需要与外部主机(Raspberry Pi3)一起使用。如果使用功能更强大的计算机,则基准数字可能会更高。如果仅查看不带UCS2的Raspberry Pi 3的数字,它就能够以2.5 FPS进行分类推断,这对于业余爱好者或AI项目来说还不错。
好了,回到UCS2,我认为大约10 FPS的帧速率可能不足以进行实时对象跟踪,特别是对于高速运动,并且很可能会丢失许多对象,并且你需要非常好的跟踪算法来补偿为了那个原因。当然,我们并不完全相信基准测试结果。通常,公司会将其手动优化的软件与竞争对手的开箱即用模型进行比较。
现在,我们将注意力转向Google Edge TPU。Google公司将卓越竞争对手的结果纳入其报告中是非常罕见的。 Edge TPU的分类性能为130 FPS,是Nano的两倍!对于物体检测,Edge TPU也更快,但在48 FPS和39 FPS时仅略有增加。几天前,我获得了一个Edge TPU板,我运行了随附的演示,这就是我得到的75 FPS!我还没有进入代码来研究神经网络图像的大小,这对推理速度有很大的影响,但是演示肯定看起来非常流畅,FPS令人印象深刻!
尺寸大小,功率和成本
尺寸大小是影响实际应用的重要因素,它必须足够小以适合边缘设备。 开发板包含一些可能未在生产模块中使用的外围设备,例如宽带,USB插座,但开发板为我们提供了有关大小以及功耗指示的好主意。 下图显示了实际的开发板参数对比。 可以看见,Coral Edge TPU开发板正是银行卡一样大小,你可以将其用作衡量大小的参考。
开发板性价比和生产模块尺寸
NCS2 — 99美刀,72.5mm x 27mm
Edge TPU USB-74.99美刀,65mm x 30mm
Edge TPU开发板-149.99美刀,40 x 48mm
Jetson Nano — 129与99美刀,45mm x 70mm
Jetson Nano和Edge TPU开发板均使用5V电源,前者的电源规格为10W。但是,Edge TPU板上的散热器要小得多,并且在异物检测演示期间不会一直运行。再加上Edge TPU高效的硬件架构,我认为功耗应大大低于Jetson Nano。我认为,意识到这一艰巨挑战后,英伟达将其开发套件的价格定为低至99美元。
另一方面,两个USB3.0记忆棒尺寸相似,但NCS2的价格较低,尽管它性能也较低。
软件支持
1)Windows系统支持
如你所知,USB记忆棒将需要连接到主机系统,并且如果你的系统运行Windows,那么NCS2和Edge TPU USB都是你的选择。
2)TPU的局限性
尽管Edge TPU在性能和大小上似乎是最具竞争力的,但它在软件方面也是最大的限制。它仅支持Ubuntu作为主机系统,但最大的挑战在于机器学习框架。 他们仅支持Tensorflow这一个ML框架。 从技术上讲,它称为Tensorflow Lite,它是一种支持有限数量的神经网络层的变体。 它甚至不支持完整的Tensorflow Lite,而仅支持量化为8位整数(INT8)的模型! 与之相对,NCS2除INT8外还支持FP16(16位浮点)。
这有什么意义?传统上,深度学习模型是在FP32中进行训练的,通常可以将它们轻松转换为FP16,而不会造成准确性的损失。但是,对于INT8而言并非如此,训练后转换通常会给你带来灾难性的准确性。你必须将量化纳入训练。这意味着你不能使用预先训练的FP32 AI模型,而必须在模型中添加一些图层并从头开始进行训练。由于增加了层次,因此培训也将比你平时花费更长的时间。
Google确实提供了一些经过预先训练的模型,你可以在其中进行微调并节省大量时间,但是不幸的是,你只能选择几种计算机视觉模型。这就是为什么英伟达的Edge TPU基准中有如此多的DNR的原因。这是英特尔和英伟达做得更好的地方。英特尔提供了很多预训练模型。有趣的是,它包括使用二进制卷积层,或通俗地说1位层的resnet50-binary-0001。英特尔的OpenVINO允许转换Tensorflow,Caffe,MxNet,Kaldi和ONNX的模型。
应用领域
现在,我们已经对这些平台的优缺点进行了概述,我们应该将哪些平台用于哪些应用程序?
它们都具有运行计算机视觉AI的能力,但是我认为这是最适合每个应用程序的东西。我还将提到它们的一些独特的硬件功能。
1)英特尔神经计算棒
优点:支持Windows,快速部署,良好的模型选择
缺点:推断速度相对较慢,价格较高。它允许非常简单快速地将AI升级到现有系统。这对于业余爱好者和小批量项目也很有用。
2)Google Edge TPU
优点:最佳性能,带有Wifi和加密引擎
缺点:有限的培训资源,AI模型和软件库,例如不支持OpenCV。尽管价格是所有产品中最高的,但其中包括诸如Wifi和加密引擎之类的完整系统,使其非常适合家用电子产品等消费电子产品和IoT设备。对于消费电子行业而言,他们具有更大意义。
3)英伟达 Jetson Nano
优点:良好的软件生态系统和资源,附加的软件库
缺点:体型大,这将是无人机,AI玩具,吸尘器等自动驾驶车辆的理想选择。它是一个通用的AI平台,因此,在其他平台无法胜任的领域中,可以安全地选择Nano。
EDGE AI已经到来,所以我对未来的硬件有何预测?目前,低于8位的任何内容都不能提供很好的准确性,但这是一个活跃的研究领域,硬件公司应该准备欢迎算法研究方面的突破。计算机视觉是被深度学习彻底改变的第一个领域,我们看到上述所有平台都大力支持用于计算机视觉的前馈卷积神经网络。随着基于语音的智能系统(如Alexa)的兴起,我看到边缘AI芯片在语音方面尚且存在空白。
据悉,Google Coral Edge TPU 系列硬件设备已经投放市场,并和多家企业建立了合作关系,如 Gravitylink(引力互联)。
Gravitylink 基于 Edge TPU 软硬件以及国内 AI 行业生态,打造出全球化 AI 算法及解决方案交易市场——「钛灵 AI 市场」,致力于帮助来自全球的优秀 AI 服务商与需求方建立更加高效的直连对接,加速 AI 技术在各领域的落地、应用。这里不仅有基于企业需求对接的 AI 商业平台,更提供了 AI 产业所需的多维度机器学习模型、算法及硬件。