1511440547150976

目前,计算机视觉是一个热门且应用广泛的领域。如果这一领域的算法精度实现巨大突破,将开辟广泛的应用领域,并能真正明显地改变世界。比如自动驾驶/安全等。一个利润丰厚的领域。

图像识别,这类算法主要采用CNN结构。

因此,开发专用于CNN的ASIC是可行的,也是有商业价值的。

众所周知,深度学习算法既是计算密集型的,也是内存密集型的。

这导致不低的功耗。

这种芯片应用于终端嵌入式设备时,有很多局限性,比如智能手机,对芯片的功耗有严格的要求。

如果可以避免使用DRAM存储数据,就可以大大降低功耗。

另外,对于CNN算法,常用的CNN的份额权值之一,这样权值的数量并不大,而且完全可以存储在片内SRAM中,这样就可以避免权值存储在DRAM中。

这样整个系统就不需要DRAM进行存储,大大降低了功耗。

图中Acc靠近传感器放置,图像数据直接从传感器获取,避免了DRAM的使用。

NFU的内部结构如下图所示。

1511440547150976 热门话题

从上图可以看出,权重是同时广播给所有PE的,输出也是同时传输给输出的,而输入数据是和每个PE内部的两个fifos匹配的,有不同的输入规则。有时所有PE同时被提供输入,有时只有一列被提供输入,其他列由相邻的较低PE的fifo提供输入。

单个PE的结构如下图所示。

与TPU的脉冲矩阵相比,两者共享权重和输入数据。但仔细分析后,我还是觉得TPU的脉动矩阵更优秀更高效。

几种不同的输入数据传输模式见下图。

另外,只有脉动数组最下面一行的PE会输出计算结果,只有最左边一列会接受输入数据。总的来说,所需的布线资源要少得多。此外,由于PE所需的输入数据/权重相关信息/中间计算结果都来自于相邻的PE,并且相邻PE之间的距离很容易相同,那么相邻PE之间的信号传输时间是完全一致的,可以保持整个脉冲阵列工作在很高的频率。

总的来说,我个人认为谷歌TPU的脉冲阵列效率更高。

计算卷积

以卷积为例。

这种方法有一个缺点。一般来说,图像数据是存储在RAM中的,全部按照一个图像的数据一起存储。然后,当同一幅图像中的一些像素作为输入数据时,每个周期的像素地址并不对齐,因此无法在一个周期内获得该周期所需的所有有效数据,难以满足PE阵列的需要,并且会降低计算速度。

状态机

这是一个伟大的观点。

推测寒武纪的一系列芯片应该是被这样的状态机控制的。


发表评论

Copyright 2002-2022 by 惠农苗木网(琼ICP备2022001899号-3).All Rights Reserved.