看书中文网

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

附录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  重生:影后夫妇疯狂撒狗粮  面对秋阳  穿越梦境  世家三代录  盗墓笔记之尘封的记忆  前妻别跑:偏执慕总放肆宠  重生年代:胖厨娘的红火小日子  凰谋天下  天才萌宝:爹地超宠妻  

热门小说推荐
霍霍,惹到大BOSS了 霍靖宇奚小素

霍霍,惹到大BOSS了 霍靖宇奚小素

霍霍,惹到大BOSS了免费阅读,霍霍,惹到大BOSS了小说主角霍靖宇奚小素,小说霍霍,惹到大BOSS了全文简介原以为只是睡了一个牛郎,不曾想睡的是个霸道总裁。看到霍靖宇含着冰霜的脸,奚小素想光脚不怕穿鞋的,自从妈妈过世,爸爸被心机婊后妈,白莲花妹妹抢走了,她也被赶出家门,现在就光棍一个。她不仅敢...

黑水尸棺

黑水尸棺

师父曾说过,我是阳灵子转世,命理不合四柱,命格不入五行,能活到现在,全靠本命中的一股精纯阳气。回想一下我早年的经历,也的确是凶险与艰辛并存。六岁被怨灵缠身,七岁被飞僵索命聊完了左有道和寄魂庄,咱们再来聊聊渤海老世家的那些事吧。老书完结,新书幽冥通宝开张,咱们还是老规矩,找个僻静的小地方,喝着茶,吃着瓜子点心,听我慢慢聊。...

总裁前妻很抢手

总裁前妻很抢手

两年来,深爱的丈夫态度冷漠,绯闻漫天,却从不碰她,她默默忍受,直到有一天他说别的女人怀了他的孩子。心痛买醉,却不想和全城女人心中的钻石级单身汉凌司夜纠缠在了一起,自此她的生活发生了翻天覆地的改变,当她沦陷时,却发现他接近她早有目的四年后,她在一场宴会中和凌司夜相遇,她身边多了一个奶娃娃,他身边也有了一个娇...

高达之我的星空

高达之我的星空

一个少年穿越到了SEED的世界中,成为了阿斯兰的弟弟,开始他在SEED中YY的生活,美丽的歌姬,成熟的御姐,纯洁的萝莉,他身边围绕着一个个的女性,把动漫的主角踩在脚下,一段香艳的SEED猎艳之旅。—业余时间YY之作,本人另有作品,更新时间不固定...

每日热搜小说推荐