MyException - 我的异常网
当前位置:我的异常网» 人工智能 » 谢流:计算存储一体化,在存储里做深度学习,架构创

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

www.MyException.Cn  网友分享于:2013-12-18  浏览:0次
谢源:计算存储一体化,在存储里做深度学习,架构创新实现下一代AI芯片

点击有惊喜

阿里云幸运券分享给你,用券购买或者升级阿里云相应产品会有特惠惊喜哦!把想要买的产品的幸运券都领走吧!快下手,马上就要抢光了。

 

b6823a4d836b04fa4ba94dd19d1741e990811565

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

谢源教授也拥有丰富的工业界经验,他于2002-2003年任职于IBM担任微电子部门全球设计中心的咨询工程师,2012年到2013年期间加入AMD,负责组建和领导AMD北京研发中心的研究部门。他所获得的荣誉包括美国国家自然科学基金会的 CAREER award,入选计算机体系结构三大会议名人堂(Hall of Fame in ISCA/MICRO/HPCA),以及鉴于他在三维芯片设计和架构的贡献当选IEEE Fellow。

谢源教授的主要研究领域包括VLSI设计,电子设计自动化,计算机架构和嵌入式系统设计。他目前的研究项目包括新型内存架构,互连架构和异构系统架构。最近的研究项目侧重于技术驱动和应用驱动的设计/架构创新。其中,技术驱动的研究项目包括新兴存储器技术和3D集成电路的EDA / 架构,硬件安全性和CPU / GPU / FPGA的异构计算;应用驱动的研究项目包括人工智能(AI)的新型架构,如深度学习神经网络的计算机架构,neuromorphic 计算和bio-inspired计算。

7849d9a4ad3121b9eb2fad14915cca9f83277d8e

谢源:今天我要给大家讲的是《人工智能时代的计算机架构创新》。人工智能现在最主要的三大支柱,可以称之为AI的“ABC”——算法(Algorithm)、数据(Big data)、计算能力(Computing)。我今天主要讲计算能力,因为计算能力在AI的历史上发挥了非常大的作用。

6157cccc15636bc85f6d1c033a012adfb4ef8919

去年,周志华教授在中国计算机大会上展示了这张图,他说人工智能的历史看起来很有意思,是以交替模式在发展,热10年,冷15年:1958-1969年左右是一个繁荣期,然后进入冰河期,1985-1995年之间又出现了一个繁荣期,再往后又进入沉寂期,最近再一次热起来。

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

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

02f118f27cd52bb2a506a479bd0b5fac6b4ff283

最近这十几年,GPU的计算能力发展尤其迅速,以NVIDIA 的GPU为例,从2002 - 2014年经历了飞速的增长(注:上图增长趋势最快的线条,计算速度理论峰值从小于500 GFLOPS/s 增长到超过4500 GFLOP/s)。

bbca639c1b7a89755d242d4db52624d16c96198e

这次深度学习热潮大概是从2012年左右开始的。很有意思的是,吴恩达在2012年的文章是在一个由1000台机器组成的Cluster上面做的,16000多个CPU用了三天时间训练。到了第二年,同样的事情,吴恩达在GPU上做,3个GPU两天时间就完成了。这充分说明了从CPU到GPU的计算能力变化给人工智能带来的驱动力。

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

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

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

8bdd50d26638c1bc5bac3d7b6de084265d0c3160

过去50年里,摩尔定律是处理器性能提高的关键因素。遵循摩尔定律,每隔两年左右,晶体管变得更小、更快,在同样面积的硅片上可以放下更多更快的晶体管。但是,光有工艺上的提高并不够。

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

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

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

刚刚说过,人工智能三大要素,算法、大数据和计算能力,我认为在第三次AI浪潮里面,计算能力起到了非常重要的作用。从我们做计算的角度看,未来一个很重要的趋势是软件和硬件相结合。

例如,我们看谷歌,现在谷歌不再是一家单纯的软件公司,大家也都知道,最近谷歌发布了TPU(注:Tensor Processing Unit,张量处理器),这是他们自己专用的硬件。过去我们认为微软是一家纯软件公司,但是今年微软发布了最新一代的HPU(注:Holographic Processing Unit,全息处理器,集成于微软的HoloLens中)。还有其他一些公司也在从事硬件方面的研发,更多这样的芯片产品出来,英文26个字母估计都要被用上。所以,我觉得未来的一大趋势是软件和硬件的融合。

b269242f782cf622b7db449a87587ce873987720

AI时代的硬件创新非常激动人心,这是一个战国群雄争霸的时代,没有一个完全通用的芯片,也没有一家公司可以统治整个市场。

上面这张图展示了目前在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相比专有芯片有很大差距。专用芯片是为特定场景来定制的,所以它有低功耗、低成本和高性能的优势。当然,我认为在通用和专用之间还应该有一个平衡

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

f04931b0eb7a3dd36be7fc6915dd51dfa6f21d37

但是,做AI硬件创新有一个很重要的挑战,就是存储墙。我举个例子,我的学生徐聪博士在惠普实验室两年前做了一个简单研究,发现随着算法的发展和数据的变大,对存储带宽的要求越来越高。同时,不管你是TPU,BPU,还是XPU,你的PU做得再快,数据还是在存储那里,你要把数据从内存搬到你的PU里。数据搬移需要的能量在整个计算中占非常大的比重,而且数据搬运的效率不会因为摩尔定律的发展而提高。   

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

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

b0cee3983ebb079916c80fdb4e4f03a2fa338e6d

2002-2003年,我在IBM工作期间开始接触3D堆叠芯片技术,在2003年加入学术界后,一直致力于研究如何把这项技术用于新架构的设计上。在2012-2013年期间,我们与AMD研究部门合作,探索如何把3D堆叠的内存放在GPU旁边,帮助解决存储墙的问题[2]。

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

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

b2328746b5276b3998969597ab6c824c0146acf6   

谷歌第一代TPU数据发布后,当时我的第一反应就是谷歌的下一代TPU一定会放3D堆叠的内存。虽然现在还没有第二代TPU的具体技术细节,但是根据今年8月Jeff Dean在Hotchips上透露的信息,现在看谷歌第二代TPU放上了多少内存?不是4G、不是8G、不是16G,而是64G,谷歌第二代TPU放上了64G的内存,带宽从第一代的30 GB/s到现在的600 GB/s。    

最近还有一个有意思的消息,两个月前,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倍。所以,省去数据搬移,计算的功耗和性能都可以大大提高。

b8df784e27d9035eafee4db9aa217c0dfa4b67bc

巧合的是,我们在架构会议ISCA 2016和芯片设计会议VLSI Symposium 2017发表了PRIME架构的想法之后,今年10月,IBM在《自然》也发了一篇文章,宣布在相变存储器上实现了同样的针对AI应用的“In memory computing”这个概念。IBM做的也是在存储里面实现神经网络计算的功能,区别在于我们用的是阻变存储器(ReRAM),而IBM用的是相变存储器(PCRAM),共同点都是基于利用这些新型存储器件的模拟计算功能来实现神经网络的计算。

    0b38660f94a75deffb41cc2bff5a6f995ad2443d

那么,在现有成熟的DRAM存储器件上,能不能做类似的事情呢?也是可能的。我们最近和三星存储研究部门一起合作的一个工作,刚刚在10月份的第50届MICRO会议上发表,这个DRISA架构就是在DRAM的工艺上,实现了卷积神经网络的计算功能[4]。

最近,美国的SRC启动了一个1.5亿美金的5年研究计划JUMP [5],设置了6个不同的研究中心,这6个不同的研究中心代表了6个不同的未来研究方向。其中一个方向叫Intelligent memory and storage,这个研究中心由弗吉尼亚大学的一位教授和我一起共同领导,包含了东西海岸两个团队共20多位教授(包括多名美国工程院院士和IEEE/ACM Fellow),带领几十名博士生和博士后,包含了从底层的存储器件设计,到电路和架构设计,再到系统和软件各个方向的专业人士。我们这个团队的目标是研究计算存储一体化,在未来五年希望能够从底层到高层打通。

在我们这个研究中心未来的蓝图里,不仅仅是在计算架构层面要做革新,往下包括像针对不同存储介质的电路都要做相应的改变,往上的ecosystem也很重要,所以我们的团队不仅仅包含硬件研究人员,还需要在编程语言,编译器,操作系统和应用软件都需要有相应的创新。同时,在人工智能领域,我们认为所谓的domain knowledge也非常重要,我们选了几个AI应用领域方向,包括视频分析,精准医疗和认知计算,都邀请相应的专家一起来合作。我们把AI的ABC(算法+大数据+计算),又加上

 

点击有惊喜

 

文章评论

5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
编程语言是女人
编程语言是女人
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
Google伦敦新总部 犹如星级庄园
Google伦敦新总部 犹如星级庄园
总结2014中国互联网十大段子
总结2014中国互联网十大段子
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
Java程序员必看电影
Java程序员必看电影
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
程序员都该阅读的书
程序员都该阅读的书
漫画:程序员的工作
漫画:程序员的工作
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
 程序员的样子
程序员的样子
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
每天工作4小时的程序员
每天工作4小时的程序员
程序员应该关注的一些事儿
程序员应该关注的一些事儿
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
10个调试和排错的小建议
10个调试和排错的小建议
如何成为一名黑客
如何成为一名黑客
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
鲜为人知的编程真相
鲜为人知的编程真相
一个程序员的时间管理
一个程序员的时间管理
我的丈夫是个程序员
我的丈夫是个程序员
2013年美国开发者薪资调查报告
2013年美国开发者薪资调查报告
我是如何打败拖延症的
我是如何打败拖延症的
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
2013年中国软件开发者薪资调查报告
2013年中国软件开发者薪资调查报告
老程序员的下场
老程序员的下场
旅行,写作,编程
旅行,写作,编程
那些争议最大的编程观点
那些争议最大的编程观点
程序员的鄙视链
程序员的鄙视链
代码女神横空出世
代码女神横空出世
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
程序员必看的十大电影
程序员必看的十大电影
要嫁就嫁程序猿—钱多话少死的早
要嫁就嫁程序猿—钱多话少死的早
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
程序员和编码员之间的区别
程序员和编码员之间的区别
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有