首页 » 互联网 » Google深度揭秘TPU:一文看懂事理以及为何碾压GPU_神经收集_矩阵

Google深度揭秘TPU:一文看懂事理以及为何碾压GPU_神经收集_矩阵

雨夜梧桐 2024-10-31 12:14:31 0

扫一扫用手机浏览

文章目录 [+]

量子位 宣布 | "大众号 QbitAI

搜索、街景、照片、翻译,这些Google供应的做事,都利用了Google的TPU(张量处理器)来加速背后的神经网络打算。

Google深度揭秘TPU:一文看懂事理以及为何碾压GPU_神经收集_矩阵 Google深度揭秘TPU:一文看懂事理以及为何碾压GPU_神经收集_矩阵 互联网

△ 在PCB板上的Google首款TPU和支配了TPU的数据中央

Google深度揭秘TPU:一文看懂事理以及为何碾压GPU_神经收集_矩阵 Google深度揭秘TPU:一文看懂事理以及为何碾压GPU_神经收集_矩阵 互联网
(图片来自网络侵删)

去年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行业和研究动态。
笔芯~

相关文章

号角语言,唤醒时代的共鸣之声

在历史的长河中,号角声是战争与和平的见证者,是信念与勇气的象征。随着时代的变迁,号角语言逐渐从战场上的号令演变为一种独特的沟通方式...

互联网 2025-01-04 阅读0 评论0

吃鸡游戏背后的文化现象与教育启示

随着科技的飞速发展,网络游戏的普及程度越来越高,其中以《绝地求生》(俗称“吃鸡”)为代表的游戏更是受到了广大玩家的喜爱。这款游戏不...

互联网 2025-01-04 阅读0 评论0

四次分手协议,情感纠葛中的理智与成长

在情感的世界里,每一次的分手都是一次深刻的体验。而当我们面临四次分手时,如何从中汲取教训,实现自我成长,便成为了一个值得深思的问题...

互联网 2025-01-04 阅读0 评论0