首页 » 智能 » 解密AI芯片的加速事理_芯片_阵列

解密AI芯片的加速事理_芯片_阵列

雨夜梧桐 2024-12-23 06:09:42 0

扫一扫用手机浏览

文章目录 [+]

AI 芯片的出身

讲到半导体,不得不从摩尔定律提及。
从Intel创始人戈登·摩尔提出摩尔定律到现在已经53年了。
过去的53年中,半导体行业一贯受着摩尔定律的辅导。
芯片越做越小,单位面积的晶体管越来越多,功耗越来越低,价格越来越便宜,也使得这个行业过去五十多年来一贯保持不错的增长趋势。

解密AI芯片的加速事理_芯片_阵列 智能

但是半导体行业风险高、投资大、回报相对来说又比较低的特点使风投对半导体行业的投资在过去十来年一贯不温不火,乃至是持续低落的趋势。
尤其是现在到了后智好手机时期或者说后摩尔时期,半导体急需新的技能或者新的运用处景来推动其发展。
那么新的技能和新的运用处景是什么呢?

实在戈登·摩尔在五十三年前已经说了“集成电路会带来家用电脑或者至少是和中心电脑所连接的终端设备、自动驾驶、个人便携通讯设备等”。
没错,智好手机后下一个推动集成电路发展的新的运用处景是自动驾驶和物联网。

除了新的运用处景外,新的技能革命也必须为半导体发展供应动力,新的技能革命是什么呢,没错,便是人工智能。
人工智能的涌现可以说让所有行业面前一亮,刚刚提到的无人驾驶,物联网等等背后也都是由于 AI 的涌现才带来这样巨大的,有前景的运用。
也便是说 AI 技能的变革才是集成电路新运用处景落地的实质所在。

我们知道上游芯片公司的发展一向是稳中缓进,为什么说 AI 的发展会使芯片再次火热起来?

我们可以把冯诺依曼架构的五大组成部分分为三类,输入输出归类于交互,掌握和逻辑归类于打算,存储单独列为一类,也便是交互、打算和存储三部分。
而传统的打算力无法知足深度学习大量数据的运算,深度学习对这三方面都提出了非常多的创新哀求,故新的打算架构须要为 AI 算法供应支撑。

下面我们从以上三点阐述下目前比较主流的深度学习在芯片层面实现加速的方法。

AI 芯片的加速事理

乘加运算硬件加速,脉冲阵列

脉动阵列并不是一个新鲜的词汇,在打算机体系架构里面已经存在很永劫光。
大家可以回顾下冯诺依曼架构,很多时候数据一定是存储在memory里面的,当要运算的时候须要从memory里面传输到Buffer或者Cache里面去。
当我们利用computing的功能来运算的时候,每每computing花费的韶光并不是瓶颈,更多的瓶颈在于memory的存和取。
以是脉动阵列的逻辑也很大略,既然memory读取一次须要花费更多的韶光,脉动阵列尽力在一次memory读取的过程中可以运行更多的打算,来平衡存储和打算之间的韶光花费。

下面说下脉冲阵列的基本事理:

首先,图中上半部分是传统的打算系统的模型。
一个处理单元(PE)从存储器(memory)读取数据,进行处理,然后再写回到存储器。
这个别系的最大问题是:数据存取的速率每每大大低于数据处理的速率。
因此,全体系统的处理能力(MOPS,每秒完成的操作)很大程度受限于访存的能力。
这个问题也是多年来打算机体系构造研究的主要课题之一,可以说是推动处理器和存储器设计的一大动力。
而脉动架构用了一个很大略的方法:让数据只管即便在处理单元中多流动一下子。

正如上图的下半部分所描述的,第一个数据首先进入第一个PE,经由处理往后被通报到下一个PE,同时第二个数据进入第一个PE。
以此类推,当第一个数据到达末了一个PE,它已经被处理了多次。
以是,脉动架构实际上是多次重用了输入数据。
因此,它可以在花费较小的memory带宽的情形下实现较高的运算吞吐率。

上面这张图非常直不雅观的从一维数据流展示了脉动阵列的大略逻辑。
当然,对付CNN等神经网络来说,很多时候是二维的矩阵。
以是,脉动阵列从一维到二维也能够非常契合CNN的矩阵乘加的架构。

优化 Memory 读取

还可以从体系架构上对全体的Memory读取来做进一步的优化。
这里摘取的是寒武纪展示的一些科研成果。
实在比较主流的办法便是只管即便做Data Reuse,减少片上Memory和片外Memory的信息读取次数,增加片上memory,由于片上数据读取会更快一点,这种办法也能够只管即便降落Memory读取所花费的韶光,从而达到运算的加速。

剪枝 Pruning

对付神经网络来说,实在很多的连接并不是一定要存在的,也便是说我去掉一些连接,可能压缩后的网络精度比较压缩之前并没有太大的变革。
基于这样的理念,很多剪枝的方案也被提了出来,也确实从压缩的角度带来了很大效果提升。

须要特殊提出的是,大家从图中可以看到,深度学习神经网络包括卷积层和全连接层两大块,剪枝对全连接层的压缩效率是最大的。
下面柱状图的蓝色部分便是压缩之后的系数占比,从中可以看到剪枝对全连接层的压缩是最大的,而对卷积层的压缩效果比较全连接层则差了很多。

以是这也是为什么,在语音的加速上很随意马虎用到剪枝的一些方案,但是在机器视觉等须要大量卷积层的运用中剪枝效果并不理想。

权重系数压缩

对付全体Deep Learning网络来说,每个权重系数是不是一定要浮点的,定点是否就能知足?定点是不是一定要32位的?很多人提出8位乃至1位的定点系数也能达到很不错的效果,这样的话从系数压缩来看就会有非常大的效果。
从下面三张人脸识别的红点和绿点的比拟,就可以看到实在8位定点系数在很多情形下已经非常适用了,和32位定点系数比较并没有太大的变革。
以是,从这个角度来说,权重系数的压缩也会带来网络模型的压缩,从而带来打算的加速。

当然,一个不能回避的问题是打算和存储之间的存储墙到现在为止依然存在,仍旧有大量的韶光花费在和存储干系的操作上。

一个很大略直不雅观的技能办理办法,便是堆叠更多更快速更高效的存储,HBM孕育而生,也即在运算芯片的周围堆叠出大量的3D Memory,通过通孔来连接,不须要与片外的接口进行交互,从而大大降落存储墙的限定。

更有甚者提出说,存储一定要和打算分离吗,存储和运算是不是可以领悟在一起,PIM(Processing in Memory)的观点应运而生。

新接口

除了前面说到存储内置,以及存储与运算的领悟,有没有一个更快的接口能够加速和片外Memory的交互也是一个很好的方向。
实在上面这个观点是NVIDIA提出来的interface(接口),叫做NVLink。
下面的表展示的是NVLink和PCIe Gen3的比拟。
大家平时看到跟存储干系的的PCIe卡可能是PCIe Gen3 by 4,只有4个lanes和Memory对接,但是NVLink与有16个PCIe的lanes的PCIe Gen3比拟,速率也有很大的提升,可以看到NVLink在速率层面是一个非常好的interface。

上面讲了一些比较经典的加速方法。
下面分享几个已经存在的AI加速芯片的例子,相信这样会更加直不雅观。

AI 芯片实例

TPU

这是Google的TPU。
从上边的芯片框图可以看到,有一个64K的乘加MAC阵列对乘加运算进行加速。
从论文中可以看到里面已经用到了脉动阵列的架构方法来对运算进行加速,其余也有我们前面提到的大量的片上Memory 这样的路径。
上面蓝色框图中大家可以看到有一个24MiB的片上Memory,而且有两个高速DDR3接口能够与片外的DDR做交互。

TPUv2

上图展示的第二代TPU。
从图中可以很直不雅观的看到,它用到了我们前面所说到的HBM Memory。
从其论文表露的信息也可以看到,二代TPU在第一代的根本上增加了我们前面说到的剪枝,权重压缩等方面做了很多考试测验,也是一个非常经典的云端AI加速芯片的例子。

接下来跟大家分享几个终端做Inference的例子。

Rokid

这一个是Rokid和杭州国芯共同打造的一颗针对智能音箱的SoC,AI加速只是里面的一个功能。
通过上面右边的框图可以看到里面集成了Cadence的DSP,还有自己设计的语音加速硬件IP——NPU。
这款芯片还集成了一些实现智能音箱必要的interface,最值得一提的是在SiP层面封装了Embedded DRAM,可以更好的在系统层面实现数据的交互,实现存储和运算的加速,也实现了AI加速的功能。

HiSilicon Hi3559A

这是一款华为海思最新的IP Camera芯片——3559A,从集成度以及全体设计的均衡性来说,都令人面前一亮。
可以看下右上角几个蓝色的标准模块,里面集成的是海思自主研发的做推理的IP——NNIE,同时还集成了Tensilica DSP,在灵巧性和扩展度上做了一个非常好的补充。

【部分内容来源于论文和智东西公开课】

如果以为好,请

转发

转发

转发

标签:

相关文章