被TPU论文引用过的人顶着赶论文的压力强行来答一波。
先说一句题外话。。。这个世界是一个罗生门,每个人都在自说自话。学术圈的一小部分人也不能完全免俗,而科技圈 99% 的人都不免俗。每一套话语背后都有一个隐含的框框,只有掌握全部事实,才有可能跳出框框,获得真相。
-----------------------我是分割线----------------------
我是属于体系结构圈子里第一波(大约是2012~2013年之间)开始做神经网络加速器的。同一时间我知道的工作还有中科院陈云霁老师和清华的汪玉老师。
总的来说,TPU这次论文有很多有趣的信息,但性能并没有什么好惊艳的。
我拎出一些值得注意的地方说一说。
-----------------------我是分割线----------------------
1. 关于TPU和GPU的对比,以及一些争吵。吵来吵去,其实就是两点,性能和功能。
性能是说 Performance 和 Performance/Watt,功能是说 Training 和 Inference 。
TPU宣称自己 Performance / Watt 远高于GPU(大约25倍)。N家掌门人老黄立刻说你们用K80 比是不厚道的;你们的性能仅仅是 P40 的两倍而已,Performance / Watt 仅仅是 6倍。而且还不支持浮点和训练。媒体圈加科技圈就开始热闹非凡,资本圈早就暗流涌动抢着投钱做ASIC。
总的来说,TPU和GPU不是谁取代谁的问题(敲黑板!)而是各自都有生存的空间,谁也不能取代谁。比一比性能只是互相学习和参照罢了。
---- 吐槽人家只做 Inference 是不对的!大部分的训练算法都在后台运行,快速的部署和训练迭代是最关心的问题。N家的生态环境和性能都已经做得很好了,我怀疑Google 有没有动力非要自己做一个训练的加速器。而用于在线服务/终端的 inference 的重要性我就不多说了,90%的设备都用来做 inference 以提供实际服务了。P40的GPU是不可能插在在线服务端的,数据中心的功耗限制大多数都在 100 w 以下,有的甚至只有50w,比如 MS 和 FB。嵌入式端就更是这样了,手机和无人机,在应用需求真正起来之后,我们是可以展望另一种形式的TPU被集成的。当然,这一天也不会来的太快。毕竟TPU太专用了,目前只有Google这样体量的公司,会有应用这种专用加速的动力。
---- 只比较性能(Tera Operations / Sec)是不全面的!只比较 Performance / Watt 也是不对的!刚才说了。不能单纯做除法,50 Watt,5Watt,3Watt,都是云端/嵌入式终端的硬性限制。满足这个限制基础上,再来谈 Performance / Watt 才有意义。另一方面,TPU一片才几百刀,老黄家GPU动辄几千上万刀。难怪大体量的数据中心会选择自己做芯片。太划算了 !数据中心的功耗密度已经是一个非常严峻的问题了。微软采用了FPGA的路子是另一条有趣的技术路线。成功与困难并存。大家可以移步李博杰大神的文章(如何评价微软在数据中心使用FPGA代替传统CPU的做法? - 知乎)讲的很透彻。
所以,我很好奇。老黄为何用 P40 做比较。P4 不是更好么?22 TOPs(INT8)的性能,50 Watt。跟 Google TPU 的 Performance / Watt 的比较,只有 4x 的差距。
2. 关于TPU的一些有趣的观察。
----- a) 正确分析处理器带宽很重要。号称 90 TOPS 的性能。在 MLP 上只有 10 TOPs 的实际性能。而Google又号称 MLP 占据了 60%的应用。这才是真正的槽点。敢情只有 1/9 的性能被用上了。其实原因也简单,主要是被带宽限制住了,34GB/s 还有很大改进空间。改到 340GB/s就能用上剩下 8/9了。
因为带宽问题,文中大量出现 Roofline Model,但却被大家忽略了。我们在北京大学的工作,是世界上第一个提出使用 Roofline Model 对神经网络加速器进行设计优化的( 最初的Roofline Model 由David Patterson老爷子提出,他也是TPU作者之一)。可惜这个概念目前还没有被大家很好地使用,目前只有TPU和我们的工作使用了Roofline Model。
------ b) 8 Bit 的做法在当时很激进。算上论文发表的时间,算上ASIC设计与迭代周期等等,Google在秘密开始TPU项目可能是在2015年以前(个人猜测)。那个时间段做 8 Bit 真的是非常激进了。学术圈(计算机视觉)里的低定点化研究大约在2016 年才出现。(更新:以下猜测并不准确,请大家移步贾扬清大神的评论)猜测TPU也有可能以浮点设计开始,到2016年才开始改成定点的。如果是这样,那么从学术圈研究到工业界的应用,只用了一年不到的时间。而且还是代价巨大的ASIC,Google这么做确实吓人一跳。当然,这一跳不是在看到论文时吓的。圈里早就传说TPU是 8-Bit了。
更新一下贾扬清大神的评论:
Google是在2013年左右开始研发TPU,而且当时就确定了8bit计算的方法,当时敢上8bit的缘故是speech证明了8bit可行(可以参见Vanhoucke的论文),所以的确还是很先进的。 (都是公开信息,没有内幕)
----- c) TPU文中许多应用的存储量都很小。5M-100MB的参数,片上再挤一挤其实也能放下了。一方面,模型的压缩和稀疏化能够派上用场了。另一方面,可以使用有两块/多块芯片,各自处理神经网络的一部分。这样即使有很大的权重,也可以通过分配到多个芯片的缓存上,来解决这个问题。这样就没有带宽的后顾之忧了。这也将是很有意思的研究方向。当然这件事工程上并不容易,我们在多FPGA上进行了一些探索,但是ASIC上暂时还没有看到公开发表的研究。
----- d) TPU不是终点,而只是开始。神经网络算法一直在演变和发展,这套方法的理论还不成熟,应用场景也会在未来几年发生巨大的变化。大家可以想象一下安防、无人机、智慧大楼、无人驾驶,等等等等。每一个子领域都有 系统/功耗/性能 一系列问题和各种权衡。一方面,是算法多变的情况下,如何发掘计算的内在并行性,又给上层程序员提供一个高效的编程接口,是一个很重要很实际的问题。另一方面,也有可能会做得极其定制化。牺牲大量编程性以求极低的功耗和性能,比如手机上专门做一个只识别人脸的芯片。
未来很精彩,让我们拭目以待。
----------------
没想到一下这么多人关注这个回答,还有师弟问我工作的事情。那我厚颜无耻地打个小广告吧。最近 @谢小龙 师弟邀请我一起开一场Live(知乎 Live - 全新的实时问答),时间是5月3号晚上8点,主题是计算机专业学生如何在校招中脱颖而出。因为也是第一次开live,希望大家轻喷,主要是和大家聊聊我们的求职经历,希望能给大家带来一丢丢启发。
稍微研究了一下,这块芯片的硬件架构本身只能说是平平无奇,构建在其之上的应用才是真有技术含量的。
这里只谈谈芯片,功能其实非常简单,就是矩阵乘法以及矩阵乘法之后的一些非线性计算,论文中看到所谓非线性功能指的应该是比较器功能。
号称比K80等有几十倍的能效提升,很重要的一点是因为它使用的是8bit的定点乘加运算。所以其加法的资源要比16bit浮点加法器要少非常多。乘法器资源也少一些。显然精度要差很多,但论文中号称8bit足够精确,那是从软件和系统层面的考虑,程序都是你们写的,你们说够精确就够精确好了。其他人表示摊手。
另外TPU的核心运算单元的矩阵乘法阵列是一个256x256的MAC阵列,看起来它最拿手的运算是计算AxB=C,其中A是Nx256的矩阵,N是一个远大于256的数,B是256x256的系数矩阵,C是结果,全部运算耗时n个cycle。
系数是预加载的,数据是每拍输入一行数据,C的每一行的结果需要耗费256个cycle,当然了行与行是流水的计算的,所以每拍都可以出一行的结果。这么看来效率达到了最大值了。每个MAC都充分利用了,所以其能效比非常高。
但是缺点也很明显:太专用了。只能完成乘+加+乘+加......这样规则的运算,无法应付诸如复数乘法,求倒,求平方根倒数,等常见算法。这和GPU,CPU的通用设计理念的不符的,所以你拿一个专用器件和通用器件比能效,这本身只能是博眼球的做法,这如果是国内本土厂商的做法,是会被扒光皮然后被喷出翔的。
另外这个矩阵乘法阵列本身没有任何可编程的特性,如果遇到小规模矩阵的乘法,其每行的输出看起来仍然需要256cycle的延时(待证实),这是一个不小的可改进点。
巴黎场完整版视频:
http://www. bilibili.com/video/av14 307530
(直接从知乎看只能看前段)
会翻墙的话有Youtube完整版:
------------------------------------去年有幸在巴黎看了一场久石让指挥的Ghibli工作室演奏会。而那晚成了我终生难忘的一晚。
我很早之前就把武道馆的录像看了不下一百遍。学习听做家务听,因为真的太喜欢了。我最喜欢的便是演奏魔女里的小提琴。真的太好听了。在武道馆拉小提琴的大叔便成了我的最爱之一。还有呀,天空之城里吹小号的。那是我第一次知道原来小号吹成这么样的。语言形容不出来。对啦还有拉龙猫的大提琴的一个小胖子,大提琴的声音的力量,低沉,有力。可惜他们三一个都没来。来的是久石让,他女儿和欧洲这边的乐团。
即使是这样,演奏会上的歌一出来,我便起鸡皮疙瘩,然后一边觉得很欣慰很幸福一遍止不住得哭。那个音乐里的世界便是最美好的了吧。这不,我打下这话眼里又有泪水了。
我买的票比较靠后,所以久石让我也没看清。可是整场都能感受到大叔的可爱。大叔会一边笑一边上台。
票一张差不多两百欧,人民币大一千多。即使这样,我仍然觉得超值。嗯。那一晚的音乐能温暖我很多年。我看过很多演唱会,Coldplay, Maroon 5, 苏打绿等等(大部分都是Mainstream). 大部分也都是那个月狂热一下,然后就没了。而久石让的Ghibli音乐会,听完的心情,听的时候的满足感,与再听的满足感,回味无穷,都是现在所有Pop不能带给我的。
那晚,大部分时间也是我和男朋友手牵手看完的。有着一生我最爱最爱的人,还有难忘至今的音乐。那个晚上,真回味。
之前回答过相关问题(如何评价摩拜单车获得超六亿美元的e轮融资,共享单车未来在谁手中,是否胜负已定? - 知乎),针对摩拜完成E轮融资做了如下猜测,其中OFO马上完成新一轮以及国际化等地域拓展的部分,和OFO今天放出的信息基本一致。不过,竞争还很残酷,发言中提到的盈利部分可信度堪忧。这个阶段,那么多投资人完成了各类共享单车的投资项目,不要考虑盈利,还会先考虑如何整合上规模吧。
…更多文章请到数据冰山 - 知乎专栏
…更多回答请看何明科