边缘深度学习设备基准评测:英伟达Jetson Nano胜出

边缘计算对物联网的发展至关重要,物联网的发展势头越来越大。最近,机器学习和数据科学咨询公司Tryolabs发布了一份基准评估报告,测试并比较了为机器学习而设计的三种边缘计算设备,即Avida Jetson Nano、谷歌珊瑚开发板(内置边缘TPU)和英特尔神经计算棒,以及它们与不同机器学习模型的组合。结果表明,英伟达的杰克森纳米(Jetson Nano)在推理时间和准确性方面都是一个有价值的赢家。此外,他们还给出了草莓派3B和英伟达2080ti图形处理器的结果供参考。

需要边缘计算?什么是边缘计算?

生成和收集的数据比以往任何时候都多。我们口袋里的设备可以产生大量数据,如照片、全球定位系统坐标、音频和我们有意无意透露的各种个人信息。

此外,我们不仅会生成与个人相关的数据,还会从许多其他地方收集未知数据,例如交通和旅行控制系统、视频监控单元、卫星、智能汽车和其他无数智能设备。

数据增长的趋势已经形成,并将继续呈指数级增长。就数据点而言,国际数据咨询公司(IDC)预测,全球数据总量将从2019年的33个ZB增加到2025年的175个ZB,年增长率为61%。

虽然我们一直在处理数据,首先是在数据中心,然后是在云中,但是这些解决方案并不适合需要大量数据的高要求任务。网络的性能和速度继续推动新的极限,随之而来的是对新解决方案的需求。现在是边缘计算和边缘设备时代的起点。

本报告是对五种新边缘设备的基准评估。我们使用不同的框架和模型来测试哪个组合表现最好。我们将关注边缘机器学习的性能结果。

边缘计算包括将数据处理任务放在网络边缘尽可能靠近数据源的设备上。这种计算方法能够以很高的速度实现实时数据处理,这是许多具有机器学习能力的复杂物联网方案所必需的能力。在此基础上,边缘计算可以缓解网络压力,降低能耗,提高安全性,改善数据隐私。

使用这个新范例,为边缘机器学习优化的专用硬件和软件库的组合可以创建最高级的应用程序和产品,从而实现大规模部署。

构建此类应用程序的最大挑战来自音频、视频和图像处理任务。事实表明,深入学习技术在克服这些困难方面非常成功。

以自动驾驶汽车为例。自动驾驶汽车需要对输入的数据进行快速和连续的分析,这样它们周围的世界就可以在几毫秒内被分析和处理。这个时间限制使得我们不可能依赖云来处理数据流,但是我们必须在本地完成。

但是本地处理有一个缺点:硬件不如云中的超级计算机强大,我们不能在准确性和速度上妥协。

这个问题的解决方案是要么使用更强大、更高效的硬件,要么不使用如此复杂的深层神经网络。为了得到最好的结果,必须在两者之间找到平衡。

因此,真正需要回答的问题是:

为了最大化深度学习算法的准确性和速度,我们应该结合哪种边缘硬件和哪种类型的网络?

在寻找两者最佳组合的旅程中,我们将比较当前最佳边缘设备与不同深度神经网络模型的各种组合。

我们正在讨论最具创新性的用例。这里,我们将通过一次一个图像分类任务来测量实时推理吞吐量,以获得每秒处理的大约帧数。

我们的具体方法是评估ImagenetV2数据集特定子集上所有类别的前1名推理准确性,并将结果与一些卷积神经网络模型进行比较。我们还尝试了不同的框架和优化版本。

虽然过去几年人们在升级现有的边缘硬件方面做了大量工作,但我们选择了以下新型设备进行实验:

Avida Jetson Nano

谷歌珊瑚开发板

英特尔神经计算棒

草莓派(上参考限值)

Avida 2080ti GPU(下参考限值)

该实验将包括草莓派和Avida 2080ti,以便将测试的硬件与众所周知的系统进行比较,其中草莓派是一种边缘设备,Avida 2080ti GPU通常用于云中。

这个下限很简单,我们尝试着设计和训练我们自己的深度学习模式。因此,我们有很多可用的计算能力。所以我们当然也使用了它。为了确定推理时间的下限,我们在Nvidia 2080ti图形处理器上进行了测试。然而,因为我们只使用它作为参考,所以我们只使用基本模型而没有优化来运行测试。

至于上限,我们选择了卫冕冠军:最受欢迎的单板机:草莓派3B。

神经网络模型@

我们的基准主要包括两种网络:老的知名Resnet-50和今年谷歌的新效率网。

对于所有的基准测试,我们使用公开的预培训模型,并使用不同的框架来运行它们。对于Avida Jetson,我们尝试了TensorRT优化;对于草莓派,我们使用了TensorFlow和PyTorch的变体。对于珊瑚设备,我们已经实施了边缘TPU发动机版本的S、M和L型高效网络模型。至于英特尔神经计算棒,我们使用了用OpenVINO工具包编译的Resnet-50。

因为所有模型都是在图像网数据集上训练的,所以我们使用了图像网V2匹配频率。它包含10,000张图片,分为1,000个类别。

我们在每个图像上运行一次推理,节省推理时间,然后对其进行平均。我们计算了所有测试的前1名准确性和特定模型的前5名准确性。

top-1准确性:这是常规的准确性,即模型的答案(概率最高的答案)必须等同于准确的预期答案。

前五名准确性:即模型概率最高的前五名答案中的任何一个都符合预期答案。

记住,当比较结果时,对于更快的设备模型组合,我们运行的测试包括整个数据集,而对于更慢的组合,我们只使用一些数据集。

下图显示了从实验中获得的指标。由于不同的模型和设备在推理时间上有很大差异,平均推理时间以对数形式表示。

边缘深度学习设备基准评测:英伟达Jetson Nano胜出

边缘深度学习设备基准评测:英伟达Jetson Nano胜出

边缘深度学习设备基准评测:英伟达Jetson Nano胜出

边缘深度学习设备基准评测:英伟达Jetson Nano胜出

推理时间优先:Jetson Nano

就推理时间而言,Jetson Nano胜出,该公司将ResNet-50、TensorRT和PyTorch结合在一起。该组合在2.67毫秒或每秒375帧内处理一幅图像。

这个结果非常令人惊讶,因为它比英伟达宣布的推理速度快十倍。结果不同的原因可能是英伟达使用了TensorFlow而不是PyTorch。

second in reasoning time:Coral 开发板

second in rance是Coral development board,它与EfficientNet-S合作,在5.42秒内完成一次图像处理,即每秒185帧。

这个结果类似于谷歌公布的速度,即一个在5.5毫秒内完成,每秒处理182帧。

虽然组合速度相当高,但精度并不好。我们无法知道谷歌用来报告准确性的切验证集,但我们怀疑他们使用的图像预处理转换方法与我们的不同。因为量化的8位模型对图像预处理非常敏感,这可能对结果有很大影响。

精确度第一:Jetson Nano

精确度,最好的结果来自杰克森纳米、TF-TRT和EfficentNet-B3的组合,达到85%的精确度。然而,这些结果是相对的,因为当我们训练模型时,一些模型比其他模型使用更大的数据集。

如您所见,当我们向模型中输入较小的数据集时,精确度会更高。然而,当使用完整的数据集时,精确度较低。产生这一结果的原因是我们没有对较小的数据集进行随机排序,因此其中的图像没有达到合理的平衡。

开发人员注意到了关于这些设备可用性的一些重要差异。

在选择和部署预编译模型和框架时。杰克森是最灵活的。英特尔的神经计算棒紧随其后,因为它提供了一个好的库、许多模型和好的项目。此外,这种计算杆的第二代比第一代有显著的改进。唯一的缺点是他们庞大的软件库OpenVINO只支持Ubuntu 16.04,不支持更新的Linux操作系统版本。

与杰克森和英特尔计算棒相比,珊瑚设备有一些局限性。如果你想在它上面运行非官方模型,你必须把它们转换成张量流Lite,然后量化和编译边缘TPU。根据型号的不同,这种转换可能是不可能的。然而,我们预计谷歌将在未来改进该设备的未来版本。

这里的研究是基于我们对当前为深度学习算法设计的最佳边缘计算设备的探索。

我们发现杰特森纳米和珊瑚开发板在推理时间上表现非常好。

杰克森纳米公司在准确性方面也表现不错,尽管结果是相对的。

从整体表现来看,杰克森纳米是当之无愧的赢家。

但是,必须指出的是,由于杰克森纳米(Jetson Nano)和珊瑚(Coral)的设计不同,我们无法在两者上测试同一个模型。我们相信每种设备都有最合适的场景,这取决于要完成的具体任务。

极牛网精选文章《边缘深度学习设备基准评测:英伟达Jetson Nano胜出》文中所述为作者独立观点,不代表极牛网立场。如若转载请注明出处:https://geeknb.com/3235.html

(32)
打赏 微信公众号 微信公众号 微信小程序 微信小程序
主编的头像主编认证作者
上一篇 2019年10月25日 下午10:06
下一篇 2019年10月26日 下午2:02

相关推荐

发表回复

登录后才能评论
扫码关注
扫码关注
分享本页
返回顶部