aihot  2017-05-17 17:08:42  智能硬件 |   查看评论   

       我们对Google 的TPU 并不陌生,正是它支撑了AlphaGo 强大快速的运算力,但Google 一直未曾披露细节,使TPU 一直有神秘感。

Google公布TPU

       美国当地时间4 月5 日,Google 终于打破沉寂,发表官方部落格,详细介绍TPU 各方面。相关论文更配以彩色TPU 模组框图、TPU 晶片配置图、TPU 印制电路等,可谓图文并茂,称其为「设计教程」也不为过。不出意料,这之后会涌现一大批仿效者。


       论文中还给了TPU与其他晶片的效能对比图,称「TPU处理速度比目前GPU和CPU要快15到30倍」,有人赞叹TPU的惊人效能,但也有人对此种「比较」表示质疑,因其拿来的比较对象并非市场效能最好的。


       这篇论文有哪些亮点?争议点在哪里?Google 公布TPU 细节会对业界产生什么影响?本文要解答这几个问题。


       Google 为什么要做TPU?


       这篇论文的主题为:《资料中心的TPU 效能解析》(In-Datacenter Performance Analysis of a Tensor Processing Unit),共同作者多达70 人,领衔第一作者是硬体大师Norman Jouppi。


       Jouppi 在接受外媒Wired 采访时说,Google 一开始曾经考虑要用FPGA,但是后来经过实验发现,这种晶片无法提供理想的速度。


       程式化晶片制造费用太高,我们分析认为,FPGA 晶片并不比GPU 快。


       最终,他们将目光放到ASIC(专属积体电路,一旦设计制造完成后电路就固定了,无法再改变)上,TPU 就是一种ASIC。在接受外媒The Next        Platform 采访时,Jouppi 表示TPU 可适用现存各种神经网路模型,从影像辨识的CNN 到语音辨识的LSTM,都适用。


       TPU 跟CPU 或GPU 一样是程式化的。TPU 不是专为某一个神经网路模型设计;TPU 能在多种网路(卷积网路、LSTM 模型和大规模全连线的神经网路模型)上执行CISC 指令。


       Google 已使用TPU 两年,应用在各领域工作,包括:Google 影像搜寻(Google Image Search)、Google 照片(Google Photo)、Google 云视觉API(Google Cloud Vision API)、Google 翻译以及AlphaGo 的围棋系统中。


       TPU 只是一种推理晶片


       需要明确说明的是:TPU 是一款推理晶片,并不是用做训练。根据辉达首席科学家William J. Dally 的说法,在深度学习领域,主要有3 种运算方式:

  • 资料中心的训练(用于训练模型,电脑往往需要以较高的精确度运算,一般使用32 位元浮点运算)。
  • 资料中心的推理(在云端进行即时连续运算,精确度可以适当牺牲,换取更快的速度和更低能耗)。
  • 内嵌式装置的推理(这类应用的核心是低能耗的ASICs)。

       所以TPU 针对的,就是第二种运算方式:资料中心的推理。对推理运算而言,重要指标就是快速和低能耗。在Google 部落格里,Jouppi 特别强调TPU 以下效能:

  • 我们产品的赢咖4负载,主要利用神经网路的推理功能,其TPU 处理速度比目前GPU 和CPU 要快15 到30 倍。
  • 较之传统晶片,TPU 也更加节能,功耗效率(TOPS/Watt)提升了30 到80 倍。
  • 驱动这些应用神经网路只要求少量程式码,少得惊人:仅100~1,500 行。程式码以TensorFlow 为基础。
  • 70 多个作者对这篇文章有贡献。很多人参与了设计、证实、实施以及配置类似这样的系统软硬体。

       赢咖4业界如何看待这篇论文?


       亮点:特定场域下的高效率


       对于Google TPU 论文里的技术特点,雷锋网采访了寒武纪科技CEO 陈天石,他分别从架构、效能和工程3 个角度,分析这篇论文涉及的技术问题。


       并不意外,这款晶片仍然沿用传统的脉动阵列机架构,也是当今许多深度学习DSP 采用的架构。事实上,寒武纪团队成员早期与Olivier Temam 教授、Paolo Ienne 教授共同发表于ISCA2015 的ShiDianNao 学术论文已经讨论过这样的架构,同时MIT 于2016 年前后发表的Eyeriss 也是类似架构。


       效能上看,确实透过裁剪运算器宽度(8 位定点)达到非常高的理论峰值,在大多数卷积作业效率很好。但在部分其他类别的神经网路作业上,效率不是太高。


       从工程角度看,Google 透过TPU 专案对深度学习硬体加速做出了有益的尝试,令人敬佩;未来Google 一定会持续更新TPU 架构。寒武纪商用产品最终并没有走脉动阵列机的技术路线,而是走一条通用智能处理器之路。我们十分期待未来继续与国际工业界和学术界同行同台竞技。


       虽然寒武纪与Google 分别在硬体方面选了不同的商用形态,但是双方都从彼此身上学习。陈天石提到Google 这篇TPU 文章,参照了寒武纪团队成员前期发表的6 篇学术论文,并有专门段落回顾一系列学术工作。


       论文中在提到DaDianNao / PuDianNao / ShiDianNao 时还专门用英文注释这几个名字的含义(Big computer, general computer, vision computer),对我们前期学术工作显示尊重。非常值得骄傲的是,我们早期与Olivier Temam 教授共同开展的系列开拓性学术工作,已经成为智能晶片领域参考次数最多的论文。而Olivier Temam 教授几年前就已加入Google。相信他会把DianNao 家族的学术思想融入TPU 后续版本,把TPU 的事业继续推向新高度。


       采访了深鉴科技CEO 姚颂,业界已经对TPU 文章里的设计亮点评论颇丰了,姚颂从另一个角度看待这个问题,他认为「TPU 的最大亮点其实是TPU 这件事本身」。并列计算有很多种架构,如GPU、FPGA 等,一个公司选择某个方向有它的深思熟虑。姚颂认为Google 做TPU 这件事情本身,其实是展现出一种「直接面对应用需求」姿态,根据最终应用来进行「自订计算」,而他所在的深鉴科技选择的,也是类似Google 这种「自订化」发展型态。


       大家可以很清楚看到Google 这样的公司,从最开始使用CPU 这样的通用晶片,过渡到GPU 与FPGA,再过渡到专属的ASIC,来面对应用的需求。沿着这一条发展曲线,不断提高效能和用户体验的同时,也降低整体执行成本。Google 第一次透过TPU 这个终极形态走完这条发展路径,其实为其他公司指出一条未来的发展路径,这个意义超出了TPU 本身设计的高效性。


       争议:论文里TPU 的比较对象


       论文里,TPU 的比较对象是:英特尔Haswell E5-2699 v3 和辉达Tesla K80。有人对比较提出异议,因为Tesla K80 并不是辉达最强最新的晶片产品。


       外国网友jimmy 表示:


       Tesla P4 就比Tesla K80 的效能高出至少16 倍。Google 拿TPU 与5 年前的晶片架构相比,有点狡猾。


       网友Szilárd P 则表示,拿TPU 跟Pascal Tesla 比较很荒谬。因为辉达发表Pascal Tesla 的时间是在2016 年9 月,但当时Google 这篇论文是为了第44 届ISCA(国际计算机架构会议)准备的,论文提交截止日期是2016 年11 月,而辉达Pascal Tesla 正式出货时间也要等到10 月,所以Google 再重新做实验测试,是不太实际的。但他同时也表示:


       Google 不拿Maxwell M4/M40 来比较,有点说不过去。因为GM20x 也是28nm,而且比K80 效能更强。


       针对这一点,陈天石认为如果纯粹考虑技术因素,这种比较是否公平要看从什么角度看:


       Google TPU 采用的脉动阵列机架构,在处理卷积的效率上确有其优势,在效能功耗比方面会显著胜过GPU。同时TPU 是2016 年以前的产品,与同期K80 相比,其实不算太不公平。但若仅考虑技术因素,TPU 使用8 位元运算器,相比之下强调高精度浮点运算的传统GPU 会吃亏。


       姚颂则从另一个方面对这种「比较」进行解读,他认为这或许是Google 一种「韬光养晦」的策略。他表示Google 通常有了新一代的技术才会公开上一代技术,论文的比较对象没有采用最新GPU 晶片,并不是Google 有意取巧。


       其实TPU 的设计大概4 年前就开始了,上线实用也有一段时间,在那个时间点,其实还没有出现Tesla M40 这样的GPU,也没有出现最新的Tesla P40 这样Pascal 架构的GPU。


       对外:于业界会有什么影响?会有很多人开始仿效制造吗?


       Google 以论文形式,图文并茂地将TPU 的架构、核心部件都说明得清清楚楚,那么会不会有后来者群起仿效呢?对于这一点,姚颂表示,Google 公布的技术虽然通常不是其最新的研究进展,但也往往非常先进和新颖,肯定会有人仿效,但仿效的话,也只会把自己的起点放在Google 4 年前的起点罢了。


       我想一定会有很多人追着TPU 的思路设计自己的深度学习晶片,因为TPU 已经批量在实际业务中应用并展示威力。但是其实,TPU 是4 年前开始研发的专案,仿效只会把自己的起点放在别人4 年前的起点。当你做出仿效的产品,很可能Google 第3 代TPU 都已经出来了。并且,TPU 强大的地方不完全在晶片,而是结合TensorFlow 的软体生态,这使开发更为简单──这一点就无法效仿。


       业界领先的公司要更看向未来,比如在TPU 论文中提到「Sparsity will have priority in future designs」,比如TPU 的硬体与软体生态一起做,那么,如何高效支援稀疏性,如何提供让用户简单得到稀疏化神经网路的软体工具,其实更为重要,这其实也是我们一直在做的。像我们与搜狗合作的语音辨识加速,就是沿着Sparsity 这条路线更进一步,而本次TPU 论文也参照了3 篇深鉴团队以往论文为未来发展的参照。


       而陈天石从架构角度给了另一个看法,他认为与TPU 类似的方案之前已经存在了。

 

除特别注明外,本站所有文章均为 赢咖4注册 原创,转载请注明出处来自Google公布TPU细节后,赢咖4界怎么看?

留言与评论(共有 0 条评论)
   
验证码:
[lianlun]1[/lianlun]