似懂非懂Google TPU

谷歌的这款芯片被称作 Tensor Processing Unit,简称 TPU,是Google专门为深度学习定制的芯片。

第一次出现是在2016年的Google I/O大会上,最近在体系结构顶级会议 ISCA 2017 上面,描述 TPU 的论文被评为最佳论文,让TPU又火了一把。

大家可以去搜索下论文:

In-Datacenter Performance Analysis of a Tensor Processing Unit™

一、我看了下,似懂非懂,论文要点总结如下:

• TPU不适合训练,适合做推断,TPU是一种ASIC,先用GPU训练神经网络,再用TPU做推断。

• TPU没有与CPU密切整合,而是设计成了一个PCIe I/O总线上的协处理器,可以像GPU一样插到现有的服务器上。

• 在推断任务中,TPU平均比英伟达的Tesla K80 GPU或英特尔至强E5-2699 v3 CPU速度快15至30倍左右。

• 一个TPU的MAC是Tesla K80的25倍,片上内存容量达到K80的3.5倍,而且体积更小。

• TPU的功耗效率(performance/Watt, 每耗电1瓦的性能)比GPU和CPU高出30至80倍。

• 如果对TPU进行优化,给它和K80一样大的内存,他的速度能比GPU和CPU高30-50倍,公好效率高70-200倍。

• 以上数据,都是Google基于自己公司的标准测试得出的。

• 一作Jouppi说,Google曾经考虑过像微软一样用FPGA,因为开发起来更快更灵活,但是测试后发现速度提升不够。

总结起来,就是为深度学习定制的ASCI芯片,要比FPGA/CPU/GPU做推断的时候都要快,能耗低。

二、快的原因是啥呢,关键是采用脉动阵列机架构:

The Next Platform 评论称,TPU 并不复杂,看上去更像是雷达应用的信号处理引擎,而不是标准的 X86 衍生架构。Jouppi说,虽然 TPU 有很多矩阵乘法单元,但 TPU 比“GPU 在思路上更接近浮点单元协处理器”,TPU 没有任何存储程序,仅执行从主机发送的指令。

由于要获取大量的权重并将这些权重送到矩阵乘法单元,TPU 上的 DRAM 是作为一个独立的单元并行运行。同时,矩阵乘法单元通过减少统一缓冲区的读写降低能耗,也就是进行所谓的“脉动运行”(systolic execution)。

TPU 有两个内存,还有一个用于存储模型中参数的外部 DRAM。参数进来以后,从矩阵乘法单元的上层开始加载。同时,可以从左边加载激活,也就是“神经元”的输出。这些都以“systolic”脉动的方式进入矩阵单元,然后进行矩阵相乘,每个周期可以做 64,000 次累积。

三、再来看看什么是脉动阵列计算机:

脉动阵列计算机(systolic array computers),一种阵列结构的计算机。脉动意即其工作方式和过程犹如人体血液循环系统的工作方式和过程。

在这种阵列结构中,数据按预先确定的“流水”方式在阵列的处理单元间有节奏地“流动”。在数据流动的过程中,所有的处理单元同时并行地对流经它的数据进行处理,因而它可以达到很高的并行处理速度。同时,预先确定的数据流动模式使数据从流进处理单元阵列到流出处理单元阵列的过程中完成所有对它应做的处理,无需再重新输入这些数据 ,且只有阵列的“边界”处理单元与外界进行通信 ,由此实现在不增加阵列机输入、输出速率的条件下,提高阵列机的处理速度。由于阵列和处理单元的结构简单、规则一致 ,可达到很高的模块化程度,非常适合超大规模集成电路的设计和制造。计算任务一般分为以计算为主和以输入、输出为主两类。前者指任务的计算操作次数大于该任务的输入、输出次数;后者指任务的计算操作次数小于该任务的输入、输出次数。由于脉动阵列结构与它所处理的算法密切相关,所以说,脉动阵列结构是一种适于专用的,以计算为主应用的结构。

四、总结起来,Google的思路很有意思,相当于给深度学习的推断定制计算,取得很好的效果,不过同时也意味着通用性会相对差一些。

原文发布于微信公众号 - 大数据和云计算技术(jiezhu2007)

原文发表时间:2017-04-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器之心

业界 | 百度人机交互新研究:仅用少量样本生成高质量多说话者语音

2835
来自专栏PPV课数据科学社区

DeepRack深度学习一体机要逆天了?

深度学习(Deep Learning)在这两年风靡全球,大数据和高性能计算平台的推动作用功不可没,绝对算得上是深度学习的“燃料”和“引擎”,而GPU(图形处理器...

4278
来自专栏大数据挖掘DT机器学习

PageRank算法(2):PageRank原理剖析

一、PageRank算法的简单举例 Google PageRank算法的思想精华在于:将一个网页级别/重要性的排序问题转化成了一个公共参与、以群体民主投票的方式...

7046
来自专栏智能计算时代

机器学习与文本分析

image.png 原文作者:微软研究院杰出科学家Ashok Chandra博士,项目经理Dhyanesh Narayanan 译者:张鑫 ? 上个世纪七十年代...

4116
来自专栏AI科技评论

多图见证模拟机器人的逆天成长:论进化策略在强化学习中的应用

AI 科技评论按:本文是 otoro.net 的系列技术博客之一,以通俗可视化的方法讲解了进化策略(Evolution Strategies)中的诸多概念。本篇...

44310
来自专栏数说工作室

手机里跑个 AI 模型 | 谷歌 Federated Learning 联盟学习

各位数据大咖,还记得自己的跑模型的心路历程么?我想大家都在经历着下面的一个或多个阶段: 论文答辩前夕,把自己敲进去的三千多条数据放进SAS中,哗的一下模型出来了...

5026
来自专栏AI传送门

股票预测,自动翻译,你想要的它都能做——RNN算法探索之旅(3)

1853
来自专栏大数据文摘

上班族必备,日本小哥用深度学习开发识别老板的探测器(附源码)

1902
来自专栏TensorFlow从0到N

TensorFlow从0到1 - 19 - 回顾

see you soon 《TensorFlow从0到1》就要结束了。 3条主线 这个部分共包含18篇文章,4万余字(简书的严格统计不到4万)。总的来说,它无外...

3764
来自专栏ATYUN订阅号

神经网络新方向:硅芯片将光学信号精准分布到微型类人脑网格

美国国家标准与技术研究院(NIST)的研究人员制作了一种硅芯片,可以精确地将光学信号分布在微型类人脑网格上,展示了神经网络的潜在新设计。

1032

扫码关注云+社区

领取腾讯云代金券