在2018年谷歌I/O开发者大会上,谷歌的人工智能再次实力夺睛。但比起用人工智能助理预约理发服务,劈柴哥语焉不详的新一代张量处理器TPU3.0更像是枚深水炸弹,再次引发了谷歌AI芯片与英伟达用于人工智能的GPU间谁将取代谁的争论。然而二者真的有互相取代的可能吗?谷歌瞄准的目标又是谁呢?
劈柴哥语焉不详的TPU3.0
谷歌真的是在把自己的重心向AI上靠拢,以往还有意强调的VR/AR慢慢从开发者大会上不见了踪影。谷歌CEO Sundar Pichai(劈柴哥)更是在大会一开始便发布了TPU3.0芯片,声称其性能是上一代产品TPU2.0的8倍,达到了100Petaflops(Petaflops,每秒千万亿次浮点运算)。要知道2016年登顶全球最快超算的“神威太湖之光”双精浮点峰值才125PFlops。也难怪劈柴哥会感慨由于芯片过于强大,“以致于我们不得不第一次在数据中心用上了冷却液”。
来自谷歌旗下的Waymo自动驾驶公司则从侧面佐证着劈柴哥的说法。Waymo CEO表示,使用TPU的Waymo自动驾驶系统,性能较此前提高了15倍。然而关于TPU3.0具体参数劈柴哥并未做任何表示,甚至连展示图片都是一晃而过。
但对谷歌I/O开发者大会有所了解的人,或许都不会对谷歌发布TPU3.0一事感到意外。早在2016年的时候谷歌就发布了第一代TPU,它是专门为机器学习定制的专用芯片(ASIC),也是为谷歌深度学习框架TensorFlow而设计的。傍着AlphaGo,TPU作为支撑起强大运算能力的芯片而闻名。
但TPU毕竟仍旧是初代产品。深度学习的三种运算方式,诸如数据中心的训练、数据中心的推理、嵌入式设备的推理,初代TPU还只能针对数据中心推理做文章。但在紧接着的2017年,谷歌发布了TPU2.0,实现了即可推理又可训练的运算方式。如今的TPU3.0到底达到何种程度?由于劈柴哥语焉不详,我们不得而知。
目光瞄准老黄用于AI的GPU?
其实这已经不是第一次有这样的争论了。谷歌此前的做法与如今有着某种相似性,2016年谷歌发布TPU后,一直保持沉默而且未曾披露其细节。直到2017年4月,谷歌在其官方博客详细介绍了TPU,并刊出堪当“设计教程”的论文《数据中心的 TPU 性能分析》。也是这篇论文,随后引来了老黄的隔空怒吼。其中缘由主要在于,?论文声称“TPU 处理速度比当前 GPU 和 CPU 要快 15 到 30 倍;较之传统芯片,TPU 也更加节能,功耗效率(TOPS/Watt)上提升了 30 到 80 倍。”但事实上,论文比较的对象是英特尔 Haswell E5-2699 v3和英伟达Tesla K80,而后者并不是英伟达最强最新的芯片产品。
黄仁勋亲自撰文,强势反击,意在表明英伟达在 AI 芯片领域拥有相当领先的技术。甚至仿照谷歌,黄仁勋也丢出了一份Tesla P40 GPU 与 TPU 的性能对比图。事实上,也许就连当事人都十分清楚:这样的比较并无必要。论文提交的时间可能并不允许研究者做这样的对比;黄仁勋也不值得为此动怒。但是迫于吃瓜群众的喜好,似乎不得不亲自回应。在反驳的文章中,黄仁勋回顾了GPU用于训练深度学习的历史,并表示谷歌和英伟达关注同样的主题,只不过是采用了不同的解决方案。事实上,谷歌TPU与英伟达GPU在很多方面都有所不同。TPU本质上与通用的 CPU、GPU 有很大不同,并且终究会用到CPU / GPU 的运算辅助。
如果说谷歌是因为自己有了这样的需求而设计了TPU的话(一代产品发布前谷歌已经使用了很久),那么英伟达等企业则是看到这种需求存在才设计了相关产品。谷歌此前承诺也是通过其云服务向开发者提供新处理器带来的计算能力的提升,而不是向其提供芯片。这与英伟达提供GPU的方式多少也不太一样。就算双方都在竞争,也不存在取代的可能:英伟达日前声称 Volta Tensor Core GPU 是目前世界上最快的 AI 处理器,单块芯片就能提供高达 125 TFLOPS 的深度学习性能。
那么谷歌的目光瞄准的是谁?
早于谷歌1天的微软Build2018大会上,微软发布了Project Brainwave预览版,并称延迟比TPU低5倍。押宝FPGA的微软,试图将其整合到微软整个数据中心网络,并与谷歌在云服务上进行竞争。当然,仅仅一天之后,延迟比TPU低5倍的说法可能就已经被谷歌改写了。
当然,谷歌的TPU针对的是TenserFlow框架。而同样开源的深度学习框架可不止谷歌一家提供。Facebook今年的F8开发者大会上,Facebook也宣布了即将到来的PyTorch 1.0beta版新框架。深度学习间的框架之争显然也会影响到谷歌TPU的发展。
你觉得谷歌TPU瞄准的是谁呢?是同样致力于提供强大计算能力的云服务商微软,还是致力于在谷歌之外构建起另一套开源框架、生态的Facebook呢?或者,是发了矿卡财又可能被美国限制非官方合作的英伟达?