AI芯片需要突破冯诺依曼架构的原因是什么
扫描二维码
随时随地手机看文章
背景
各种新类型设备将会导致数据量的爆发,其中大部分新设备目前还不存在。数据是有价值的,因为人工智能(AI)可以将数据中挖掘出商业价值。为了实现人工智能,我们将不得不启用新的计算模型。
关键信息
一共有两条关键信息。首先,人工智能工作负载(即机器学习、深度学习)需要一种处理数据的新方法——我们称之为新的计算架构(即计算模型)。后面将阐述“计算架构”的含义,以及AI工作负载需要哪些类型的更改。其次,人工智能计算架构需要材料工程的突破。我将讨论一些我们遇到的突破类型的例子。在应用材料领域,我们很兴奋地预见到人工智能将为材料工程带来巨大的增长机遇。
在这篇文章中,我的目标是总结AI工作负载的计算架构需求是如何不同于业界已经熟悉了几十年的传统计算架构(如x86或ARM)。我们将讨论为什么传统的冯•诺依曼计算架构对人工智能来说是不够的。并从一个我们做过的实证分析来说明,如果我们不启用新的计算架构,人工智能将无法实现。
人工智能的工作量有什么独特之处?
有三大不同之处,而且它们是相互关联的。
首先,人工智能需要大量内存,因为最流行的AI工作负载操作大量数据,但是内存也需要不同的组织方式。在流行的CPU中使用的传统多层缓存架构对AI来说是不必要的,AI需要更直接、更快速的内存访问。对于通过将数据存储在缓存中来重用数据,则没有那么多的关注。
在人工智能系统中输入大量的数据是非常重要的。以谷歌Translate™翻译服务为例:在2010年时,谷歌聘请了语言学家和算法专家来实现从英语到汉语的翻译,最后,他们的翻译准确率达到了70%。这很好,但不是很好。最近,谷歌采取了一种不同的方法:他们雇佣了很多数据科学家,数据科学家们将每个可用的英文网页及其中文译文输入到一个相对简单的深度学习算法中。这给了他们更好的结果,准确率高达98%!正如您所看到的,这里的重点是使用更简单的算法来使用更多的数据,这是支持用大量数据驱动AI的论点。
其次,人工智能涉及大量的并行计算。并行计算意味着您可以并行地处理工作负载的不同部分,而不必担心相互依赖。以图像处理为例,可以并行处理图像的不同部分,最后把图像拼凑在一起。因此,所有传统CPU中提供的复杂流水线对AI来说都是不必要的。
第三,人工智能需要大量的低精度计算,无论是浮点运算还是整数运算。这就是神经网络的力量,它是机器学习或深度学习的核心。传统的CPU有64位精度,在某些情况下可以达到512位。在很大程度上,AI并不需要这些。
因此,我们在这里有三个基本的和重要的计算架构变化,这是人工智能工作负载所需要的。这将我们带到了同构与异构计算体系结构的主题。
同构计算与异构计算
在PC和移动时代,大多数应用程序(或工作负载)在处理需求(即计算架构)方面看起来很相似。最初,所有的工作负载都是由CPU处理的,当我们开始使用更多的图片、视频和游戏时,我们开始使用GPU。
将来,我们的工作负载看起来会越来越不同,每个工作负载都有自己的计算需求。我们需要的是各种不同的体系结构,每种结构都针对特定类型的工作负载进行了优化。这就是我们所说的“硬件复兴”,因为它推动了针对各种新工作负载的体系结构创新。
还有一个原因可以解释为什么这个行业正在从同构计算转向异构计算。这与功耗密度有关,功耗密度限制了传统CPU的性能。我们正处在一个用现代多核CPU架构来提高性能的困难时期。人工智能工作负载最基本的需求是更高的功耗效率(即每个操作对应的功耗)。随着登纳德定律(Dennard Scaling)的结束,实现这一点的惟一方法是构建特定于域(domain-specific)或特定于工作负载的体系结构,从而从根本上提高计算效率。
实证分析:DRAM和NAND出货量与数据生成相关
为了理解数据生成和计算需求之间的关系,我们将年度DRAM和NAND出货量与年度数据生成进行了比较。经验关系表明,DRAM和NAND出货量的增长速度都要高于数据生成的增长速度。在我们的分析中引入的数学关系是底层计算体系结构的代表。
我们利用所发现的经验关系做了一个思维实验,考虑在1%的智能汽车使用率下增加数据生成造成的影响。假设每辆智能汽车每天产生大约4TB的数据,我们发现,到2020年与前智能汽车水平相比,智能汽车产生的数据总量增加了5倍。
根据这一分析,使用传统的计算模型,我们将需要8倍的DRAM装机容量和25倍的NAND装机容量(2020年)来处理1%的智能汽车使用。在应用材料行业,我们绝对希望这种情况发生,但我们不认为会发生。相反,该行业将需要采用基于新材料和3D设计技术的新型存储器,以及新的计算架构。
综上,传统的冯•诺依曼计算架构在处理人工智能所需的海量数据时是不经济的,甚至是不可行的。我们需要新的计算架构。