陈左宁:解析为什么说传统超算并不最适合AI,陈左宁


计算模式的13个“小矮人”

根据人工智能发展趋势,可以总结出人工智能对算力的需求有几个特点:

一是关系、概率、近似计算更加突出;同时不要求高精度和高容错,因为都是近似的概率计算;

二是在节点上计算简单,同时人在环路中需求非常明显。

对软件栈的需求,就是要求软件栈是复杂、动态、分布式,分散的,要支撑新的场景(如原生支持分散场景等),以及架构创新(如软硬件协同设计、体系结构突破等)。

陈左宁总结说,目前人工智能算法模型仍然在基本的计算模式之中——2006年,Berkeley View总结出13个基本计算模式(又称13 dwarfs,13个“小矮人”),现在的算法仍然没有跳出这些。

Berkeley View2006年总结出的“13dwarfs”

但是未来的复杂问题会不会超出这个范围,现在还很难说。陈左宁提出,或许随着我们对AI认知的加深和突破,还会出现新的趋势。

经典CPU处理AI势必造成功耗浪费

为了说明经典高性能计算现有体系结构对AI模型支持的局限性,陈左宁院士提到了AlphaGo和李世石下棋的例子:

同样是下棋,为什么相比人,AlphaGo耗能如此之大?

人机对弈,李世石动脑所耗能量约为10MJ,AlphaGo耗能约为3000MJ ,相差2个数量级。

这其中差别,跟现有体系结构的限制有很大关系。

现在的高性能计算机,仍然是基于遵循冯·诺依曼结构的芯片架构。冯·诺依曼架构,最典型特征是“计算、存储分离”。存算分离的优点是,可以通过编排指令做各种复杂计算;缺点也很明显,芯片内的数据移动功耗大于运算功耗。

特别是,高性能处理器结构复杂,其运算功耗占比就更低;而随着工艺的进步,互联功耗占比还会越来越大。

冯·诺依曼结构之所以设计成存算分离,是为了方便用复杂的指令系统去搞定复杂计算。

但AI不同,它不需要复杂的节点计算,也不需要复杂的指令系统。

这解释了,经典CPU处理AI势必会造成很多功耗是浪费的——这也是人们为什么研究和发展AI芯片的缘故。

现有支持AI的超算体系结构,在节点间尺度上多为同构系统,比如美国的Summit、中国的“神威·太湖之光”,都是大节点同构、但节点内尺度上有异构形式(如CPU+GPU/FPGA等)。CPU、GPU、FPGA以及张量加速单元(TPU),能够实现复杂的并行;但人工智能硬件重点关注深度神经网络这类模型:适度的低精度计算、可对部分简单算子(如矩阵乘、向量计算等)加速等。

相关推荐

相关文章