AlphaGo强大运算的根本,Google 的 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 类似的方案之前已经存在了。
TPU 在架构面走一条保守但稳健的道路。 TPU 架构正式公开前,学术界其实已有一些类似的方案(将脉动数组机用于处理深度学习)。 脉动数组架构本身是传统技术,早在 1980 年代初,中科院计算所的夏培肃院士和李国杰院士就曾将脉动数组架构用于石油勘探。 将其用于深度学习,其实是近年来 DSP 和硬件加速领域的旧瓶装新酒。
总结
从这篇论文里,Google 的 TPU 细节一览无遗,然而 TPU 是为了 TensorFlow 自定义的,对一些 AI 芯片厂商来说,或许能从这篇论文里获得一些灵感,但一味仿效可能得不偿失。
TPU 并不是全能,只是用于数据中心的推理阶段。 深度学习模型的前期训练,也还是要依靠高精确度的 GPU。 而且 TPU 通用性差,Google 也曾在多种场合表示不会贩卖 TPU。 所以对于辉达一类的通用芯片厂商来说,并没有直接的竞争威胁。 然而,Google 带头追求特定领域应用的极致效率,对很多走自定义化路线的 AI 芯片厂商来说,是莫大的鼓舞。
陈天石和姚颂两位 CEO 各自带领的 AI 芯片公司,在进行不同种类的 AI 芯片研发和商用工作,寒武纪科技偏通用,深鉴科技偏工业自定义。 两位 CEO 也都彼此惺惺相惜,就像陈天石曾对姚颂说的那样,这个市场需要多种芯片,有偏通用,也有更专属更注重特定领域,共同进步的同时未来也一定有机会合作。
如今 AI 芯片产业处在一个「大航海时代」,真正的宝藏,需要更多人开拓。
- Google投资全球最大风力发电厂(04-27)
- Google认为GPU将是未来互联网的引擎(05-21)
- 大数据——Google机器人个性专利(04-15)
- 谷歌进化配电架构,电源系统设计欲打开新天地?(05-14)
- Google Home智能音箱升级,亚马逊Echo还有优势?(07-18)
- 苹果iPhone热度未减,谷歌Gphone即将浮出水面!(08-05)