一文搞懂 CPU、GPU 和 TPU.doc

一文搞懂 CPU、GPU 和 TPU.doc

ID:27820277

大小:3.68 MB

页数:6页

时间:2018-12-06

一文搞懂 CPU、GPU 和 TPU.doc_第1页
一文搞懂 CPU、GPU 和 TPU.doc_第2页
一文搞懂 CPU、GPU 和 TPU.doc_第3页
一文搞懂 CPU、GPU 和 TPU.doc_第4页
一文搞懂 CPU、GPU 和 TPU.doc_第5页
资源描述:

《一文搞懂 CPU、GPU 和 TPU.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、一文搞懂CPU、GPU和TPU  张量处理单元(TPU)是一种定制化的ASIC芯片,它由谷歌从头设计,并专门用于机器学习工作负载。TPU为谷歌的主要产品提供了计算支持,包括翻译、照片、搜索助理和Gmail等。  在本文中,我们将关注TPU某些特定的属性。    神经网络如何运算  在我们对比CPU、GPU和TPU之前,我们可以先了解到底机器学习或神经网络需要什么样的计算。如下所示,假设我们使用单层神经网络识别手写数字。    如果图像为28×28像素的灰度图,那么它可以转化为包含784个元素的向量。神经元会接收所有784个值,并将它们与参数值(上图

2、红线)相乘,因此才能识别为「8」。其中参数值的作用类似于用「滤波器」从数据中抽取特征,因而能计算输入图像与「8」之间的相似性:    这是对神经网络做数据分类最基础的解释,即将数据与对应的参数相乘(上图两种颜色的点),并将它们加在一起(上图右侧收集计算结果)。如果我们能得到最高的预测值,那么我们会发现输入数据与对应参数非常匹配,这也就最可能是正确的答案。  简单而言,神经网络在数据和参数之间需要执行大量的乘法和加法。我们通常会将这些乘法与加法组合为矩阵运算,这在我们大学的线性代数中会提到。所以关键点是我们该如何快速执行大型矩阵运算,同时还需要更小的能耗。  C

3、PU如何运行  因此CPU如何来执行这样的大型矩阵运算任务呢?一般CPU是基于冯诺依曼架构的通用处理器,这意味着CPU与软件和内存的运行方式如下:    图:CPU如何运行  CPU最大的优势是灵活性。通过冯诺依曼架构,我们可以为数百万的不同应用加载任何软件。我们可以使用CPU处理文字、控制火箭引擎、执行银行交易或者使用神经网络分类图像。  但是,由于CPU非常灵活,硬件无法一直了解下一个计算是什么,直到它读取了软件的下一个指令。CPU必须在内部将每次计算的结果保存到内存中(也被称为寄存器或L1缓存)。内存访问成为CPU架构的不足,被称为冯诺依曼瓶颈。  虽然

4、神经网络的大规模运算中的每一步都是完全可预测的,每一个CPU的算术逻辑单元(ALU,控制乘法器和加法器的组件)都只能一个接一个地执行它们,每一次都需要访问内存,限制了总体吞吐量,并需要大量的能耗。  GPU如何工作  为了获得比CPU更高的吞吐量,GPU使用一种简单的策略:在单个处理器中使用成千上万个ALU。现代GPU通常在单个处理器中拥有2500-5000个ALU,意味着你可以同时执行数千次乘法和加法运算。    图:GPU如何工作  这种GPU架构在有大量并行化的应用中工作得很好,例如在神经网络中的矩阵乘法。实际上,相比CPU,GPU在深度学习的典型训练工

5、作负载中能实现高几个数量级的吞吐量。这正是为什么GPU是深度学习中最受欢迎的处理器架构。  但是,GPU仍然是一种通用的处理器,必须支持几百万种不同的应用和软件。这又把我们带回到了基础的问题,冯诺依曼瓶颈。在每次几千个ALU的计算中,GPU都需要访问寄存器或共享内存来读取和保存中间计算结果。  因为GPU在其ALU上执行更多的并行计算,它也会成比例地耗费更多的能量来访问内存,同时也因为复杂的线路而增加GPU的物理空间占用。  TPU如何工作  当谷歌设计TPU的时候,我们构建了一种领域特定的架构。这意味着,我们没有设计一种通用的处理器,而是专用于神经网络工作负

6、载的矩阵处理器。  TPU不能运行文本处理软件、控制火箭引擎或执行银行业务,但它们可以为神经网络处理大量的乘法和加法运算,同时TPU的速度非常快、能耗非常小且物理空间占用也更小。  其主要助因是对冯诺依曼瓶颈的大幅度简化。因为该处理器的主要任务是矩阵处理,TPU的硬件设计者知道该运算过程的每个步骤。因此他们放置了成千上万的乘法器和加法器并将它们直接连接起来,以构建那些运算符的物理矩阵。  这被称作脉动阵列(SystolicArray)架构。在CloudTPUv2的例子中,有两个128X128的脉动阵列,在单个处理器中集成了32768个ALU的16位浮点值。  

7、我们来看看一个脉动阵列如何执行神经网络计算。首先,TPU从内存加载参数到乘法器和加法器的矩阵中。    图:TPU如何工作  然后,TPU从内存加载数据。当每个乘法被执行后,其结果将被传递到下一个乘法器,同时执行加法。因此结果将是所有数据和参数乘积的和。在大量计算和数据传递的整个过程中,不需要执行任何的内存访问。  这就是为什么TPU可以在神经网络运算上达到高计算吞吐量,同时能耗和物理空间都很小。  因此使用TPU架构的好处就是:成本降低至1/5。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。