猪猪小说网

手机浏览器扫描二维码访问

附录3 CPUGPU和TPU(第1页)

一秒记住【xiaoyanwenxue.com】精彩无弹窗免费!“罗辑思维荐书集锦(套装共24册)(.shg.tw)”!

附录3:CPU、GPU和TPU

GPU是神经网络计算的引擎。图附3.1是一个典型的神经网络,用输出误差来调节各层的权重系数,输入阵列X通过参数矩阵运算进入下一层运算,每一层运算都是一次这样的矩阵运算。所谓矩阵运算,就是先把数字相乘再相加。

图附3.1典型的深度神经网络

为了帮助那些没有学过矩阵的读者加深理解,现在我们只看图附3.2中左边输入和第一层中一个神经元的关系:每一个输入数字和圆圈里的权重系数相乘,然后把所有的乘积加起来就得到一个值。例如,输入有三个单元,分别是(2,5,8),对应的权重系数分别是(2,-1,0.5),它们相乘后再相加是2×2+5×(-1)+8×0.5=4-5+4=3。这个值再经过一个“非线性”处理:这个值如果大于0就取原值,小于0就取值为0。注意这里所有的相乘运算都可以同时进行,这就是所谓的可“并行运算”。我们刚才描述的仅仅是一个单元的计算方法,其他单元的计算方法也都一样,也就是说不仅一个单元的计算是可以并行的,所有单元的计算都是可以同时进行的。

图附3.2神经网络的一个单元内的计算

而GPU与CPU相比的优点正是在这里。当年设计CPU时主要为了执行计算机程序,绝大部分计算机程序都是“串行”的,也就是后一个命令或计算要等前一个命令或计算的结果出来后才能执行。而GPU最初是为图形处理用的,图形处理的一个特点就是可以并行。例如,从一张图中把所有的黑点找出来,就可以把一张图分割成许多小图同时来找黑点。图附3.3是CPU和GPU的结构对比,图中左边的CPU通常由一个控制器(Control)来给少数几个功能强大的算术逻辑运算器(ALU)分配任务,而右边的GPU通常由许多简单的控制器(右图最左边一列方块)来控制更多的算术运算单元组成(那些小格子)。在图形和图像处理中大量的运算都是矩阵运算,所以GPU从第一天起就是为矩阵运算设计的,没想到几十年后的深度学习也主要是矩阵运算,这就是“天上的馅饼”。

图附3.3CPU结构和GPU结构对比

图片来源:https:.quora.Does-CPU-vendors-feel-the-petition-from-GPUs-putational-power。

那么在神经网络深度学习计算中GPU比CPU能好多少呢?一个极端的例子是在深度学习使用GPU之前,谷歌使用16000个CPU建造了一个超级深度学习网络,如图附3.4所示,成本为数百万美元。

几年后,斯坦福大学只用几个GPU就可以达到同样的性能,成本只有3万美元!即使考虑到芯片本身在几年内的发展,这个比较也是惊人的。当然这个比较仅仅是比较深度学习的矩阵运算,谷歌大脑还可以做很多其他的运算,例如强化学习等。总的来说,CPU适合串行运算,可以胜任从航天到手机的各种不同复杂运算和处理,而GPU主要用于简单的并行运算,并不会取代CPU。但是在图形处理和深度神经网络计算中,GPU可以比CPU快10倍甚至百倍。英伟达2017年推出的用于自动驾驶的芯片Xavier已经达到每秒20万亿次浮点计算。

图附3.4谷歌用16000个CPU搭建的深度学习“谷歌大脑”

图片来源:https:amp.businessinsider.images507ebdd2ecad045603000001-480-360.jpg。

2006—2017年,单片CPU的处理能力提高了50倍。50倍的增长不是来自时钟速度的提高(即单次运算变快),而是来自在芯片中塞进更多的处理器。它的内核数量从4个变到28个,是原来的7倍。另外一个性能的提升来源于指令的宽度,2006年一条指令只能处理2个单精度的浮点运算,今天512位的指令集中,一条指令可以同时处理16个单精度的浮点运算,这就相当于8倍的性能提升。7×8=56,约50倍的运算速度提升就是靠更多的处理器得来的。

图附3.52006—2017年CPU运算速度的进展

图片来源:香港浸会大学褚晓文教授“深度学习框架大PK”中的五大深度学习框架三类神经网络全面测评。

再看GPU在近十年的发展,图附3.6是GPU和CPU的性能对比。2006年英伟达第一次发布通用计算的GPU8800GTX,当时它的性能已经达到0.5万亿次浮点运算(500GFlops),接下来的十年,大家可以看到GPU相对CPU的计算能力一直维持在10~15倍的比例。GPU从过去的128个核心变成5376个核心,这个增长速度与CPU相同,所以GPU运算速度与CPU运算速度的比值一直保持不变。

图附3.62006—2017年CPU和GPU计算能力对比

图片来源:香港浸会大学褚晓文教授“深度学习框架大PK”中的五大深度学习框架三类神经网络全面测评。

其他几家互联网巨头也不能眼睁睁地看着英伟达控制着深度学习的命脉。谷歌就撸起袖子做了一款自用的TPU,设计思路是这样的:既然GPU通过牺牲通用性换取了在图形处理方面比CPU快15倍的性能,为什么不能进一步专注于只把神经网络需要的矩阵运算做好,进一步提高速度呢?TPU设计的核心诀窍有以下四点。

第一,图形与图像处理需要很高的精度(通常用32比特浮点精度),而用于识别的神经网络的参数并不需要很高的精度。所以谷歌的第一款TPU就专门为识别设计,在运算上放弃32比特的浮点运算精度,全部采用8比特的整数精度。

第二,由于8比特的乘法器比32比特简单4×4=16倍,所以在同等芯片面积上可以多放许多运算单元。谷歌的第一款TPU就有65000个乘加运算单元,相比最快的GPU只有5300个单元,多了不止10倍。

第三,不论在多核的CPU还是GPU中,目前的运算速度瓶颈都是内存的读和写。因为要被运算的数据都存在中央存储器里,而这些数字在运算时要分配到几百上千个运算单元中,从存储器到运算单元可谓“千里迢迢”,往返很费时间。在TPU里为了解决这个问题,干脆把运算单元摆成矩阵一样,让被运算的数据(例如神经网络的输入数据)流淌过这些运算单元,从内存中提取一个数据就让它和所有的权重系数都做完乘法,而不是像传统CPU或GPU那样提取一个数据只做一次运算就放回到存储器,做下一次运算再千里迢迢从存储器去取。这样数据像波浪一样一波一波涌来,所以叫脉动式计算。

第四,一个专注于矩阵运算的芯片不用考虑图形处理时要考虑的许多其他事情,例如多线程、分叉预测、跳序执行等,这是由于脉动式计算省掉了许多暂存、缓存等。整个运算的指令只有矩阵运算和取非线性那么几个,例如读数据、读参数、相乘、累加、非线性、写数据等。整个芯片和软件都变得非常简单,这样可以做到每个时钟周期执行一次指令。

图附3.7向量(一维)计算、矩阵(二维)计算和张量(三维)计算

图片来源:https:mp.weixin.qq.se333KjLavEvvpNIL3u1Y4Q。

现在我们可以算一下TPU到底比GPU快多少了。谷歌第一代的TPU有256×256=65536个8比特乘加器,时钟是700MHz,每秒能做的8比特乘加运算=65536×700×10=46×10次乘加运算,即92万亿次整数运算(92TOPS,一次乘加运算是两次运算)。所以当谷歌宣称比GPU快时,是用整数运算次数OPS和浮点运算次数FLOPS比。而GPU是以浮点运算为测量单位的,前面说过最新的英伟达Xavier运算速度可达20TFLOPS,这两个不可直接相比,但如果在神经网络用于识别时(而不是用于训练),浮点和整数运算造成的识别准确率差别不大,就可以说这款TPU比GPU快了9220=4.6倍。对于谷歌这样需要大量矩阵运算的公司可以节省许多买GPU的钱,并且加快了识别速度(例如谷歌翻译、图片识别等的几亿用户非常在意处理速度),更重要的是把核心能力控制在了自己手里。谷歌在云服务方面没有亚马逊做得好,正在奋起直追,有了TPU则可以给用户提供更快、更便宜的深度学习云服务,所以谷歌的TPU目前只给自己用,不卖给别人。谷歌的第二代TPU已经能够进行32比特的单精度浮点运算,这样从训练到识别都不需要买别人的GPU了。用浮点运算做识别还有一个好处就是通过浮点运算训练出来的模型可以直接用于识别,而不是像第一代TPU那样先要把那些32比特的参数集都量化为8比特。但是通过刚才的讨论,我们知道TPU更快的一个重要原因是放弃浮点运算,当TPU也需要浮点运算时,相比GPU的性能提高就不会那么大了。谷歌的第二代(TPU2.0)可以达到每秒45万亿次单精度浮点运算,和英伟达Xavier芯片比只快了一倍(TPU2.0在Xavier之后出来,快一倍就不算什么)。在2018年谷歌开发者大会上,谷歌又宣布了第三代(TPU3.0),宣称比TPU2.0快8倍。由于功耗的提高,所以第三代芯片已经需要液体制冷。一个第三代的TPU集群(一个机柜)有64块板卡,每块板卡上有4个TPU,总运算速度可以达到每秒8×45×4×64=92160万亿次浮点计算。

重生:影后夫妇疯狂撒狗粮  天才萌宝:爹地超宠妻  前妻别跑:偏执慕总放肆宠  盗墓笔记之尘封的记忆  小农女种田忙  沈再云夏顾雪重生鉴宝  重生九零之神医商女  穿越梦境  凰谋天下  重生年代:胖厨娘的红火小日子  面对秋阳  婚心动魄:我的神秘大boss  守城使  蜜宠霸爱:厉少,你失宠了  人在航海,开局艾尔沃特海战  市场·情场·官场  世家三代录  她切回满级大号了  神王殿  夫人,总裁他罪不至死  

热门小说推荐
甜妻有喜

甜妻有喜

江青柠睡了帝国黑阎王。再次见面,男人甩了一张金卡,两百万,再陪我一晚。她捡起金卡,摸出一毛钱硬币丢在他的脸上,两百万零一毛,给我滚。穷途末路,她说,宁少,缺暖床的吗,两百万暖一晚。宁西洲领证,我的一切都是你的。江青柠无爱的婚姻,我不要。男人开始脱衣服,所以,现在开始爱。可是,有人说我配...

龙娘

龙娘

作者舞独魂灵的经典小说龙娘最新章节全文阅读服务本站更新及时无弹窗广告小说十八年前,我娘顺着黄河流浪到了九星湾,村民都把她当做傻女,将她糊里糊涂的许配给了村里的老光棍。结婚没多久我娘就生下了我,生我当天因难产而死。没有人知道我娘的名字,也没有人知道她怀的到底是谁的孩子。十八年后,我为我娘开坟,在她的棺材里找到一片龙鳞...

绝天玄帝

绝天玄帝

大千世界,道法昌盛,万域强者帝路争锋。一代少年至尊,因天生重瞳而被追杀,自斩修为,涅盘重修!一双重瞳,开阖间天地寂灭一身帝血,镇压大千万族这一世,踏破山河,我为玄帝!...

鬼谷秘闻录

鬼谷秘闻录

千百年来,中国人都有死后留全尸的传统,那些死时缺胳膊少腿,断头断脚的人,下葬前都要找‘二皮匠’给缝上。我从爷爷那里继承了这门手艺,在我缝完第一具尸体的时候,那具尸体居然‘活了’!接着,一场场始料未及的诡异事件接踵而至,死人缝头,妖木封井,雷打冬,鬼请人,剖腹取子...

重生后我把金手指抢回来了

重生后我把金手指抢回来了

下本要写的接档文带着仙府争霸现代求收藏,喜欢的宝宝们可以戳进作者专栏收藏下!下本接档文带着仙府争霸现代点进作者专栏求预收。萦萦死后才知她那渣爹娶那么小妾生那么多娃都是为了给嫡姐陈泠宝匹配药人,陈泠宝自幼生怪病,需全身换血。她的血刚好跟嫡姐匹配上,她那神采秀澈的未婚夫同她定亲也只为哄她心甘情愿给嫡姐做药人。萦萦全身血都被换给嫡姐,被抛尸乱葬岗。  路过的冷漠男人替萦萦收了尸,给了她一口紫檀棺木,将她埋在乱葬岗之下。再醒来已是千年后,萦萦成了陈家走失的傻女儿,看着跟千年前长相一样的渣爹和依旧病弱的嫡姐,萦萦挑眉。陈家生下的痴傻小女儿只为给长女换肾,没想到小女儿突然走失,再找回时,陈家父母怕夜长梦多,哄骗痴傻小女儿按下手印同意手术,没想到小女儿突然开口说话了,不,我拒绝。本文文案姝姝本是国公府嫡女,却被换错做了农户家的女儿。好不容易回到国公府,日子也不好过,定下的未婚夫婿也上门退亲,转而求娶国公府养女。  姝姝无法释怀,处处针对那个和她互换身份如今却还是国公府养女的宋凝君,最后落得个被野兽撕碎的下场。  姝姝死后才知被抢走的羊脂白玉瓶,被抢走的人生,所有的一切,皆是宋凝君所为。  姝姝不甘心,整日飘荡在宋凝君身后想要报仇。看着她勾引那个可怕的变态男人不成,就以国公府做踏板,步步高升,封为县主,嫁给皇子做妃子,生儿育女,幸福美满。而她飘飘荡荡几十载,早已认命,却不知怎么回到玉瓶被夺走那一刻。...

大师风流

大师风流

大道无形,流转于天地间,唯有大毅力,大智慧,大勇气,大决心才能获取。道是法则,道是定律,天地万物自虚空中诞生,于是便有了道。有诸如万有引力光合作用质能转换方程式相对论等等科学之道。有炼气化神,练骨洗髓,修魂壮魄等神学之道。成就一代大师,掌握所有道之本源,超越一切科学神学所有强大的存在之上,神念所及,翻云覆雨,星辰幻灭,虚空生物,方能抵达彼岸。正派修士修魂,入仙,成就天仙之境。邪派修士修魂,成魔,成就魔神之境。武士修魄壮体,成圣,近战中的强者,冲锋陷阵的猛将。修神者,横空出世神魂变虚空生物虚空生道神级大圆满仍然不是最高境界,还要道之大圆满,两者大成,方可开启大师之门。在天为风,在地为水,是为风流古来圣贤皆寂寞,是真名士自风流,且看大师之风流!...

每日热搜小说推荐