今天小编要和大家分享的是可编程逻辑相关信息,接下来我将从谷歌TPU芯片会威胁到FPGA在AI领域的地位吗,fpga图像 限时特卖这几个方面来介绍。

可编程逻辑相关技术文章谷歌TPU芯片会威胁到FPGA在AI领域的地位吗fpga图像 限时特卖

可编程逻辑相关技术文章谷歌TPU芯片会威胁到FPGA在AI领域的地位吗

(文章来源:OFweek)

对于任何运算来说,更换新硬件无非是为了两个目的:更快的速度和更低的能耗。而深度学习这个看起来玄乎的词语,究其本质也不过是大量的运算。我们都知道那句老话:万能工具的效率永远比不上专用工具。无论是CPU、GPU还是FPGA,其属性都算是一种通用工具。因为它们都可以应付许多不同的任务。而专用的TPU自然从道理上来说就应该会比前面几种硬件的效率都要高。这里的效率高,既是指速度更快,也是指能耗会更低。

但我们不能光讲道理,也要摆出一些数据。实际上,Xilinx曾经表示在特定的FPGA开发环境下深度学习的能效比会达到CPU/GPU架构的25倍,不是一倍两倍, 是25倍!同学们可以拿出纸和笔了,让我们举一个实际的例子来讲讲这种效率提升的原因:以在深度神经网络(DNN)上进行的图像识别为例子,网络的整个结构大致是这样的:

其中除输入层是用来将图像的特征提取为函数、输出层用来输出结果外,其他的隐层都是用来识别、分析图像的特征的。当一幅图被输入时,第一层隐层会首先对其进行逐像素的分析。此时的分析会首先提取出图像的一些大致特征,如一些粗略的线条、色块等。如果输入的是一张人脸的图像,则首先获得的会是一些倾斜的颜色变换。

第一层的节点会根据自己对所得信号的分析结果决定是否要向下一层输出信号。而所谓的分析过程,从数学上来看就是每个隐层中的节点通过特定的函数来处理相邻节点传来的带权重值的数据。并决定是否向下一层输出结果,通常每一层分析完成后便有些节点不会再向下一层输出数据,而当下一层接收到上一层的数据的时候,便能在此基础上识别出一些更复杂的特征,如眼睛、嘴巴和鼻子等,逐次增加辨识度之后,在最高一层,算法会完成对面部所有特征的识别,并在输出层给出一个结果判断。基于不同的应用,这个结果可能有不同的表现。比如分辨出这是谁的脸。

不难想象,由于每一层分析的时候都要对极大量的数据进行运算,因此对处理器的计算性能要求极高。这时CPU的短板就明显的体现出来了,在多年的演化中,CPU依据其定位需要不断强化了进行逻辑运算(If else之类)的能力。相对的却没有提高多少纯粹的计算能力。因此CPU在面对如此大量的计算的时候难免会感到吃力。很自然的,人们就想到用GPU和FPGA去计算了。