来自 科技 2019-12-05 14:14 的文章

英伟达、谷歌和英特尔的 Edge AI(边缘人工智能)

作者:SoonYau

选自:Medium


Edge AI 仍然很新,许多人并不确定他们的项目应该选择哪种硬件平台。

今天,我们将比较几个领先且新兴的平台。


自2012年开始的深度学习热潮以来,英伟达凭借其 GPU 一直占据着人工智能芯片的主导地位。尽管它们耗电量大、噪音大、价格昂贵(因为比特币淘金热),但没有其他选择,我们不得不容忍。大约3年前,Google 宣布他们设计了 Tensor Processing Unit(TPU)来加速数据中心的深度学习推理速度。这引发了老牌科技公司和初创企业纷纷推出专门针对数据中心和 edge 的人工智能芯片。


我们今天要谈的是 edge AI 的平台。那么,edge AI 到底是什么?边缘人工智能(edge AI)这个术语是从边缘计算(edge computing)中借用的,它指的是在数据源附近进行的计算。在人工智能的世界里,它通常意味着数据中心或是你庞大的计算机中没有发生的任何事情。这包括物联网、移动电话、无人驾驶飞机、自动驾驶汽车等。正如你所看到的,它们的实际尺寸差别很大,而且有许多供应商。


因此,我们将把重点放在小型平台上,这些平台能够舒适地装入口袋,个人和小型公司可以购买和使用。英伟达在以下基准比较中的竞争做得很好,我们有英特尔神经电脑棒、谷歌 Edge TPU 和它自己的 Jetson Nano。


性能

在评估实时部署的人工智能模型和硬件平台时,我首先要看它们的速度。在计算机视觉任务中,基准通常以每秒帧数(FPS)为单位进行测量。通常来说,数字越大性能越好,对于实时视频流,您至少需要10 fps的视频才能看起来平滑。Nvidia 执行了一些基准测试,您可以在 https://developer.Nvidia.com/embedded/jetson-nano-dl-inference-benchmarks 中找到结果。在基准测试中有很多应用,其中最常见的两个是分类和目标检测。在计算上,分类是最简单的任务,因为它只需要对图像进行一次预测,例如苹果或桔子。但检测任务的要求更高,因为它需要检测多个对象及其类的位置,例如多辆车和行人,这正是需要硬件加速的应用程序。


在理解了这两个应用程序的含义之后,我们现在可以查看基准测试结果(稍后我将解释 DNR )。Jetson Nano 的数字很适合实时推断,让我们用它们作为基线。Intel Neural Computer Stick 2(这里我们称之为 NCS2)可以使用 MobileNet-v2 进行每秒30帧的分类,这还是不错的。然而,它真的很难在 11fps 的速度下进行目标检测。顺便说一下,NCS2 是一个 USB 存储棒,在这种情况下,它需要与外部主机 Raspberry Pi3 一起使用。如果使用更强大的计算机,基准数字可能会更高。如果我们不使用 UCS2 来研究 Raspberry Pi3 的数字,它能够以 2.5fps 的速度进行分类推理,这对爱好者或玩具项目来说都是不错的。回到 UCS2,我认为 10fps 左右的帧速率对于实时目标跟踪来说可能不够快,尤其是对于高速运动,它可能会丢失很多目标,你需要非常好的跟踪算法来补偿这一点。当然,我们并不完全信任基准测试结果。通常情况下,该公司会将其手工优化的软件与竞争对手的开箱即用的软件进行比较。


现在让我们把注意力转向 Google Edge TPU。对于公司来说,将优秀竞争对手的业绩纳入报告是很不寻常的。Edge TPU 可以执行 130fps 的分类,这是 Nano 的两倍!对于目标检测,边缘 TPU 也更快,但仅在 48fps 与 39fps 时稍快。几天前我拿到了一个 Edge TPU 板,我运行了一个随我而来的演示,这就是我得到的 75 FPS!我还没有进入代码看神经网络图像的大小,这对推理速度有很大的影响,但演示肯定看起来非常顺利,FPS 令人印象深刻!


尺寸、功率和成本

物理尺寸是重要的因素,它必须足够小,以适应边缘设备。开发板包含一些可能不会出现在生产模块中的外围设备,例如以太网、USB插座,但开发板为我们提供了有关大小的好主意,同时也指示了功耗。下图显示了实际的开发板(我只有 NCS1,还没有收到 Coral USB)。如果我们从中间开始,Coral Edge TPU 开发板正好是信用卡大小,您可以将其用作衡量大小的参考。


开发者价格和生产模块尺寸

● NCS2 — $99, 72.5mm x 27mm

● Edge TPU USB — $74.99, 65mm x 30mm

● Edge TPU Dev Board — $149.99(开发), 40 x 48mm

● Jetson Nano — $129 / $99(开发), 45mm x 70mm


Jetson Nano 和 Edge TPU dev 都使用 5V 电源,前者的电源规格为 10W。我找不到 Edge TPU 的编号,但从目前 2–3A 处 5A 的规格来看,我想它应该在同一个电源支架中。但是,Edge TPU 板中的散热器要小得多,而且在目标检测演示期间它不会一直运行。再加上边缘TPU高效的硬件架构,它的功耗应该比 Jetson Nano 低很多。我认为,由于这一艰巨的挑战,英伟达的开发工具包定价低至99美元。谷歌还没有宣布其生产模块的价格,但我估计它将与 Jetson Nano 竞争。


另一方面,两个 USB3.0 棒有相似的大小,NCS2 虽然尽管性能较低但价格更高,这是否意味着英特尔是末日?别着急,软件可以扭转战局。


软件

WINDOWS 支持

如您所知,U盘将需要连接到主机系统,如果您的系统运行 Windows,那么 NCS2 是您的唯一选择。故事结束了,您现在可以停止阅读了。


TPU 的局限性

虽然 Edge TPU 在性能和规模方面似乎最具竞争力,但它也是软件方面的最大限制。它只支持 Ubuntu 作为主机系统,但最大的挑战在于机器学习框架。他们只支持一个ML框架,即 Tensorflow (不必猜测它的正确性,你知道 Tensorflow 是谷歌的吗?)实际上,不,技术上它被称为 Tensorflow Lite,它是一种支持有限数量神经网络层的变体。更糟糕的是,它甚至不支持完整的 Tensorflow Lite,而只支持量化为8位整数(INT8)的模型!这与 NCS2 不同,NCS2 除了 INT8 还支持 FP16(16位浮点)。


这意味着什么?传统上,深度学习模型是在 FP32 中训练的。一般来说,它们可以很容易地转换成FP16,而不会造成精度的损失。然而,这不是 INT8 的情况,在那里训练后的转换通常会给你灾难性的准确性。你必须在训练中加入量化。这意味着你不能使用预先训练过的 FP32 人工智能模型,必须在模型中添加一些层,然后从头开始训练。由于增加了训练层,训练时间也会比平时长。如果你想了解更多关于量化的知识,你可以阅读我的博客。谷歌确实提供了一些经过预先训练的模型,你可以在其中进行微调并节省大量时间,但不幸的是,只有少数计算机视觉模型可以供你选择。这就是为什么英伟达的 Edge TPU 基准中有这么多 DNR 的原因。这是英特尔和英伟达做得更好的地方。英特尔有很多经过预先培训的型号,您可以从中选择(https://software.intel.com/en-us/openvino-toolkit/documentation/pretrained-models )。有趣的是,它包括 resnet50-binary-0001,它使用二进制卷积层或通俗地说,1位层。英特尔的 OpenVINO 允许从 Tensorflow、Caffe、MxNet、Kaldi 和 ONNX 转换模型。

开发者价格和生产模块尺寸

作为人工智能硬件的先驱,Nvidia 的软件是最通用的,因为它的 TensorRT 支持包括 MATLAB 在内的大多数 ML 框架。EdgeTPU 和 NCS2 设计用于支持计算层的某些子集(主要用于计算机视觉任务),但 Jetson Nano 本质上是一个 GPU,它可以完成大多数计算,而它的 big brother 桌面 GPU 只能完成较慢的计算。尽管如此,如果您的应用程序涉及到一些非计算机视觉模型,例如递归网络,或者您使用许多自定义层开发自己的模型,那么在将经过训练的模型移植到嵌入式部署时,使用 Jetson 系列会更安全,以避免令人不快的意外。Nvidia 还提供 DeepStream SDK,允许多个视频流和 Isaac 机器人引擎进行路径规划和自主导航。


应用

现在我们已经概述了这些平台的优缺点,哪些平台应该用于哪些应用程序?它们都有能力运行计算机视觉人工智能,但以下分别是我认为最适合它们的应用程序,还将提到它们的一些独特的硬件功能。


英特尔 NCS2


优点:支持 Windows,部署速度快,机型选择好


缺点:推理速度相对较慢,价格较高


最好的应用程序是信息亭、ATM、运行 Windows 的销售点系统。它允许非常容易和快速的 AI 升级到现有系统。这对业余爱好者和小批量项目也有好处。


Edge TPU


优点:性能卓越,配有 Wifi 和加密引擎


缺点:不支持有限的培训资源、人工智能模型和软件库,如 OpenCV。


虽然价格是最高的,但这其中包括完整的系统,如 Wifi 和加密引擎,使其成为消费电子和物联网设备,如智能相机在家的理想选择。由于它是镇上最新的孩子,没有太多的资源(培训材料,人工智能模型,教程)可供使用,这对消费电子企业来说更有意义,因为他们可以承担更多的研发成本。


英伟达 Jetson Nano


优点:良好的软件生态系统和资源,额外的软件库


缺点:体积稍大


这对无人驾驶飞机、玩具、吸尘器等自主车辆来说是理想的选择。它是一个通用的人工智能平台,因此在其他平台不擅长的领域,选择 Nano 是安全的。


未来

Edge AI 已经到来,所以我对未来硬件的预测是什么。一个明显的趋势是使用较低的比特宽度,这种情况将继续发生。目前任何低于8位的都不能给出很好的精度,但这是一个活跃的研究领域,硬件公司应该准备好迎接算法研究的突破。


计算机视觉作为第一个被深度学习彻底改变的领域,我们看到所有上述平台都非常倾向于用于计算机视觉的前向卷积神经网络。随着 Alexa 等基于语音的智能系统的兴起,我发现 edge 的语音 AI 芯片还有一个空白。


原文链接:https://towardsdatascience.com/battle-of-edge-ai-nvidia-vs-google-vs-intel-8a3b87243028


本文由头条号「黑胡桃实验室」敲制,欢迎非商业转载,转载请带上头条号名称及原文链接,并在文章开头明显位置注明原文地址、原文作者、译文地址和译者,以表示对作者和译者的感谢。


TensorFlow 学习资源

由黑胡桃实验室和TensorFlow团队工程师共同开发的TensorFlow 速成课程已免费开放给大家学习 !请大家使用电脑版访问 https://blackwalnut.tech/tfboost/introduce 按个人中心的任务一步一步完成学习,最终提交TensorFlow案例可获得学习认证证书!