|
|
6 P3 m7 g: H ?% W: e
【新智元导读】Google Coral Edge TPU和NVIDIA Jetson Nano大比拼!本文从分别对两款最新推出的EdgeAI芯片做了对比,分析了二者各自的优劣势。/ y ]+ X3 s9 B9 z6 g4 [
2 q' |( c L! O: r% i9 r
边缘智能被称作是人工智能的最后一公里。
# o" n* Q+ v) _6 f
% o. B3 y7 \ [% z- {) A5 r! r9 nGoogle刚刚在3月份推出了Coral Edge TPU,是一款售价不到1000元人民币的开发板(Coral Dev Board),由Edge TPU模块和 Baseboard 组成。参数如下:
" m- J6 T( y5 A* n ; f7 v! n/ \2 \- K4 i
5 H/ }$ J. o' l% [# v6 k" b
英伟达同样在上个月发布了最新的NVIDIA Jetson Nano,Jetson Nano是一款类似于树莓派的嵌入式电脑设备,其搭载了四核Cortex-A57处理器,GPU则是拥有128个NVIDIA CUDA核心的NVIDIA麦克斯韦架构显卡,内存4GB LPDDR4,存储则为16GB eMMC 5.1,支持4K 60Hz视频解码。
: n% }) g2 n( `4 n, b目前位置并没有太多关于这两款产品的评测报告。今天新智元为大家带来一篇由网友Sam Sterckval对两款产品的评测,除此以外他还测试了i7-7700K + GTX1080(2560CUDA),Raspberry Pi 3B +,以及一个2014年的MacBook pro包含一个i7-4870HQ(没有支持CUDA的内核)。
2 y- J" {2 X$ K! h0 J$ K' j0 s9 [Sam使用MobileNetV2作为分类器,在imagenet数据集上进行预训练,直接从Keras使用这个模型,后端则使用TensorFlow。使用GPU的浮点权重,以及CPU和Coral Edge TPU的8bit量化tflite版本。 P# C. b K! a8 c( V3 D, v( c- Y: Q# ~3 t
首先,加载模型以及一张喜鹊图像。先执行1个预测作为预热,Sam发现第一个预测总是比随后的预测更能说明问题。然后Sleep 1秒,确保所有的线程的活动都终止,然后对同一图像进行250次分类。2 j0 i- @( S! f0 v+ s. `) P

5 K4 B$ x. G8 G( ?, d对所有分类使用相同的图像,能够确保在整个测试过程中保持接近的数据总线。: U: }! z4 T) {" p
$ ?% i1 q* v3 ]' H# `对比结果 先来看最终的结果:6 {! T2 b1 D6 e/ A# J- Z
5 t: G r+ E- U0 k8 G
线性刻度,FPS
+ ?) ]3 n4 d; N4 I对数刻度,FPS
2 h$ D9 Z' R" N% H1 \& Q b8 p( s. _4 @" i0 X; |& C
& [, R" s) r. J$ I% f% R
线性刻度,推理时间(250x)
J, f" p: h6 n3 z6 t( g8 Q& u- G! u. x& ^ H- [
Sam发现使用CPU的量化tflite模型得分是不同的,但似乎它总是返回与其它产品相同的预测结果,他怀疑模型有点奇怪,但能确保它不会影响性能。( r! @2 P+ |( L/ D, G" G4 f+ {4 p/ O
对比分析 第一个柱状图中我们可以看到有3个比较突出的数据,其中两个2个是由Google Coral Edge TPU USB加速器实现的,第3个是由英特尔i7-7700K辅助NVIDIA GTX1080实现。
% h, I3 E4 Y. K9 q; e d我们再仔细对比一下就会发现,GTX1080实际上完全无法跟Google的Coral对飚。要知道GTX1080的最大功率为180W,而Coral Edge TPU只有2.5W。* k# Z8 ^1 _, w
NVIDIA Jetson Nano的得分并不高。虽然它有一个支持CUDA的GPU,但实际上并没比那台2014年MBP的i7-4870HQ快太多,但毕竟还是比这款四核,超线程的CPU要快。8 ^4 {, X5 M+ h8 t* f
然而相比i7 50W的能耗,Jetson Nano平均能耗始终保持在12.5W,也就是说功耗降低75%,性能提升了10%。' F/ J- \0 Z# o1 Z7 H
NVIDIA Jetson Nano9 D7 q3 [- i% K( p
尽管Jetson Nano并没有在MobileNetV2分类器中表现出令人印象深刻的FPS率,但它的优势非常明显:: Z: F+ n% K9 m
它很便宜,能耗低,更重要的是,它运行TensorFlow-gpu或任何其他ML平台的操作,和我们平时使用的其他设备一样。只要我们的脚本没有深入到CPU体系结构中,就可以运行与i7 + CUDA GPU完全相同的脚本,也可以进行训练!Sam强烈希望NVIDIA应该使用TensorFlow预加载L4T。
9 C3 D* K8 t1 M/ p" n4 E0 Y6 ~ ! I1 I& I+ G4 }% I2 b& ~
Google Coral Edge TPU
& U7 y9 I, r/ v( S* K/ aSam毫不掩饰的表达了他对Google Coral Edge TPU的精心设计以及高效率的喜爱。下图我们可以对比Edge TPU有多小。# n( ]+ Y3 E3 G: d

: A! f. h5 k! P OPenny for scale,来源:谷歌 e# E V3 A) \9 T! E
2 P3 E9 K3 q5 h0 _' X8 ]# @5 R3 }Edge TPU就是所谓的“ASIC”(专用集成电路),这意味着它具有FET等小型电子部件,以及能够直接在硅层上烧制,这样它就可以加快在特定场景下的推力速度。但Edge TPU无法执行反向传播。8 ^. O. p/ f, {! B) D
) u, l% P* k. ^7 A0 o. F' V4 P
Google Coral Edge TPU USB加速器
" e; g l! ~6 E: P0 g
/ {& N2 o$ Q# T下图显示了Edge TPU的基本原理。
" v% [. r k$ x( }, O
% ^! ^. L( U' {2 h3 ^像MobileNetV2这样的网络主要由后面带有激活层的卷积组成。公式如下:
3 r4 t7 m4 y3 U" a8 b$ {& X( q5 G
* O" t8 X4 Z5 ^4 }* w卷积
9 r# t8 f6 e; f p+ |- j+ H4 B4 p- T5 ~5 k7 @) w5 D( F
这意味着将图像的每个元素(像素)与内核的每个像素相乘,然后将这些结果相加,以创建新的“图像”(特征图)。这正是Edge TPU的主要工作。将所有内容同时相乘,然后以疯狂的速度添加所有内容。这背后没有CPU,只要你将数据泵入左边的缓冲区就可以了。8 q5 b+ x% |# t' ~
我们看到Coral在性能/瓦特的对比中,差异如此大的原因,它是一堆电子设备,旨在完成所需的按位操作,基本上没有任何开销。) S9 ^% d& o4 k1 s
总结 为什么GPU没有8位模型?
7 j: [) H0 a/ p0 |0 P/ B6 p) c! O+ RGPU本质上被设计为细粒度并行浮点计算器。而Edge TPU设计用于执行8位操作,并且CPU具有比完全位宽浮点数更快的8位内容更快的方法,因为它们在很多情况下必须处理这个问题。
. P4 O1 F( c! ?# c v1 o5 {9 \为何选择MobileNetV2?
+ N4 t. e1 }9 Q- ~2 ^2 z! n; j主要原因是,MobileNetV2是谷歌为Edge TPU提供的预编译模型之一。
. ]* w: c: Q+ B4 q$ }Edge TPU还有哪些其他产品?7 s4 G$ w6 ]; j1 J# X! d
它曾经是不同版本的MobileNet和Inception,截至上周末,谷歌推出了一个更新,允许我们编译自定义TensorFlow Lite模型。但仅限于TensorFlow Lite模型。而反观Jetson Nano就没有这方面的限制。; H# x6 J) X' s, ^+ K1 K/ e1 k
Raspberry Pi + Coral与其他人相比' u( M5 c' U2 I& J* T- f3 n: @
为什么连接到Raspberry Pi时Coral看起来要慢得多?因为Raspberry Pi只有USB 2.0端口。9 p1 ~' g8 X' E9 G6 J
i7-7700K在Coral和Jetson Nano上的速度都会更快一些,但仍然无法和后两者比肩。因此推测瓶颈是数据速率,不是Edge TPU。+ M& F; C# z8 A/ |# G! c

' ~1 b& T r: K
8 g- @5 {+ c9 C0 F! l【加入社群】
/ v0 y! d# g. U4 q/ P, S D) I. N; _% t( N% l
5 ]# R/ N6 t1 j3 a来源:http://www.yidianzixun.com/article/0Lt3VMHK1 A3 V5 q+ u1 v0 ?- H3 s2 g* u
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|