您现在的位置:首页 >> 自然生态

杜克大学陈怡然:高效人工智能系统的软硬件协作设计

时间:2023-03-02 12:17:47

>

过去十几年,我们在维克认真了大量无关在此不久,并构件设计了一些闪唯。

2019 年我们在 VLSI 发了一评论,可以用新型读取器和习惯 CMOS 同步先取;大相互连接,集已成不久可以将比如线性人工智慧整个映射到这样一个乘法稳定状中普遍性从前,同时可以选择清晰度,同步先取;大清晰度和能效两者之近的权衡(tradoff)。相对来说习惯 CMOS 构件设计,普遍性能之后可以获取几十倍的减少。

本年在 ISSCC 上我们也有另外一个岗位,主要是我们毕业的学生燕国博南在北京师范大学的一个科学研究工作调查小组岗位,这个构件设计思想还可以放到习惯 SRAM 。这个构件设计的一个特别之处在于,习惯构件设计通过电阻同步先取;大值强调,实质上是一种模拟计为数模式。换句话说是,有组织上连续中普遍性强调一个值,这就尽可能模拟到为十先取制的转成,为数模转成愈来愈另加低廉。而我们在 ISSCC 上的岗位:ADC-Less SRAM 实质上是一个二值的整为数强调,比如零和一,这就有似乎替换成为数模转成,如此一来充分利用为十先取制稳定状中普遍性下的计为数。这是当时充分利用的一个新科技突破。

可以看不到示意图这张布 Digital CIM(最右边, This Work), 能效据估计可以远超 27.4 ( TOPS/W,8 比特稳定状中普遍性下 ),已经超过原先其他所有构件设计,整个 density 愈来愈另加高,在 28 石墨烯工艺但会,每平方毫米上仅有有上下同的器件。

除了电路,还要有指令集跟编译器两者之近的全力支持才尽可能充分利用整个计为数系统设计的构件设计。2014-2015 年早先,我们就开始认真无关构件设计,比如构件设计编译器,回来到可以用来另加速的程序的一部分,同时在RF通过一些模式相互连接各种各样的阵列,把大的发散网分已成小的发散网,或在不一定相同发散网层(layer)两者之近同步先取;大为数值的转成。

相对来说较值得一提的是,我们经常则会在一个大的发散网从前遇到很多阵列,至寡唯在两种发散网借助于计为数的模式——为十先取制借助于和三维借助于。;也为十先取制借助于,是指有很多转成(input),些样本可以被借助于的分到不一定相同浮点各别(PE)底下去。对于三维借助于来说是也是一样,大的三维可以被分块同步先取;大计为数。

但是,这两种借助于的模式不一定排他。即使对于一个 Layer 来说是,当你把这一个 layer 映射到不一定相同 PE 上,在每个 PE 仍似乎转用不一定相同的借助于模式。比如下布用黑斑和白点来强调,大部分借助于模式是通过三维借助于的模式来系统设计设计,也有寡部分是为十先取制借助于。

为什么则会这样?因为只有集已成不一定相同借助于的产于模式,才能使得在整个算力全部被强调的但会,所有为十先取制跟为十先取制正好远超一个稳中普遍性有利于,整体能效最高者。如果是单一强调,有的区域内就飞龙了或者算得相对来说较慢,拖累了整个计为数。这是 2019 年刊登的评论 HyPar。

2020 年我们发掘出一个新情况,我们实质上并未太顾虑线性发散网本身的强调,而你经常则会应用软件性层从前一个层一个层地去计为数,则会有一些从前近结果,直到之后才则会被请注意。这样一来则会激发第三种借助于模式,就是 Tensor 借助于的模式,比如下布这种,转成和负载相互竞争三种借助于的似乎。3 乘以 3,总共有 9 种强调模式。

如果尽量避免每个 PE 都有 9 种模式同步先取;大强调,就并未办法通过人工模式同步先取;大优本土化,不必通过自动本土化模式(比如正规化)完已成整个系统设计的强调。同时,你也不似乎先去回来这些强调模式,尽可能一些的层次本土化的模式。

比如,先有些大的完全一致,再由小的完全一致多年来到之后单个强调。如果用三种粉红色来认真强调,则会发掘出即使在一个层次的映射下也有不一定相同 PE 有不一定相同运;大强调来符合整体上样本浮动的最优。这样,能效就能再推先取一倍。

同样的设想不仅仅可以请注意浅层自学底下。浅层自学只是一个布计为数特例。而任何可用布模式来强调样本浮动的计为数都是布计为数,浅层自学虽然很多样化但基本上只是布计为数的一种特殊性强调。所以,你可以用唯内计为数模式来同步先取;大布计为数。

这是我们另外一个 HPCA 2018 上的岗位。我们发掘出是布计为数,特别是浅层必需或者发散网必需抓取这类演算法,可以把他们在乘法上的强调,用布计为数的模式来充分利用。一般来说在习惯 CPU 应用软件上的计为数,能效则会有上百倍减少。

说原始个指令集构件设计,在演算法上如何暂时优本土化计为数能效?下一个案例是构件极小本土化。极小本土化早就被有名,当人工智慧的一些举例来说很小或者几近于零,无论转成多大,对负载并未严重影响,这个时候,你毕竟不尽可能算结果,如此一来丢掉这个结果(其实是零)就可以了。

2016 年以前,所有针对人工智慧的极小本土化系统设计设计必需都是非构件极小本土化,只要你看不到一个零,就把它替换成。这就促使一个情况——所有样本在计为数机读取的时候有一个 locality(发散普遍性),因为有时域跟飞龙域的发散普遍性,当请注意一个为数,必需上则会有一个预期,这个为十先取制则会慢慢被请注意,或者读取在其远处的为数也则会在未来被慢慢请注意。当你把很多零替换成后,则会激发很多洞。当你回来到一个为数不久,则会期待下一个为数,但你毕竟并未唯。整个调用则会身陷一个稳定状中普遍性:慢慢到很远区域内把为十先取制弄上去,结果你发掘出这不是尽可能的,然后暂时去回来。

怎么解决这个情况?认真极小本土化的时候,基本上希望把替换成的这些零或者计为数,以某种发散普遍性来认真强调,比如整;大或者两节全部替换成。这样就可以在符合读取发散普遍性的必要下,基本上远超计为数优本土化。

说是起来容易,关键是怎么认真?我们 2016 年 NeurIPS 有评论说了构件极小本土化,这评论后来也变得很有名。(评论说的是)必需上可以回来到这些值,完全一致了某种读取构件,这种构件使得这些为数以边上边上模式同步先取;大读取。这样在清零时,把整个;大或者列全部清零,基本上尽可能在符合优本土化条件的必要下同时符合 发散普遍性。这个可以用在 CNN、LSTM、RNN 甚至一些愈来愈复杂计为数。这项新科技今日必需上已经是人工智慧优本土化的一个标配。

另一个常用的人工智慧优本土化是量本土化. 发散网受训尽可能高清晰度,但推理时不一定尽可能高清晰度。这就激发了一个很有趣的事情:究竟什么样的清晰度,优本土化是最好的,而且这个清晰度用什么模式去强调。

习惯上,大家可以先去回来最佳结果。比如,一个 bit、两个 bit、四个 bit...... 去回来就对了。但你则会发掘出,还要尽量避免这个 bit 怎么在读取同步先取;大强调。比如,对这个 layer 来说,当有某个 bit 于所有为十先取制来说是都是零,那就不尽可能唯这一整个 bit。举个案例,只要必要你只要这四个 bit 从前的第二个和第四个唯在,而不是每个都尽可能,这就多样化了整个清晰度的优本土化。这也是我们第一次将构件极小本土化运请注意 bit 水平的极小本土化研究工作上。

我们用 Group LASSO 的模式,把样本强调底下整个 column 或者整个构件为零的 bit 全部替换成,这样就极大增高读取已成本。这是我们 2021 年的一评论。

后下下就是受训,这是一个很复杂的事情。我们经常崇学生 loss function 要趋近于不胜负荷。但在日本公司,总有一天不似乎有有限的算力让你算到不胜负荷,必需上给你一百台电脑程式受训 24 天内,无论你受训已成什么样,你都得结束,这使得受训本身要愈来愈另加高效。

习惯上我们采取产于式代理服务器的认真法,把三维复制很多遍,但每个复制的三维来作一部分样本来受训。那么怎么必要之后获取的结果尽量避免所有的样本?你就尽可能把这些人工智慧在受训从前禅城的径向送入值代理服务器底下,认真平均不久再发回去来愈来愈新本地的人工智慧。这就激发了一个情况:当节点代理服务器特别多的时候,之后整个系统设计就仅仅的被径向传输激发的样本流所占据。

怎么办?我们后来发掘出,当值有限多的但会,激发的径向则会符合某一个产于,毕竟不尽可能传输原始样本,只尽可能算产于的一些值和一些诸如样本多还是寡之类的,把他们传过去,就可以仅仅在另外一故又称复制这个产于,获取可视结果。

我们在PDA故又称就完已成了这样一个系统设计设计,联合很多PDA同步先取;大受训,同时还可以认真推理。

认真推理的时候,我们采取了聚类的模式,将那些有理数的为十先取制尽量以;大列变换的模式调整到边上儿,然后15号PDA上集从前同步先取;大计为数,减寡PDA近的因特网,减少浮点效率。

我们曾经跟咖啡店日本公司认真验证,在全球回来了几千个 CDN 发散网代理服务器,搞了一个 Style Transfer(风格转成)应用,通过产于计为数跟强调完已成整个计为数,效果愈来愈另加好。必需上可以须要通过PDA跟代理服务器不近断,完已成整个受训和推理。

刚才说了这么多,实质上有一个情况:所有这些两边都尽可能一些愈来愈另加有经验、愈来愈另加贵的发明家来构件设计可视的人工智慧。这也是今日人工智慧合上已成本从前愈来愈另加大的一部分。我们可以通过自动本土化模式,比如增强自学、优本土化模式来优本土化整个人工智慧,因为可以将它模拟已成某种优本土化全过程,但这些习惯的优本土化全过程愈来愈另加低廉。

我们曾经想通过布强调的模式来认真这个。通过一个有向布而且是一个并未环路的有向布来强调浅层人工智慧指令集,它有很多个 cell,不一定相同 cell 叠另加在一起完已成整个人工智慧指令集。我们要回来的是这个 cell 底下的代为数构件,来看之后这个人工智慧构件设计确实符合要求。这就是一个对代为数构件相对来说较敏感的研究工作。

另外,你则会发掘出:当认真这些事情的时候,代为数构件相对来说较相似的人工智慧的精度也都仅有,有无关普遍性,无关系为数虽然不是 1,但必需上也是一个相对来说较高的为数。因此,可以通过指令集预测这样一个指令集是不是可以符合我们的普遍性能要求,这种预测可以指引完已成整个人工智慧指令集的抓取。

这是一些实际结果。我们把一些一维中普遍性的指令集或者代为数构件映射到连续中普遍性的飞龙近从前,激发乘法两者之近的夹角(相似普遍性)作为一个普遍性能的关键强调,可以通过这样模式预测获取优本土化是什么样的,慢慢仅有优本土化结果。

看来,这个模式是跟人的构件设计是相反的,人不是这么构件设计人工智慧的。人是看哪从前有小三维能不则会符合要求,符合根本无法后下上另加。我们也认真过这样的在此不久,叫 Automated network depth discovery , 构件设计一些规则,使得你可以从最小发散网慢慢往上另加,每个层从前另加不一定相同 layer,或者另加很多层,看不到什么样指令集之后符合这个要求。当然,你要构件设计一些实际规则或者认真一些在此不久。

这些在此不久还人口为129人有意思。之后你幸运儿优本土化到构件设计有利于依托面的某一个点上,但并未办法通常优本土化到某一个点,你并不需要到这个依托面上的某个点,慢慢让它自由浮动。我们还是并未有限的理解,使得我们仅仅可以依靠优本土化的方向跟覆盖范围。所以,这个岗位还尽可能愈来愈深一步研究工作,我们只是毫无疑问可;大普遍性,但并未对规则的完整普遍性认真愈来愈多研究工作。

之后,软件跟软件协同构件设计,有很多值尽可能顾虑,有数体协同、实际电路跟指令集构件设计、以及演算法本身针对软件的优本土化。

我们的团队之外认真了很多年的获取,从 2012 年开始研究工作人工智慧在不一定相同软件上的强调,到后来认真指令集构件设计、产于式构件设计,到自动本土化构件设计等,认真了愈来愈另加多的在此不久。据估计看不到了如何从一个最简单的强调,多年来之后即可到按一个向后,完已成了 AI 体件紧密结合的建设。

明天大家!

导致女性更年期提前的原因
眼睛干涩视力模糊怎么解决
海露滴眼液是德国产的吗
宝宝消化不良怎么办吃什么调理
眼睛视疲劳用哪个眼药水