适合的就是最好的,Cadence Tensilica Vision C5 DSP完美匹配嵌入式神经网络需求
作者:中国电子商情 单祥茹 来源:中国电子商情
发布时间:2017-05-25
时隔一年多,重出江湖的AlphaGo与目前排名世界第一的中国棋手柯洁展开的“人机围棋大战”再次将深度学习推到科技的风口浪尖。大家都说聪明的AlphaGo是一群天才编程者智慧的结晶,其实它背后用来训练神经网络的超强计算平台同样功不可没。随着神经网络应用的日益深入和复杂,对计算的要求与日俱增,同时,神经网络自身的架构也在不断进化。对于机器的深度学习而言,CPU、GPU、FPGA、DSP,究竟哪种方案更具优势呢?
Cadence公司Tensilica事业部市场高级总监Steve Roddy表示:“在人工智能领域,一款产品的开发可能耗时数年,选择理想的神经网络平台至关重要。对于随时在线(always-on)的嵌入式系统,其中的神经网络处理器不仅需要强大的图像处理能力和超低功耗,灵活性和面向未来(future-proof)的前瞻性也必不可少。目前的平台都不够理想,设计者亟需一个全新的解决方案。Vision C5 DSP是一款针对嵌入式系统量身定制的高性能、通用型神经网络处理器,它集成方便、使用灵活,能效相比CNN硬件加速器、GPU和CPU也更为出色。”
面向汽车、监控、无人机和移动市场的专用DSP
基于摄像头的视觉系统在汽车、无人机和安防领域最为常见,这类应用需要进行两类不同的视觉计算。首先,利用传统视觉算法对摄像头捕捉到的照片或图像进行增强;其次,使用基于神经网络的认知算法对物体进行检测和识别。现有的神经网络处理(NN Accelerator)解决方案大多数依赖与图像DSP相连的硬件加速器;神经网络代码被分为两部分,一部分网络层运行在图像DSP上,卷积层则运行在硬件加速器上。这种方案不但效率低下,且耗能较高。
Steve Roddy再三强调,Vision C5 DSP不是神经网络硬件加速器,而是一款专门针对神经网络进行定制优化的DSP,如图1所示,它可以实现全神经网络层的运算加速(卷积层、全连接层、池化层和归一化层),而不仅仅是卷积层的加速。因此,负责视觉/图像处理的DSP性能得以释放,全部用于图像增强应用,Vision C5 DSP则负责神经网络处理。由于神经网络DSP和视觉/图像DSP之间的数据传输大幅减少,Vision C5 DSP的功耗远低于现有的神经网络加速器。同时,Vision C5 DSP还提供针对神经网络的单核编程模型。
图1 Vision C5 DSP是一款专门针对神经网络进行特定优化的DSP
在多核设计中更具优势
从图2右侧可以看出,对于神经网络硬件加速器而言,系统中每一个加速器都需要搭配一颗视觉/图像处理器(imaging DSP)。而左侧的Vision C5 DSP多核架构,同样提供N倍的MAC处理能力。但每颗Vision C5 DSP相比神经网络硬件加速器都少用了一颗视觉/图像处理器。因此,在多核方案中,Vision C5 DSP不仅在性能上有突出表现,整个系统的面积也比硬件加速器方案小很多。
图2 在多核方案中,无论面积还是功耗,Vision C5 DSP都更具优势
具体来看,在不到1mm2的芯片面积上,Vision C5 DSP可以完成1TMAC/秒的计算,较Vision P6 DSP提高4倍,为深度学习内核提供极高的运算性能。基于流行的AlexNetBenchmark,Vision C5 DSP的运算性能比GPU最快提高6倍;基于Inception V3 benchmark,则有9倍的性能提升。1024个 8-bit MAC或512个 16-bit MAC的运算单元确保Vision C5 DSP以8-bit和16-bit精度实现出色的性能。
在扩展能力上,由于可编程性有限,CNN硬件加速器的扩展能力不佳。与之相比, Vision C5 DSP具有多项系数压缩/解压技术,支持未来各种新的算法。另外,Vision C5 DSP配套的CNNMapper软件库,可将Caffe和TensorFlow训练好的网络自动转换为Vision C5 DSP上的优化代码,充分利用了优化的神经网络库的丰富功能,并大幅减小了软件开发工作量。可以说,Vision C5 DSP是一款灵活前瞻的解决方案。visionC5具有与Vision P5和P6 DSP完全相同的软件开发环境,非常利于设计人员快速启动新产品的开发。