EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
4 L3 X) W; w! w. G. v5 C# T: M$ {2 r R) f) e
摩尔定律从2003年开始放缓。为了延续性能倍增、功耗减半,Intel CPU采用多核来实现。然而,到2015年以后,多核也达不到了。内核数每增加一倍,运算性能并不能成倍增长。因此,业界需要寻找新的方法来实现延续,比如针对应用进行硬件加速。 * D+ n m( ]2 C- V# F: p0 p, z
人工智能的硬件加速,如果想要做得好的话,需要具备三个条件:运算能力很强,数据传输高效,存储器带宽高。业界衡量性能的指标包括性能功耗比和性能价格比。
' p( m ^+ A8 z0 B, D8 @Achronix Semiconductor公司市场营销副总裁Steve Mensor " q: r3 ?# Q* R5 l6 l0 L. ~
硬件加速应用六大应用场景 日前,Achronix Semiconductor公司市场营销副总裁Steve Mensor告诉记者,硬件加速应用有几大类应用场景: ' |5 e# C, k" T! ?/ Y
1.云的加速。涉及压缩解压缩、区块链和安全等,需要很高的运算能力和功耗成本比。 9 A% V3 F6 J+ l
2.边缘计算。很多应用由于需要低延迟,不允许将数据传到数据中心处理,而需要在边缘处理,并且需要低功耗。 % S0 q7 k9 Z6 S
3.存储。有些应用需要高效率,因而要求在存储器里进行数据处理。 % E# k2 f, ~. }' B
4.5G基础设施。5G网络中的BBU(基带处理单元)和RRU(射频拉远单元),其协议处理有很大不确定性,需要用FPGA来编程。 " x4 A2 q" [4 `/ E
5.传统的网络加速需要用FPGA,而现在网络中出现了新的智能网卡,要求在发给服务器之前进行加解密、压缩解压缩等各种处理。 8 z( b A3 x( A1 X
6.自动驾驶。涉及人工智能、数据运算和传感器融合等,需要具有可编程性。
0 ~0 p/ ^$ @8 i7 p" y: |. }" ~人工智能/机器学习应用为何要用FPGA? FPGA在人工智能/机器学习(AI/ML)上扮演重要角色。AI涵盖各种应用和层面,工业、教育、政府、农业等各行各业都可以运用。个人电脑在1980年到2000年增长很快。从2000年开始(包括智能手机的出现),无线互联网增长更快。而在未来,据估计,随着5G的到来,AI的增长又将会更快。据估计,在半导体业务方面,到2024年,AI将占有约500亿美元市场。 ' ?/ |; H3 ?! L" B O* i( ?( G: E6 N
Mensor介绍,硬件加速从实现上看可以有几种不同选择:CPU、GPU、FPGA和ASIC。CPU最有灵活性,能够覆盖各种不同应用,但它的能力(效率)最弱。ASIC的成本、性能和功耗最好,但它不能改变。目前AI算法层出不穷,ASIC不能满足各种要求。 7 Y. Y' U& J2 ^; @2 P9 d+ |
若要同时具有可编程性和效率,则可以采用GPU和FPGA。在功耗和效率上,FPGA比GPU更强。尤其是在AI推理上,对于低精度场景,FPGA的性能功耗比比GPU大16倍。“GPU更适合用在服务器侧,而FPGA则更适合用在边缘侧。”Mensor补充说。FPGA适合做推理,GPU适合做训练。
4 ?: H. Z' A4 |2 t4 d7nm eFPGA性能增强 日前,Acronix推出新的7nm架构IP——Speedcore 7t,在功耗、性能和裸片尺寸(PPA)上均有改进。
$ p, R, s4 }/ o从工艺上看,7nm比16nm快60%。同时,它针对AI/ML做了新的架构改进(第四代架构),对于AI/ML应用,性能比16nm增长3倍。此外,相比16nm,其功耗降低50%,裸片面积减少2/3。 ! G7 z5 ^' j1 ? [# v9 p) h
7nm相对16nm在架构上做了很大改变,例如算逻单元(ALU)增加一倍,布线布局做了改善,并且针对AI/ML运算增加了新的模块(详见下图)。ALU和MAX()针对AI/ML更有效率,其他四个则适用于所有应用,他补充说。
$ n0 X& [, O6 U. j1 o9 H( T C# q# a1 B) Y4 A# T7 `: p
从走线架构来看,相对于传统架构,它增加了bus走线,这对很多应用都很有用,例如现在有的AI应用数据高达512位。Bus走线是在传统走线之上,是另外一层,没有占用传统LE(逻辑单元)和开关等等。尤其是在AI/ML方面更有效率,Mensor指出。 8 i6 T" s/ v, V9 i q& ^
4 i; q4 S& G3 V' H* O除了bus走线以外,它还增加了bus mux,例如4进1出(不固定,也可以是2或3个)。AI/ML应用可能有几个不同存储器输入,如果用传统方法来做,则可能消耗很多LUT/LE资源以及布线布局资源。而新的bus布线则不会占用到这些资源。此外,其性能比传统方法实现2倍增长。
; }' f- t8 H8 W9 {2 R- T; S/ a; i. A7 o) v/ ~& o/ b+ l3 s& [
AI/ML计算趋势 下面来看AI/ML计算趋势。首先来看算法,例如CNN、DNN、RNN等,对于图像和语音等不同应用需要用到不同算法。然后是精度,Int 32相比Int 8,其功耗会高10倍。新的算法带来精度降低,而准确性却损失很小,是发展趋势。而Speedcore 7t IP对所有算法都提供支持,尤其是对小的算法来说很有效率。除了运算能力以外,AI/ML涉及大量的矩阵乘运算,在存储器和FPGA之间有大量的数据传输,因此两者要靠得很近,从而提高效率。 + d4 A. O% W; b# `
/ G( G5 c5 E B; N S5 K
下一代DSP模块——MLP(机器学习处理器)——针对矩阵乘运算进行优化,可以支持多种不同精度,性能达750MHz,并且支持不同类型(浮点、定点)运算。一个MLP可以支持1个16*16、8个8*8、12个6*6或16个4*4,满足不同精度的乘方。
9 p9 Z4 n0 I0 E% I; |传统上,做矩阵乘运算,一行一列相乘得到一个数据,但是数据很宽,需要经过多次运算才能得到一个数据。对于MLP来说,则可以采用块的方式做。对于1个时钟周期,可以实现6倍运算增长。
0 b% Q+ P- s: a9 i- z
8 e# p9 D* Y5 |8 v, j: cMLP和存储器放在一起。传统架构去做矩阵乘,性能受制于DSP、MLP以及走线。现在把存储器和MLP放在旁边,数据传输很快,不需要经过LE。另外,MLP和MLP之间走线类似ASIC连线。要做更宽运算,这种走线与传统相比可以将性能提升不小。
$ F' W' }$ S- E9 e; f0 W- }总的来说,这种架构对于AI/ML运算具有可编程性,可以根据性能、功耗和精度进行权衡。矩阵乘运算可以将参数放在MLP存储器中运行,采用级联方式可以一次性完成,获得几倍性能提升。MLP和存储器及MLP和MLP之间绑在一起,这样就不用经过LE,速度很快。另外,MLP可以支持不同精度(如4、6、8比特),非常灵活,而CPU只能支持某种比特乘法。另外,它支持多重取整和饱和,不需要在LE中再做另外一层运算。 1 D+ e3 L6 D4 ^7 k3 z
除了用MLP做乘法以外,也可以用LUT来做。传统用LUT做8*8运算,需要36个6输入LUT。现在用新的架构来做,如果是6输入LUT,只需要用到一半,即18个LUT即可。甚至精度更低一点则会更有效率。 5 h5 f( G0 ]/ S1 U, X& `
此外,Speedcore IP资源可以定制。Acronix提供Speedcore Builder Tool工具供用户进行参数选择。一旦确定需要多少资源,一个半月即可实现IP交付。这个架构现在是针对7nm所做,在2019年年中还会过渡到16nm。 " z' s4 G( I& I& Q! v w
总结 摩尔定律现已打破。未来性能增长需要依赖架构上的改变,即需要利用可编程的硬件加速器来实现性能增长。 $ X6 ]' q8 Q) W0 ]6 W
对于AI/ML应用,需要有高运算能力的运算单元、高效高速数据传输,以及高存储带宽。 & ~$ v. v( Z/ \# J
Speedcore 7t在第四代架构中做了很多AI/ML优化。基本性能提高60%,AI/ML性能提高3倍,功耗减半,面积缩减到1/3等。可以使AI/ML应用设计很有效率,在运算能力和功耗等方面都有很大改进。
9 C1 l9 t( v) ^9 j, T" h* ` D |