谢源:计算存储一体化,在存储里做深度学习,架构创新实现下一代AI晶片

谢源:计算存储一体化,在存储里做深度学习,架构创新实现下一代AI晶片

结合目前几种常见的晶片及其各自的适用场景和优势,谢源分析了未来硬体发展的三大趋势:软硬结合,以谷歌、微软为代表的软体公司也开始自己开发硬体;异构计算,在同一个平台上使用不同的晶片;以及从通用向专用发展。

同时,AI时代的硬体架构创新还有一大难关——存储墙。谢源以谷歌TPU为例,结合AMD和英伟达的GPU发展路线图,介绍了各大公司使用3D堆叠内存技术,克服存储墙的问题。不仅如此,谢源还介绍了他和同事的最新研究项目,计算存储一体化,直接在内存上做计算。

人类的大脑计算和存储不是分开的,不需要数据搬移,所以未来的计算机体系结构可能要改变传统的把计算和存储分开的冯·诺依曼架构。谢源的研究团队正在研究计算存储一体化,希望在未来五年能够从底层到高层打通。「我们把AI的ABC(算法+大数据+计算),又加上D(Domainknowledge)跟E(Ecosystem),探究计算存储一体化,希望能够使下一代AI晶片能够有更进一步的发展。」

谢源教授于1997年获得清华大学电子工程系学士学位,于1999年和2002年获得普林斯顿大学电机工程系硕士和博士学位。于2003年加入宾夕法尼亚州立大学计算机系,2008年获得终身教职,2012年提升正教授。2014年他转入加州大学圣芭芭拉分校电机与计算机工程系(ECE)担任正教授。他同时也是北京大学的兼职教授和台湾新竹清华大学的客座教授。

谢源教授也拥有丰富的工业界经验,他于2002-2003年任职于IBM担任微电子部门全球设计中心的谘询工程师,2012年到2013年期间加入AMD,负责组建和领导AMD北京研发中心的研究部门。他所获得的荣誉包括美国国家自然科学基金会的CAREERaward,入选计算机体系结构三大会议名人堂(HallofFamein

ISCA/MICRO/HPCA),以及鑑于他在三维晶片设计和架构的贡献当选IEEEFellow。

谢源教授的主要研究领域包括VLSI设计,电子设计自动化,计算机架构和嵌入式系统设计。他目前的研究项目包括新型内存架构,互连架构和异构系统架构。最近的研究项目侧重于技术驱动和应用驱动的设计/架构创新。其中,技术驱动的研究项目包括新兴存储器技术和3D集成电路的EDA/架构,硬体安全性和CPU/GPU/

FPGA的异构计算;应用驱动的研究项目包括人工智慧(AI)的新型架构,如深度学习神经网络的计算机架构,neuromorphic计算和bio-inspired计算。

巧合的是,这几次人工智慧的繁荣期,都跟计算能力的迅速增长有很大关系,比如第一次繁荣期,上世纪50年代时,电子计算机开始快速发展,第二次繁荣的80年代时则是像英特尔X86的处理器和内存条技术得到广泛应用。最近这次AI浪潮兴起很重要的一个原因,也是CPU、GPU集群的普及。

从CPU到GPU:吴恩达的例子,16000多个CPU三天到3个GPU两天

同时,AI的发展也大幅拉升了NVIDIA股价:NVIDIA在2012年的时候股价是11美元,现在已经是200多美元。

如何提升计算能力?硬体架构创新将变得越来越重要

回过头来看计算能力,既然计算力对AI应用非常重要,那我们怎样才能有更强的计算能力呢?总结起来无非两种,第一种是摩尔定律所带来的TechnologyScaling,第二种就是计算机架构的创新。

2012年,史丹福大学研究小组做了个统计,收集了过去几十年几千款CPU的数据,比如他们统计的这张图上,蓝色这条线是英特尔80386CPU性能提高的速度,如果不做任何架构上的创新,只是把电晶体做小,速度的确可以增长。但是,如果再加上架构上的创新(红线)(其余几千款CPU性能指标),就能够把CPU的性能进一步提高[1]。

因此,摩尔定律非常重要,架构创新也非常重要,架构创新是计算能力增强的一个重要因素,这两者的结合使过去50年计算能力得到了飞速的增长。但是,现在出现了一个问题,摩尔定律开始变慢。按照现在半导体的路线图看,在2021年达到5纳米的制程后,我们还能不能继续往下走?这是一个大问号。

在摩尔定律不断减缓甚至会停止的情况下,实际上架构的创新会对计算能力增长起到更大的作用。

AI时代,硬体市场群雄争霸,软硬结合、异构计算、从通用到专用是三大趋势

刚刚说过,人工智慧三大要素,算法、大数据和计算能力,我认为在第三次AI浪潮里面,计算能力起到了非常重要的作用。

从我们做计算的角度看,未来一个很重要的趋势是软体和硬体相结合。

例如,我们看谷歌,现在谷歌不再是一家单纯的软体公司,大家也都知道,最近谷歌发布了TPU(註:TensorProcessingUnit,张量处理器),这是他们自己专用的硬体。过去我们认为微软是一家纯软体公司,但是今年微软发布了最新一代的HPU(註:HolographicProcessing

Unit,全息处理器,集成于微软的HoloLens中)。还有其他一些公司也在从事硬体方面的研发,更多这样的晶片产品出来,英文26个字母估计都要被用上。所以,我觉得未来的一大趋势是软体和硬体的融合。

上面这张图展示了目前在AI时代硬体的各种解决方案。取决于应用场景,数据类型,还有资源的限制,每种硬体方案有自己各自的优势,还没有哪种方案可以一统天下。比如说谷歌的TPU,第一代做推理(inference),第二代做推理(inference)和训练(training)都是在云端做。而FPGA或者是一些专用晶片,则可能更适合在功耗受限的端来做。

谷歌的TPU是专用晶片。现在大部分还是通用晶片,比如GPU、CPU或者FPGA。大家经常会问,GPU和FPGA相比哪个好?像英特尔、微软等公司,在自己没有GPU的情况下,也努力推FPGA的方案。我认为,GPU和FPGA两者各有好处。简单讲,GPU比较适合在云端,从计算的有效性角度看FPGA更有优势,但真正做FPGA编程的人比GPU编程的要少很多,所以从应用、做程序的难度看,做FPGA比做GPU更加困难。

CPU、GPU、FPGA这些不同的通用晶片,各有各的优势,因此未来的计算很有可能向「异构计算」发展,也就是在一个平台上使用不同的晶片。我们最近的一项工作,就是研究如何更好地把AI应用到异构平台上,并使其效率更高。

此外,从通用走向专用也是一种趋势,因为在功耗和速度上GPU、FPGA相比专有晶片有很大差距。专用晶片是为特定场景来定制的,所以它有低功耗、低成本和高性能的优势。当然,我认为在通用和专用之间还应该有一个平衡。

英伟达和AMDGPU路线图:3D堆叠内存,克服存储墙难关

数据搬移需要的能量在整个计算中占非常大的比重,而且数据搬运的效率不会因为摩尔定律的发展而提高。

我们再以谷歌的TPU为例,谷歌在今年6月份发布了TPU的具体技术细节,其中有一点很多人可能没有注意到,看实验数据可以发现,因为TPU所带的DDR3存储架构,带宽只有30个GB/s,虽然第一代TPU做的非常快,但由于存储带宽的限制,很多时间它是在等数据,大大限制了性能的发挥。

如何解决存储墙的问题?有不同的方法,其中一种方法是採用3D堆叠,我们称之为MemoryRichProcessor,就是在处理器周围堆叠更多的存储器件。回过头来看,寒武纪第一代叫DianNao,第二代叫DaDianNao,DaDianNao就是为了解决存储墙问题,在处理器旁边利用eDRAM技术放了更多的内存。

2015年6月,AMD推出了世界上第一款使用3D堆叠的GPU,在FuryXGPU内部集成了4GB的3D堆叠的HBM(High-bandwidthMemory),大大减少数据搬移的消耗。这个3D堆叠的技术推出后到现在,两年多的时间里,被很多厂商合作使用。

在处理器内部集成的存储也越来越多,比如2015年AMD集成了4GB的HBM,今年发布的AMD和NVIDIA的Vega和VoltaGPU都集成了16GB的HBM2。而其他公司的一些最新的AI晶片架构,也都集成了3D堆叠存储,比如IntelNervana也用3DHBM,而WaveComputing用的是美光(Micron)的HMC,另外一种形式的3D堆叠存储。

最近还有一个有意思的消息,两个月前,AMD负责GPU的高级副总裁Raja

Koduri来我们学校UCSB休假了40天,就在不久前他宣布加盟Intel。同时,AMD和英特尔也宣布了一个新产品,联手干了一件事情,把Intel的CPU和AMD的GPU集成放在一起,同时为了解决存储墙问题,再放一个堆叠的3D内存。有人开玩笑说,因为AI时代的到来,「AI」引发了A(AMD)和I(Intel)的联手合作。

在学术界做更有前瞻性的研究:针对AI应用计算存储一体化,未来5年从底层到高层打通

所有的这些现象都让我们看到了最近在AI应用驱动下计算硬体架构上的创新,包括英伟达、英特尔、谷歌,AMD这些大公司,还有寒武纪、深鉴科技、地平线这样的初创公司,甚至包括比特大陆都转型在做AI晶片的设计。那么在学校做科研的还能做什么?学校没有像谷歌英伟达这样有几千人的团队,也没有那么多资源,我们做的事情是要往前看,利用学校创新能力的优势,做更有前瞻性的研究,看到现在公司还没有办法做或者还没有精力去做的研究方向。

我们现在考虑的也是针对存储进行优化,研究计算存储的一体化的架构。传统意义上的冯·诺依曼架构,计算单元不管有多快,数据一定是从硬碟搬到主存,再搬到计算单元(PU)里面。我刚刚提到的3D堆叠是一种方法,可以把更多的内存放在计算处理单元里,以减少晶片内外的数据搬移,提高计算和存储之间的带宽。不过,想想我们的人脑,人类的大脑是有没有计算和存储的区别,有没有说比如用左半球来计算,右半球做存储吗?没有,我们人脑本身的计算和存储都发生在同一个地方,不需要数据搬移。

所以,未来的计算机体系结构可能要改变传统的把计算和存储分开的冯·诺依曼架构。其中的一个创新架构的研究方向是计算和存储一体化(process-in-memory),在存储里面加上计算的功能。例如,我们的研究团队在去年的计算机架构顶级会议ISCA就发表了一个工作叫PRIME架构[3],在新型存储器件ReRAM里面做计算的功能,让存储器件做神经网络的计算。今年,我们和新竹清华大学张孟凡教授团队以及北京清华大学刘勇攀教授团队和汪玉教授团队合作,把PRIME的架构在150nm工艺下流片,

在阻变存储阵列里实现了计算存储一体化的神经网络。我们发现,当计算和存储都放在一起,在内存里面实现神经网络计算的时候,功耗可以降低20倍,速度提高50倍。所以,省去数据搬移,计算的功耗和性能都可以大大提高。

最近,美国的SRC启动了一个1.5亿美金的5年研究计划JUMP[5],设置了6个不同的研究中心,这6个不同的研究中心代表了6个不同的未来研究方向。其中一个方向叫Intelligentmemoryandstorage,这个研究中心由维吉尼亚大学的一位教授和我一起共同领导,包含了东西海岸两个团队共20多位教授(包括多名美国工程院院士和IEEE/ACM

Fellow),带领几十名博士生和博士后,包含了从底层的存储器件设计,到电路和架构设计,再到系统和软体各个方向的专业人士。我们这个团队的目标是研究计算存储一体化,在未来五年希望能够从底层到高层打通。

在我们这个研究中心未来的蓝图里,不仅仅是在计算架构层面要做革新,往下包括像针对不同存储介质的电路都要做相应的改变,往上的ecosystem也很重要,所以我们的团队不仅仅包含硬体研究人员,还需要在程式语言,编译器,作业系统和应用软体都需要有相应的创新。同时,在人工智慧领域,我们认为所谓的domain

knowledge也非常重要,我们选了几个AI应用领域方向,包括视频分析,精准医疗和认知计算,都邀请相应的专家一起来合作。我们把AI的ABC(算法+大数据+计算),又加上D(Domainknowledge)和E(Ecosystem),探究计算存储一体化,希望能够使下一代AI晶片能够有更进一步的发展。

谢谢大家!

参考资料

[1]CPUDB:RecordingMicroprocessorHistory,Danowitzetal.CommunicationsoftheACM,Vol.55No.4,2012.

[2]OptimizingGPUEnergyEfficiencywith3DDie-stackingGraphicsMemoryandReconfigurableMemoryInterface.JishenZhao,GuangyuSun,YuanXie,GabeLoh,ACMTransactionsonArchitectureand

CodeOptimization(TACO),2013.

[3]PingChi,ShuangchenLi,CongXu,TaoZhang,JishenZhao,YongpanLiu,YuWang,andYuanXie,'PRIME:ANovelProcessing-in-memoryArchitectureforNeuralNetworkComputationinReRAM-based

MainMemory',ISCA2016

[4]ShuangchenLi,DiminNiu,KrishnaT.Malladi,HongzhongZheng,BobBrennan,YuanXie,'DRISA:ADRAM-basedReconfigurableIn-SituAccelerator',MICRO2017

[5]

本文首发于微信公众号:新智元。文章内容属作者个人观点,不代表和讯网立场。投资者据此操作,风险请自担。