EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
! m! p5 Y8 s: F, Y! ~0 {# a0 W- R* R
很多世界顶尖的“建筑师”可能是你从未听说过的人,他们设计并创造出了很多你可能从未见过的神奇结构,比如在芯片内部源于沙子的复杂体系。如果你使用手机、电脑,或者通过互联网收发信息,那么你就无时无刻不在受益于这些“建筑师们”的伟大工作。
4 J4 i! ] g! T; R( Q本文将通过对后摩尔定律时代芯片产业的发展的观点与愿景,展望人工智能时代芯片技术的前进方向。 # h0 Y% g: o# |& D1 B" C
学术界和业界的主要发展趋势是多核心架构。虽然尚未完全成为一个正式的全球性共识,但多核架构是当时非常热门的研究方向。当时的设计师们普遍认为,如果可以找到编写和运行并行软件的方法,就能直接将处理器架构扩展到数千个核心。 : ^$ {7 m+ u0 p: b7 s( B. r
微软FPGA项目的首席架构师和主要负责人Doug Burger博士,并不这样认为,并于2011年提出了“暗硅”这个词,他的意义得到了业界广泛认可。
# @7 {# q6 L2 W5 s2 r( c01
+ X, B% t" C" o2 g: y 什么是暗硅效应?
. j A) R4 ~. T4 R6 Y/ ?暗硅效应指的是,虽然我们可以不断增加处理器核心的数量,但是由于能耗限制,无法让它们同时工作。就好像一幢大楼里有很多房间,但由于功耗太大,你无法点亮每个房间的灯光,使得这幢大楼在夜里看起来有很多黑暗的部分。 - R. g9 X. R" I: u2 p
这其中的本质原因是在后摩尔定律时代,晶体管的能效发展已经趋于停滞。
$ Y6 a. T1 d8 r/ z0 i/ l% a02# \: c# m( ~% O& e
什么是摩尔定律?
* A1 j0 w& `$ t, w/ j摩尔定律是英特尔创始人之一戈登·摩尔的经验之谈,其核心内容为:集成电路上可以容纳的晶体管数目在大约每经过18个月便会增加一倍。换言之,处理器的性能每隔两年翻一倍。 9 t J; j; B% d+ b0 G
但是随着3D芯片等技术的耗尽,人们也不得不开始相信摩尔定律即将失效。有数据显示,到2021年微处理器内部得到晶体管尺寸缩小进度不是放缓,而是将停止缩小。 03
1 O6 w. D7 U/ f. ^! E1 {% I FPGA:解决暗硅效应的有效途径
/ _. x% G- b9 j, B* W5 N一个可行的解决方法就是采用“定制计算”,也就是为特定的工作场景和负载优化硬件设计。
1 s2 G* D% \( @7 @9 MFPGA全名叫“现场可编程逻辑阵列”,它的本质是一种可编程芯片。人们可以把硬件设计重烧写在它的的可编程存储器里,从而使FPGA芯片可以执行不同的硬件设计和功能。另外,你也可以在使用现场动态的改变它上面运行的功能,这就是为什么被称为“现场可编程”的原因。事实上,你可以每隔几秒就改变一次FPGA芯片上运行的硬件设计,因此这种芯片非常灵活。 04
/ N0 t- w% ^0 R2 { I4 ] 使用FPGA的独特优势是什么
1 W' I6 `# \% J% ZCPU和GPU都是令人惊叹的计算机架构,他们是为了不同的工作负载与应用场景而设计的。
8 i, H3 F1 a o8 V7 \' Z! k0 aCPU是一种非常通用的架构,他的工作方式基于一系列的计算机指令,也称为“指令集”。简单来说,CPU从内存中提取一小部分数据,放在寄存器或者缓存中,然后使用一系列指令对这些数据进行操作。操作完毕后,将数据写回内存,提取另一小部分数据,再用指令进行操作,并周而复始。这种计算方式称为“时域计算”。 # R8 ~8 H& s3 e W% S
不过,如果这些需要用指令进行处理的数据集太大,或者这些数据值太大,那么CPU就不能很高效的应对这种情况。这就是为什么在处理高速网络流量的时候,我们往往需要使用定制芯片,比如网卡芯片等,而不是CPU。这是因为在CPU中,即使处理一个字节的数据也必须使用一堆指令才能完成,而当数据流以每秒125亿字节进入系统时,这种处理方式哪怕使用再多的线程也忙不过来。
, w9 v9 @3 f7 S7 g+ ?对于GPU来说,它所擅长的是被称作“单指令多数据流(SIMD)”的并行处理。这种处理方式的本质是,在GPU中有着一堆相同的计算核心,可以处理类似但并不是完全相同的数据集。因此,可以使用一条指令,就让这些计算核心执行相同的操作,并且平行的处理所有数据。
8 y# x9 C- h$ p) K然后对于FPGA而言,它实际上是CPU计算模型的转置。与其将数据锁定在架构上,然后使用指令流对其处理,FPGA将“指令”锁定在架构上,然后在上面运行数据流。 , P- |5 L# y+ V5 R l4 H- V. k3 F& z5 v
05
" q; {, ^3 B+ a- X& C4 P 实时AI
# `% j* v0 p4 A) o3 z0 C5 l0 H当前,人工智能有了很大的发展,而这很大程度上归功于深度学习技术的发展。人们逐渐认识到,当你有了深度学习算法、模型,并构建了深度神经网络时,需要足够多的数据去训练这个网络。只有加入更多的数据,才会让深度神经网络变的更大、更好。通过使用深度学习,我们在很多传统的AI领域取得了长足的进展,比如机器翻译、语音识别、计算机视觉等等。同时,深度学习也可以逐步替换这些领域发展多年的专用算法。
}+ z$ I4 P/ S' R h这些巨大的发展和变革,促使设计师思考它们对半导体和芯片架构的影响。于是,设计师开始重点布局针对AI、机器学习、特别是深度学习的定制化硬件架构。 - s0 N4 a- o( t7 m1 u" I8 Y
对于像百度、微软必应搜索这样的应用来说,他们需要很强的计算能力,因为只有不断学习和训练,才能向用户提供更优的搜索结果。因此,设计师将大的深度神经网络利用FPGA进行加速,并在很短的时间内返回结果。
4 K8 b3 M9 j$ p; P5 X另外一个非常重要的问题在于神经网络的推断。目前的很多技术使用的是一种叫做批处理的方法。比如说,你需要将很多个不同的请求收集到一起,然后打包发送到NPU进行处理,然后一次性得到所有的答案。
) i0 d9 q0 @" j& C$ C 对于这种情形,可以把它比喻成你在银行里排队,你排在第二个,但总共有100个人排队。出纳员将所有人的信息收集起来,并询问每个人想要办什么业务,然后取钱存钱,再把钱和收据发给每个人。这样每个人的业务都在同一时刻完成,而这就是所谓的批处理。 + m: p% H: I% e5 W, X
对于批处理应用来说,可以达到很好的吞吐量,但是往往会有很高的延时。这就是设计师为什么在尝试推动实时AI的发展。
: x6 V x. m$ G" ?% k( V1 Q) Y# I& W06( f& O2 i3 S# B% N( q0 s0 K% x8 @
评价实时AI系统的主要标准 W7 T ?' P+ P0 d+ x
评价实时AI的主要性能指标之一,就是延时的大小。然而,延时到底多小才算“够小”,这更像是一个哲学问题。 ) N2 D, D8 |" W# i7 i, k; i
事实上,这取决于具体的应用场景。比如,如果在网络上监控并接收多个信号,并从中分析哪个地方发生了紧急情况,那么几分钟的时间就算够快了。然而,如果你正在和某人通过网络进行交谈,哪怕是非常小的延时和卡顿也会影响通话质量,就像很多电视直播采访里经常出现的两个人在同时讲话那样。
- S. L8 @8 |) a+ t除了速度之外,另一个需要考虑的重要因素就是成本。举例来说,如果你希望通过处理数十亿张图像或数百万行文本,进而分析和总结出人们常问的问题或者可能在寻找的答案,就像很多搜索引擎做的那样;抑或是医生想要从很多放射扫描影像中寻找潜在的癌症指征,那么对于这些类型的应用来说,服务成本就非常重要。
2 O w7 L! e6 g# k$ F在很多情况下,我们需要权衡以下两点,一个是系统的处理速度有多快,或者通过何种方式能提升处理速度;另一个就是对于每个服务请求或处理,它的成本有多少。 ) e3 J& y8 B& e0 a! E0 P
很多情况下,增加系统的处理速度势必代表着更多的投入和成本的攀升,两者很难同时满足。但这就是FPGA的主要优势所在,通过使用FPGA,我认为我们在这两个方面都处于非常有利的位置。在性能方面FPGA是最快的,在成本上FPGA大概率也是最便宜的。 07
9 ~! Y2 s/ g5 l* ~; u8 }! r 人工智能未来的发展路在何方?
6 q5 i) e0 y3 s! k7 E8 \! o, m说实话,我一点也不担心人工智能的末日。相比任意一种现有的生物系统的智能,人工智能的效率还差着成千上万倍的距离。可以说,我们现在的AI其实并不算怎么“智能”。另外,我们也需要在道德层面关注和掌控AI的发展。
4 F) R A' v3 E% E. i不管怎样,我们的工作从某种程度上提高了计算的效率,这使得它可以用来帮助解决重大的科学问题,这对设计师来说是很强的成就感。 3 l: Z, B/ ^- E7 G2 K
对于那些正在考虑从事硬件系统和计算机架构研究的人来说,最重要的就是找到那颗能让你充满激情并为之不懈奋斗的“北极星”,然后不顾一切的为之努力。一定要找到那种打了鸡血的感觉,不用担心太多诸如职业规划、工作选择等问题,要相信车到山前必有路。你在做的工作,应该能让你感受到它真正能带来变革,并帮助你在变革的道路上不断前行。 & \8 A' T, t. Q; T" X* o
/ w- c7 q! D+ |% N6 ?7 z) O
|