Google深度揭秘TPU:一文看懂原理,以及为何碾压GPU
李林 舒石 编译整理
量子位 报道 | 公众号 QbitAI
搜索、街景、照片、翻译,这些Google提供的服务,都使用了Google的TPU(张量处理器)来加速背后的神经网络计算。
△ 在PCB板上的Google首款TPU和部署了TPU的数据中心
去年Google推出TPU并在近期对这一芯片的性能和架构进行了详细的研究。简单的结论是:TPU与同期的CPU和GPU相比,可以提供15-30倍的性能提升,以及30-80倍的效率(性能/瓦特)提升。
这意味着,Google的服务既可以大规模运行于最先进的神经网络,而且可以把成本控制在可接受的程度上。以下的内容,将深入解读Google TPU中的技术,并且讨论如何实现更为出色的性能。
通往TPU之路
早在2006年,Google就在考虑为神经网络构建一个专用集成电路(ASIC)。2013年这个需求变得更加紧迫,当时Google意识到快速增长的计算需求,可能意味着数据中心的数量需要翻番才能满足。
通常而言,ASIC的开发需要耗时数年。但具体到TPU而言,从设计到验证、构建和部署到数据中心里,只需要15个月。
TPU ASIC采用了28nm工艺制造,主频700MHz,功耗40W。为了尽快把TPU部署到现有的服务器中,Google选择把这个芯片打包成外部扩展加速器,然后插到SATA硬盘插槽里使用。所以TPU通过PCIe Gen3 x16总线与主机相连,也就是说12.5GB/s的有效带宽。
用神经网络预测
要说明TPU的设计思路,需要先来简介一下神经网络的计算。
这是一个TensorFlow Playground的例子。用以训练一个神经网络,以标签对数据进行分类,或者对缺失数据进行估计,或者推断未来的数据。对于推断来说,神经网络中的每个神经元都进行如下计算:
输入数据(x)乘以权重(w)以表示信号强度
乘积加总,成为代表神经元状态的唯一值
应用激活函数(f),例如ReLU、Sigmoid等调节神经元
△ 神经网络把输入数据与权重矩阵相乘,并输入激活函数
例如,对于有三个输入数据和两个全连接神经元的单层神经网络而言,需要把输入和权重进行六次相乘,并得出两组乘积之和。这个乘法和加法序列,可以写成一个矩阵乘法,然后通过激活函数进一步处理矩阵的输出。
在更复杂的神经网络架构中,乘法矩阵通常也是计算量最大的部分。
实际业务中需要多少次乘法运算?2016年7月,Google团队调查了实际业务中,六个有代表性的神经网络应用,结果如下表所示:
如上表所示,每个神经网络中的权重数量从500万到1亿不等。每一个预测,都需要许多步的输入数据和权重矩阵相乘,并输入到激活函数中。
总而言之,计算量超大。作为优化的第一步,Google应用了一种称为量化的技术进行整数运算,而不是在CPU或者GPU上对所有数学工作进行32位或者16位浮点运算。这能减少所需的内存容量和计算资源。
神经网络中的量化
通常而言,神经网络的预测不需要32位或16浮点计算精度,通过一些方法,可以用8位整数对神经网络进行预测,并保持适当的准确度。
所谓量化,就是一种使用8位整数来近似预设的最小值和最大值之间任意数值的优化技术。
△ TensorFlow中的量化
量化是降低神经网络预测成本的利器,同时带来的内存减少也很重要,特别是对于移动和嵌入式部署。举个例子,在Inception中应用量化之后,这个图像识别模型能从91MB压缩到23MB,成功瘦身四分之三。
使用整数而不是浮点计算,大大减小了TPU的硬件尺寸和功耗。一个TPU钟包含65,536个8位整数乘法器。云环境中使用的主流GPU,通常包含数千个32位浮点乘法器。只要能用8位满足精度需求,就能带来25倍以上的性能提升。
RISC,CISC和TPU指令集
可编程性是TPU的另一个重要设计目标。TPU不是设计用来运行某一种神经网络,而是要能加速许多不同类型的模型。
大多数当代CPU都采用了精简指令集(RISC)。但Google选择复杂指令集(CISC)作为TPU指令集的基础,这一指令集侧重于运行更复杂的任务。
我们来看看TPU的结构图。
TPU包括以下计算资源:
矩阵乘法单元(MUX):65,536个8位乘法和加法单元,运行矩阵计算
统一缓冲(UB):作为寄存器工作的24MB容量SRAM
激活单元(AU):硬件连接的激活函数
为了控制MUX、UB和AU进行计算,Google定义了十几个专门为神经网络推理而设计的高级指令。以下是五个例子。
简而言之,TPU设计封装了神经网络计算的本质,可以针对各种神经网络模型进行编程。为了编程,Google还创建了一个编译器和软件栈,将来自TensorFlow图的API调用,转化成TPU指令。
△ 从TensorFlow到TPU:软件堆栈
矩阵乘法单元的并行计算
典型的RISC处理器提供简单计算的指令,例如乘法或加法。这些事所谓的标量(Scalar)处理器,因为它们每个指令处理单一运算,即标量运算。
即使主频千兆赫兹的CPU,仍然需要很长时间才能通过一系列标量运算来完成大型矩阵的计算。改进的方法就是矢量(Vector)运算,同时针对多个数据元素执行相同的操作。
GPU的流处理器(SM)就是一种高效的向量处理器,赞单个时钟周期内,可以处理数百到数千次运算。
至于TPU,Google为其设计了MXU作为矩阵处理器,可以在单个时钟周期内处理数十万次运算,也就是矩阵(Matrix)运算。
TPU的核心:脉动阵列
MXU有着与传统CPU、GPU截然不同的架构,称为脉动阵列(systolic array)。之所以叫“脉动”,是因为在这种结构中,数据一波一波地流过芯片,与心脏跳动供血的方式类似。
如图所示,CPU和GPU在每次运算中都需要从多个寄存器(register)中进行存取;而TPU的脉动阵列将多个运算逻辑单元(ALU)串联在一起,复用从一个寄存器中读取的结果。
MXU中的权值阵列专门为矩阵乘法运算进行了优化,并不适用于通用计算。
△ 脉动阵列中,输入向量与权值矩阵相乘
△ 脉动阵列中,输入矩阵与权值矩阵相乘
MXU的脉动阵列包含256 × 256 = 65,536个ALU,也就是说TPU每个周期可以处理65,536次8位整数的乘法和加法。
TPU以700兆赫兹的功率运行,也就是说,它每秒可以运行65,536 × 700,000,000 = 46 × 1012次乘法和加法运算,或每秒92万亿(92 × 1012)次矩阵单元中的运算。
△ TPU中的MXU
我们对CPU、GPU和TPU的每周期算术运算量进行一下对比:
每周期运算量CPU数个CPU (向量扩展)数十GPU数万TPU数十万这种基于复杂指令集计算(CISC)的矩阵运算设计,实现了出色的性能功耗比:TPU的性能功耗比,比同时期的CPU强83倍,比同时期的GPU强29倍。
极简&确定性的设计
极简 这一点,在Google之前发布的TPU论文第8页提到过。与CPU和GPU相比,单用途的TPU就是一个单线程芯片,不需要考虑缓存、分支预测、多道处理等问题。
TPU的设计之简洁,从冲模平面图上就能看出来:
△ 黄色代表运算单元;蓝色是数据单元;绿色是I/O,红色是控制逻辑单元。
与CPU和GPU相比,TPU的控制单元更小,更容易设计,面积只占了整个冲模的2%,给片上存储器和运算单元留下了更大的空间。而且,TPU的大小只有其他芯片的一半。硅片越小,成本越低,良品率也越高。
而确定性 ,是单用途带来的另一个优势。CPU和GPU需要考虑各种任务上的性能优化,因此会有越来越复杂的机制,带来的副作用就是这些处理器的行为非常难以预测。
而用TPU,我们能轻易预测运行一个神经网络、得出预测,需要多长时间,这样,我们能让芯片以吞吐量接近峰值的状态运行,同时严格控制延迟。
以上面提到的MLP0为例,在同样将延迟控制在7毫秒之内的情况下,TPU的吞吐量是CPU和GPU的15到30倍。
△ 各种处理器上每秒可运行的MLP0预测
下面,是TPU、CPU、GPU在六种神经网络上的性能对比。在CNN1上,TPU性能最为惊人,达到了CPU的71倍。
总结
如上文所述,TPU性能强劲的秘诀,是因为它专注于神经网络推断。这使得量化选择、CISC指令集、矩阵处理器和最小设计都成为可能。
神经网络正推动计算模式的转变,Google预计未来几年中,TPU将成为快速、智能和价格实惠的重要芯片。
原文发布于Google云
作者:
谷歌云 Kaz Sato, Staff Developer Advocate
谷歌大脑软件工程师Cliff Young, Software Engineer
谷歌大脑杰出工程师David Patterson
【完】
招聘
量子位正在招募编辑记者、运营、产品等岗位,工作地点在北京中关村。相关细节,请在公众号对话界面,回复:“招聘”。
One More Thing…
今天AI界还有哪些事值得关注?在量子位(QbitAI)公众号对话界面回复“今天”,看我们全网搜罗的AI行业和研究动态。笔芯~
中国智造”新飞跃:世界首颗TPU芯片横空出世
突破!世界首颗TPU研发成功:中国科技迎来大爆发
近期,一项震惊全球的科技成果横空出世——中国科学家成功研发出世界首颗TPU(Tensor Processing Unit,张量处理器芯片),这一里程碑式的突破不仅标志着中国在AI芯片领域的巨大飞跃,也预示着中国科技即将迎来一场前所未有的大爆发。
一、TPU:AI时代的核心驱动力
TPU,作为专为AI计算设计的高性能处理器,自问世以来便以其强大的数据处理能力和高效的能效比受到业界的广泛关注。它能够在极短的时间内完成复杂的神经网络运算,为AI技术的发展提供了强有力的算力支持。随着AI技术的不断普及和应用领域的不断拓展,TPU的重要性日益凸显,成为推动AI时代进步的核心驱动力。
二、中国突破:世界首颗TPU的诞生
长期以来,全球TPU市场一直由少数几家国际巨头主导。然而,这一格局在近期被彻底打破。中国科学家经过夜以继日的努力,终于成功研发出世界首颗TPU芯片。这款芯片不仅在性能上达到了国际领先水平,更在能效比、稳定性等方面实现了重大突破。它的诞生不仅填补了中国在TPU领域的空白,更为全球TPU技术的发展树立了新的标杆。
三、技术亮点:碳纳米管与前沿设计的完美结合
这款世界首颗TPU芯片之所以能够在众多竞争者中脱颖而出,关键在于其独特的技术亮点。据悉,该芯片采用了先进的碳纳米管材料作为核心组件,这种材料以其极高的导电性和出色的机械性能在半导体领域备受瞩目。通过将碳纳米管与前沿的芯片设计技术相结合,这款TPU芯片在算力、能效比以及稳定性等方面均实现了质的飞跃。它不仅能够在极短的时间内完成复杂的神经网络运算,还能在保持高效能的同时大幅降低能耗,为AI应用的普及和发展提供了坚实的支撑。
四、市场反响:老外惊呼“中国科技大爆发”
中国首颗TPU芯片的成功研发迅速引起了全球科技界的广泛关注。许多国际知名企业和科研机构纷纷表示祝贺和赞赏,认为这一成果将对中国乃至全球的AI产业发展产生深远影响。一些国外媒体更是直言不讳地表示:“中国科技将迎来大爆发!”他们认为,这款TPU芯片的成功研发不仅展示了中国在AI芯片领域的强大实力,更预示着中国在全球科技竞争中将扮演更加重要的角色。
五、产业应用:推动AI技术普及与产业升级
随着这款TPU芯片的成功研发,其产业应用前景也备受瞩目。据悉,该芯片已被广泛应用于AI训练、推理、图像处理、自然语言处理等多个领域,为众多企业和研究机构提供了强大的算力支持。同时,基于这款TPU芯片的AI解决方案也层出不穷,为各行各业的智能化转型提供了有力支持。可以预见的是,随着这款TPU芯片的进一步推广和应用,AI技术将更加普及和深入地渗透到我们的生活中,推动各行各业的产业升级和转型。
六、展望未来:中国科技的无限可能
中国首颗TPU芯片的成功研发不仅是中国科技实力的有力证明,更是中国科技创新精神的生动体现。它让我们看到了中国科技在AI芯片领域的巨大潜力和无限可能。展望未来,我们有理由相信,在中国政府的大力支持和科研人员的共同努力下,中国将在AI技术、芯片技术等多个领域取得更多突破性成果,为全球科技进步和产业发展贡献更多中国智慧和力量。
七、我的观点:科技创新引领未来
面对中国首颗TPU芯片的成功研发以及由此引发的全球科技界的高度关注,我深感自豪和振奋。这不仅是中国科技实力的体现,更是中国科技创新精神的彰显。在我看来,科技创新是推动社会进步和经济发展的核心动力。只有不断追求创新、勇于突破传统束缚,才能在激烈的国际竞争中立于不败之地。同时,我也希望中国能够继续加大对科技创新的投入和支持力度,为科研人员提供更加广阔的舞台和更加优越的条件,让科技创新的火花在中国这片热土上绽放出更加耀眼的光芒。
相关问答
tpu 哪家公司 芯片 ?tpu是Google公司芯片。Google公司在2016年5月I/O开发者大会上首次公布了自己开发的一款名为TensorProcessingUnits(简称TPU)的专用芯片。这种芯片是用于提....
tpu 主板和epu分别指的是什么?_其他问答_系统粉MA:代表ATIchipset芯片组G:集成显卡M:指版型,即MicroATX,如果是ATX,就省略掉这个字母U:主板两盎司铜D:主板全固态电容S:技嘉的5个技术的优化...
主板上有个 TPU 的小开关有什么用?TPU(TensorProcessingUnit)是一种特殊的处理器,专门用于深度学习和人工智能计算任务。如果您在主板上发现一个标有TPU的小开关,那么这可能是用来控制或启用...
华硕华硕主板 TPU 开关是干嘛的? - ?.吉吉.? 的回答 - 懂得华硕TPU可让您手动调整CPU频率、CPU核心频率、DRAM频率,以及相关的电压来增强系统的稳定性并提升性能表现。在调整CPU电压设置之前,请先参考CPU说明...
mpu与 tpu 的区别?mpu有两种意思,微处理器和内存保护单元。MPU是单一的一颗芯片,而芯片组则由一组芯片所构成,早期甚至多达7、8颗,但大多合并成2颗,一般称作北桥(NorthBridg...
全球的AI 芯片 公司哪家比较好?对此,我们根据众AI公司所取得的里程碑事件(包括融资轮次、产品发布或者性能记录),罗列了今年最热门的这10家AI芯片初创公司:1、BlaizeCEO:DinakarMunaga...Gra...
TPU 为什么能取代GPU成为深度学习的首选处理器?很多读者可能分不清楚CPU、GPU和TPU之间的区别,因此GoogleCloud将在这篇博客中简要介绍它们之间的区别,并讨论为什么TPU能加速深度学习。张量处理单...
第三代 芯片 是哪个国家的?英国。据CNBC报道,在2018年开发者大会上,谷歌宣布其已经开发出第三代人工智能(AI)芯片。新的张量处理单元(TPU)将帮助谷歌改进使用AI的应用程序,包括在音...
谷歌新推出的Coral子品牌,提供了哪些AI开发工具与资源?售...据悉,这些工具主要面向社区开发者,且冠上了“GoogleCoral”的品牌名称。其中包括一款售价149.99美元(1006RMB)的开发板、74.99美元(503RMB)的US...
muc 是汽车 芯片 吗?muc是汽车芯片。智能驾驶域控制器,你可以简单地把智能驾驶域控制器理解为智能驾驶汽车的大脑。它主要负责对感知到的信息进行融合、识别、分类,然后对车辆进...