囊括围棋界、开辟云端造芯谷歌TPU到底有多强?_芯片_云端
智东西(公众年夜众号:zhidxcom)文 | 韦世玮
间隔2016年那场天下著名的人机大战——AlphaGo对战李世石已经由去了四年。
短短四年间,全体科技圈宛如换了一方天地。
那一年,AlphaGo以4:1总分打败围棋天下冠军李世石,随后独战群雄,在与排名天下第一围棋的冠军柯洁对降服利后宣告“隐退”,但其背后的那块芯片却开启了芯片家当的新篇章。
正是这翻天覆地的四年,AI芯片领域——尤其是云端AI芯片的市场规模一起平步青云,成为一众芯片巨子和新势力虎视眈眈之地。
据赛迪顾问在2019年8月发布的《中国人工智能芯片家当发展白皮书》,2018年环球云端AI芯片市场规模为62.1亿美元(约427.5亿公民币),估量这一数值将在2021年达到221.5亿美元(约1524.7亿公民币),巨大的市场将如火山爆发般呈现活着人面前。
在这片浩淼蓝海中,有一个角色则起到了划时期的主要意义,它便是谷歌TPU(Tensor Processing Unit,张量处理单元)。
自打与李世石、柯洁,以及中日韩数十位围棋高手的围棋对战中脱颖而出后,谷歌TPU曾一起狂飙突进,现在已演进到了第三代。它的涌现,无疑冲破了GPU曾一度称霸神经网络推理和演习市场的局势。
虽然,在2019年5月的谷歌I/O开拓者大会上,万众瞩目的第四代TPU却意外缺席,取而代之的因此1000个TPUv3组成的TPUv3 Pod,以及边缘AI芯片Edge TPU。即便如此,它仍通过一定程度的对外开放,以及赞助谷歌内部做事器运用深刻地影响着云端AI芯片市场。
但从市场角度看,未来云端AI芯片巨大的发展潜力和市场机遇为谷歌TPU供应了肥沃的土壤;另一方面,紧迫的算力瓶颈和摩尔定律放缓等问题也越来越难以忽略。
这次,我们通过起底谷歌TPU的发展史,探究它是如何从最初的机器学习推理运用,发展为如今覆盖云端至边缘真个TPU生态?它的出身为云端AI芯片市场带来了哪些主要变革?
一、始于算力瓶颈,首秀人类围棋界作甚TPU?
大略地说,它是谷歌在2015年6月的I/O开拓者大会上推出的打算神经网络专用芯片,为优化自身的TensorFlow机器学习框架而打造,紧张用于AlphaGo系统,以及谷歌舆图、谷歌相册和谷歌翻译等运用中,进行搜索、图像、语音等模型和技能的处理。
差异于GPU,谷歌TPU是一种ASIC芯片方案。ASIC全称为Application-Specific Integrated Circuit(运用型专用集成电路),是一种专为某种特定运用需求而定制的芯片。但一样平常来说,ASIC芯片的开拓不仅须要花费数年的韶光,且研发本钱也极高。
对付数据中央机房中AI事情负载的高算力需求,许多厂商更乐意连续采取现有的GPU集群或GPU+CPU异构打算办理方案,也甚少在ASIC领域冒险。
那么,谷歌为何执意要开拓一款ASIC架构的TPU?
实际上,谷歌在2006年起就产生了要为神经网络研发一款专用芯片的想法,而这一需求在2013年也开始变得愈发急迫。当时,谷歌供应的谷歌图像搜索、谷歌照片、谷歌云视觉API、谷歌翻译等多种产品和做事,都须要用到深度神经网络。
在弘大的运用规模下,谷歌内部意识到,这些夜以继日运行的数百万台做事器,它们内部快速增长的打算需求,使得数据中央的数量须要再翻一倍才能得到知足。然而,不管是从本钱还是从算力上看,内部中央已不能大略地依赖GPU和CPU来坚持。
在各类成分的推动下,不差钱的谷歌正式开始了TPU的研发之旅。
经由研发职员15个月的设计、验证和构建,TPU在2014年正式研发完成,并率先支配在谷歌内部的数据中央。
除了在内部秘密运行了一年外,谷歌TPU还在围棋界“大杀四方”,斩下一个个“人机大战”的神话。
据理解,在利用TPU之前,AlphaGo曾内置1202个CPU和176个GPU击败欧洲冠军范惠。直到2015年与李世石对战时,AlphaGo才开始利用TPU,而当时支配的TPU数量,只有48个。
这场对降服利的“秘密武器”也在一年后的谷歌I/O开拓者大会上被揭开神秘面纱,TPU正式面世。
二、谷歌TPU的迭代、上云、发力终端
在面世后的短短两年,谷歌TPU已经迭代到了第三代,性能亦不断跃升。与此同时,随着研发的投入和广泛运用,谷歌也逐步推出可扩展云端超级打算机TPU Pod,以及Edge TPU。
1、2016年:第一代TPU
虽是为神经网络而研发,但谷歌最初的第一代TPU仅用于深度学习推理。
从性能上看,第一代谷歌TPU采取了28nm工艺制造,功耗约为40W,主频700MHz。
研发之初,由于谷歌须要尽快将TPU支配到内部现有的做事器中,因此研发职员选择将处理器打包成外部加速卡,以插入SATA硬盘插槽后进行嵌入式安装。
同时,TPU通过PCIe Gen3 x16总线连接到主机,实现了12.5GB/s的有效带宽。
除了在AlphaGo上运用之外,谷歌第一代TPU还用于谷歌的搜索、翻译和相册等运用的机器学习模型中。
▲Google第一代TPU(左),在谷歌数据中央中支配的TPU(右)
2、2017年:第二代TPU,引入Google Cloud
历经一年的更新、研发和迭代,谷歌在2017年5月发布了第二代TPU,并从这一代起能够用于机器学习模型的演习和推理。
与第一代比较,第二代TPU能够实现180TFLOPs浮点运算的打算能力,同时其高带宽内存(HBM)也提升到了64GB,办理了第一代TPU内存受带脱期制的问题。
在运行AI事情负载上,谷歌第二代TPU与同期的CPU、GPU比较,性能比传统的GPU高了15倍,比CPU高了30倍,每瓦性能亦提高了30至80倍。
也是从第二代TPU起,谷歌第二代TPU引入Google Cloud,运用在谷歌打算引擎(Google Compute Engine ,简称GCE)中,也称为Cloud TPU,进一步优化谷歌搜索引擎、Gmail、YouTube和其他做事的运行。
与此同时,Cloud TPU通过TensorFlow进行编程,并与CPU、GPU及根本举动步伐和做事结合,以根据用户运用需求构建和优化机器学习系统。
同时,随着谷歌第二代TPU的发布,新一轮的人机大战也再次揭开序幕。而这一代AlphaGo的芯片配置,仅用了4块TPUv2,便击败当时的天下围棋冠军柯洁。
实际上,谷歌除了推出第二代TPU外,还宣告操持研发可扩展云端超级打算机TPU Pods,通过新的打算机网络将64块Cloud TPU相结合,能够供应约11500万亿次浮点运算能力。
3、2018年:第三代TPU,边缘AI芯片Edge TPU
同样的研发节奏,2018年5月,谷歌不出意外地发布了第三代TPU,其各方面性能不仅实现了升级,也进一步扩展到更广泛的深度学习演习和推理领域。
谷歌表示,第三代TPU的性能均是第二代TPU的两倍,可实现420TFLOPs浮点运算,以及128GB的高带宽内存。同时,它还可支配在基于云打算的超级打算机TPU Pod中,个中的芯片数量是上一代的四倍。
与第二代TPU Pod的支配比较,第三代每个Pod的性能提高了8倍,且每个Pod最多拥有1024个芯片。
谷歌在2018年还发布了用于边缘推理的微型AI加速芯片——Edge TPU,专为企业机器学习任务而设计,用于IoT设备中。
Edge TPU同样是一款ASIC芯片。从运用上看,它与Cloud TPU相互补,用户能够先利用Cloud TPU对机器学习模型进行加速演习,再将演习好的模型放入干系设备中,进一步用Edge TPU进行机器学习推理。
据理解,Edge TPU能够让IoT设备以每秒30帧以上的速率,在高分辨率***上运行多个前辈的打算机视觉模型。
同时,谷歌还为Edge TPU推出了一套名为Cloud IoT Edge的软件平台,该平台拥有Edge IoT Core和Edge ML两大紧张组件,能够帮助用户将在Google Cloud上构建和演习的机器学习模型,通过Edge TPU扩展到边缘设备中运行。
4、2019年:第二/三代TPU Pod
虽然这一年谷歌并未发布第四代TPU,却上演了另一个重头戏——发布第二代和第三代TPU Pod,可以配置超过1000颗TPU。
作为TPU的“升级版”,谷歌第二代TPU Pod能够容纳512个内核,实现每秒11.5千万亿次浮点运算;第三代TPU Pod速率则更快,可实现每秒超过100千万亿次浮点运算。
据悉,在相同配置(265块TPU)下演习ResNet-50模型时,第二代TPU Pod须要11.3分钟,而第三代TPU Pod只需7.1分钟。
三、架构创新,掀起云端造芯大浪潮
谷歌TPU系列的涌现,不仅打破了最初深度学习硬件实行的瓶颈,还在一定程度上撼动了英伟达、英特尔等传统GPU芯片巨子的地位。
自2015年以来,与AI芯片干系的研发逐渐成为全体芯片行业的热点,在云真个深度学习演习和推理领域,已然不是GPU——尤其是英伟达的独霸一方。
而谷歌TPU的出身,也让越来越多的公司前赴后继地考试测验设计GPU之外的专用AI芯片,以进一步实现更高效的性能。
从技能层面看,谷歌TPU的涌如今架构创新上也为行业带来了几点思考[1]:
1、大规模片上内存
在谷歌看来,片外内存低是GPU能效比低的紧张缘故原由。
一些GPU由于片上内存较少,因此在运行过程中须要不断地去访问片外动态随机存取存储器(DRAM),从而在一定程度上摧残浪费蹂躏了不必要的能耗。
因此,谷歌在最初设计TPU时,统共设计了占总芯片面积37%的内存,个中包括24MB的局部内存、6MB的累加器内存,以及用于与主控处理器对接的内存。
2、用量化技能进行整数运算
一样平常来说,神经网络的预测并不须要32位或16位的浮点打算精度,因此它可以通过8位低精度运算的方法,在担保适当准确度的同时,对神经网络进行预测。
通过量化技能,神经网络预测的本钱大大减少,并相应减少了内存的利用。例如,当研发职员将量化运用于盛行的图像识别模型Inception时,芯片内存从91MB压缩到了23MB,约为其原始大小的四分之一。
3、可编程性
虽然谷歌TPU是ASIC芯片,但却与FPGA又有些类似,它具备一定的可编程性能力。
在谷歌看来,TPU的研发并非只用于运行一种神经网络模型。因此,谷歌选择采取了繁芜指令集(CISC)作为TPU指令集的根本,能够较为侧重地运行更繁芜的任务。
谷歌还定义了十二个专门为神经网络推理而设计的高等指令,能够在输入数据和权重之间实行矩阵乘法,并运用激活函数。
为了能进一步对TPU进行编程,谷歌还创建了一个编译器和软件堆栈,能够调用TensorFlow图中的API,转化成TPU指令。
4、并行打算
谷歌为TPU设计了矩阵乘法单元(MXU)的并行打算。
它能够在一个时钟周期内处理数十万次矩阵运算,相称于一次打印一个字符、一次打印一行字或一次打印一页文档。
5、脉动阵列设计
MXU具有与传统CPU和GPU截然不同的架构,又称为脉动阵列(systolic array)。
脉动阵列使得在每次运算过程中,谷歌TPU能够将多个运算逻辑单元(ALU)串联在一起,并复用从一个寄存器中都取得结果。
这种设计,不仅能够将数据复用实现最大化,减少芯片在运算过程中的内存访问次数,同时也降落了内存带宽压力,进而降落内存访问的能耗。
▲TPU的矩阵乘法器单元(MXU)
谷歌TPU的一鸣惊人,不仅为AI芯片领域带来了架构创新,同时亚马逊、微软等一众科技巨子,以及寒武纪、天数智芯等新势力亦开始纷纭入局,势要在云端AI芯片市场中抢占地盘,逐渐掀起行业云端造芯大浪潮。
结语:加速云端AI芯片市场的发展从CPU到GPU,再到如今ASIC和FPGA相继入局,云端AI芯片市场的百花齐放,与谷歌TPU的努力息息相关。
如今,云端AI芯片市场依然杀得热火朝天,前有赛灵思和寒武纪等新老势力不断崛起,进一步蚕食非GPU领域的市场,后有科技巨子四处找寻机会“大鱼吃小鱼”,合并有潜力的新玩家,整片市场呈一派盘据混战之势。
但不容忽略的是,随着云端AI芯片的不断发展,大数据持续爆发,以及摩尔定律逐渐放缓,算力也再次来到了新的瓶颈。
届时,这些玩家是通过前辈制程再次撕开云端AI芯片的新技能领域,还是依赖研发创新架构来实现算力的飞跃,不管走向哪条路都需直面各类寻衅。
转头看,在AI芯片市场开辟之初,谷歌凭借TPU逐渐打开云端AI芯片市场新的竞争格局,但当云端AI芯片开始进入新时期,谷歌TPU能否再次延续过往辉煌,为市场开辟新的方向和思路?我们拭目以待。
[1]文章干系内容参考:Google Blog等。
感谢阅读。点击关注上船,带你浪在科技前沿~
本文系作者个人观点,不代表本站立场,转载请注明出处!