似懂非懂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 条评论
登录 后参与评论

相关文章

来自专栏CDA数据分析师

机器学习的5种“兵法"

在研究机器学习中,理论在其整个自上而下方法中试用于哪里呢? 在传统的机器学习教学中,丰富的数学理论知识对于理解机器学习是至关重要的,我的机器学习教学方法通常是教...

1757
来自专栏新智元

分布式深度学习框架PK:Caffe-MPI, CNTK, MXNet ,TensorFlow性能大比拼

作者:施少怀 褚晓文 编译:弗格森 马文 【新智元导读】这篇论文评估了四个state-of-the-art 的分布式深度学习框架,即Caffe-MPI, C...

3897
来自专栏人工智能快报

谷歌科研人员提出单样本机器学习技术

在看到某个物体一到两次之后,我们大多数人都能认出来。但支持计算机视觉和语音识别功能的算法却需要接触数千个例子,才能对新的图像或词语变得熟悉。 现在,谷歌Deep...

2755
来自专栏机器之心

学界 | 商汤联合提出基于FPGA的快速Winograd算法:实现FPGA之上最优的CNN表现与能耗

30910
来自专栏专知

瑟瑟发抖……神经网络可能在欺骗你!

【导读】你对神经网络的信任度有多高?它总能学习到你想让他学习的东西吗?你真的敢坐在一辆自动驾驶的汽车上吗?我曾经也对神经网络充满了“崇拜”和信任,直到我亲眼看见...

1073
来自专栏人工智能快报

德科学家发现新的神经网络学习方法

沙沙响动的树叶,吱吱作响的树枝:对老鼠来说,这些感觉看起来是无害的,但如果有一只猫突然从灌木丛窜出来就不同了。在这种情况下,这些现象就变成了能够提示迫在眉睫的生...

2963
来自专栏深度学习思考者

目标检测 | SSD原理以及相关问题

SSD: Single Shot MultiBox Detector ? intro: ECCV 2016 Oral arxiv: http://arxiv...

37810
来自专栏来自地球男人的部落格

从AdaBoost到GBDT(part 2)

注:本文假设读者已经有了AdaBoost和GBDT的背景知识。 看到网上关于AdaBoost和GBDT资料都不少,可是鲜有资料介绍他们联系,刚好之前有看过,最近...

2065
来自专栏计算机视觉战队

CVPR—II | 经典网络再现,全内容跟踪

今天首先给大家带来“YOLO”!也被上一篇“Faith”读者说对了,在此也感谢大家的关注与阅读,O(∩_∩)O谢谢 YOLO ? 看到这个封面,相信很多很多...

3255
来自专栏机器之心

业界 | OpenAI举办迁移学习竞赛:评估强化学习算法表现

选自OpenAI 作者: CHRISTOPHER HESSE等 机器之心编译 参与:李亚洲、刘晓坤 近日,OpenAI 发布了一个迁移学习竞赛,来评判强化学习算...

2635

扫描关注云+社区