分享

追踪报道:谷歌 TPU 处理器实现 4 大机器学习突破

 timtxu 2017-04-08

新智元编译

作者:Serdar Yegulalp

译者:熊笑

【新智元导读】谷歌的论文《数据中心TPU 性能分析》(In-Datacenter Performance Analysis of a Tensor Processing Unit)从技术角度详述了 TPU 能给机器学习带来怎样的提升。Infoworld 的高级编辑 Serdar Yegulalp 撰文以深入浅出的方式简述了 TPU 对于机器学习的意义,以及对于谷歌的意义。作者认为,TPU 使得机器学习过程中的分工更加明确,但谷歌近期内不会将其整合到云服务中。结合新智元此前的报道,外界虽然认可 TPU 的技术能力,但也认为在其在一段时间内仍然会限于谷歌内部使用。即使使用 TPU,也是作为 CPUGPU 的辅助。

播放GIF

如果在机器学习领域没有野心,谷歌也就不是谷歌了。去年这个时候,谷歌发布了定制 TPU 硬件加速器,用以加速其 TensorFlow 深度学习框架。

现在,谷歌以论文的形式,从技术角度详述了 TPU 能给机器学习带来怎样的提升,展示了谷歌将如何影响由定制硅片驱动的机器学习的未来发展。

和 GPU 一样,谷歌的 TPU 使机器学习过程中的分工进一步明确

机器学习通常分为几个阶段。首先是收集数据,然后使用该数据训练一个模型,最后使用该模型进行预测。第一阶段通常不需要专门的硬件。第二阶段是GPU 的用武之地;理论上,你也可以使用 GPU 进行第三阶段。

有了谷歌的 TPU,阶段三就交给 ASIC 处理了。ASIC 是一块设计用来运行特定程序的定制硅片。ASIC 擅长整数计算,这是模型预测时所需要的;而 GPU 更擅长浮点运算,这是训练模型时的关键。现在的想法是机器学习过程中的不同方面都能有专门的芯片来处理,这样每个具体步骤的速度都能得到最大提升。

严格来说,这不是个新方法,而是通过融合 GPU 来加速训练这一模式的扩展。谷歌展示了如何使用该模式进行接下来的步骤,尤其是当硬件变得更加灵活和可重定义时。

目前来说,谷歌的 TPU 还是保密的

对一个像谷歌这样规模和财力的公司来说,定制硬件提供了三个好处:更快;在恰当的层面解决恰当的问题;给公司带来了竞争优势。

目前,谷歌正在使用定制 TPU 硬件来加速其内部系统。谷歌的云服务还没有提供这一特性,也不要期望现在能买到 ASIC 并部署到你自己的系统里。

原因很简单。

理由1:谷歌对能给自己带来独特竞争优势的东西一向秘不示人。TPU 可以让机器学习模型处理海量工作时更快更高效,谷歌为什么要把它拿出来分享或是出售?

理由2:谷歌在将一件产品公之于世前总要经过严格的内部试用。Kubernetes 和 TensorFlow 在向公众开放前都在谷歌内部经历了大量的试用(虽然形式有些不同)。

如果 TPU 真的对公众开放了,也是在云上租用的模式,到那时谷歌很可能已经又在内部搞什么别的新花样了。

新智元此前曾报道过,谷歌云服务副总裁 Diane Greene 表示,谷歌并没有对外销售 TPU 的打算——抛开 TPU 本来就是为了谷歌自己设计的这个事实以外,谷歌对外销售芯片的可能性很低,就像 Facebook 主张全球提供免费互联网,也并不是自己要做运营商

因此,还是那句话,TPU 虽好,但仅限谷歌内部,而且在近未来即便使用 TPU,也是用作 CPU 和 GPU 的辅助。

外界眼中的 TPU

在早先英伟达工程架构副总裁 Marc Hamilton 接受新智元采访时就表示,谷歌的 TPU 是一个非常有意思的技术,但 TPU 的发布进一步印证了他们的观点,那就是人工智能处理器将继续从通用的 CPU 转向 GPU 和 TPU 等其他芯片。此外,GPU 的技术也在不断发展。

Hamilton 还提到了百度人工智能科学家 Bryan Catanzaro 的话:深度学习并不是一个那么窄的领域,从计算角度看,深度学习多样化而且演化迅速;要是制造一款适用于所有深度学习的专用芯片,本质上也就成了 GPU。

但也有人认为,通用芯片 GPU 相比深度学习专用芯片并不具有优势。

这有一定道理,但设计新的芯片需要很多年,研发成本可能高达数千万甚至数亿美元。而且,专用芯片比通用芯片更难编程,最重要的是,专用芯片——根据定义——只提升特定任务的性能表现,这也是为什么谷歌要设计 TPU 辅助 GPU 和 CPU。

实际上,早在 TPU 推出伊始,TPU 团队主要负责人、计算机体系结构领域大牛 Norm Jouppi 就介绍,TPU 专为谷歌机器学习应用 TensorFlow 打造,能够降低运算精度,在相同时间内处理更复杂、更强大的机器学习模型并将其更快地投入使用。 Jouppi 当时还表示,谷歌数据中心早在正式对外宣布的一年前就开始使用 TPU,这款谷歌定制芯片从测试到量产不到 22 天,其性能把摩尔定律往前推进到 7 年。这一点也印证了 Serdar Yegulalp 的分析。

谷歌硅片定制的方法不是唯一途径

谷歌选择了创建自己的 ASIC ,但相对于硅片定制,还有另一种方法可用于运行机器学习模型:FPGA,可即时重新编程的处理器。

FPGA 可以执行高速计算,并具有高水平的并行性,这两点在机器学习的任何阶段都很需要。由于 ASIC 必须按照规格定制,所以与 ASIC 相比,FPGA 更便宜,同时也更迅速。

微软已经对 FPGA 所提供的可能性进行了研究,并公布了部署 FPGA 的服务器设计。机器学习加速是其可承担的许多工作之一。

也就是说,FPGA 不是 ASIC 的替代方案,不能直接置于机器学习流程中。此外,在机器学习环境中,FPGA 没有 GPU 那么多的编程工具。

在这方面,最好的方法可能不是推出专门用于机器学习 FPGA 编程的工具包,而是推出可以为 FPGA、GPU、CPU 或其他类似的定制硅片执行代码生成的一般框架。如果谷歌将其TPU 作为云资源,这样的框架就会有更多的事情做,当然现在已经有很多目标可以立即开始解决了。

关于FPGA的扩展阅读:

2012年,百度决定自主设计深度学习专有的体系结构和芯片,经过深入研究和论证,为让项目快速落地及迭代,工程师最后决定使用 FPGA 实现百度第一版自主设计的深度学习专有芯片。

作为 GPU 在算法加速上强有力的竞争者,FPGA 硬件配置灵活且单位能耗通常比 GPU 低。更重要的是,FPGA 相比 GPU 价格便宜。但是,使用 FPGA 需要具体硬件的知识,而许多研究者和应用科学家并不具备,因此 FPGA 常被视为一种行家专属的架构。

加州大学计算机博士刘少山认为,FPGA 具有低能耗、高性能以及可编程等特性,十分适合感知计算。在能源受限的情况下,FPGA 相对于 CPU 与 GPU 有明显的性能与能耗优势。此外,感知算法不断发展意味着感知处理器需要不断更新,FPGA 具有硬件可升级、可迭代的优势。由于 FPGA 的低能耗特性,FPGA 很适合用于传感器的数据预处理工作。可以预见,FPGA 与传感器的紧密结合将会很快普及。而后随着视觉、语音、深度学习的算法在 FPGA 上的不断优化,FPGA 将逐渐取代 GPU 与 CPU 成为机器人上的主要芯片。

一切只是开始

谷歌在论文中声称,使用 GPU 级别内存内存系统可以进一步加强ASIC 的加速,其结果比传统 CPU / GPU 组合快30至200倍。这并没有说明如果用其他混合方法可以取得什么效果,比如将 CPUFPGA 搭配在一起使用。

目前可以清楚地看出,机器学习定制硅片将会推动这一领域硬件和软件的发展。同样清楚的是,谷歌和其他企业的探索只是刚刚开始。

3月27日,新智元开源·生态AI技术峰会暨新智元2017创业大赛颁奖盛典隆重召开,包括“BAT”在内的中国主流 AI 公司、600多名行业精英齐聚,共同为2017中国人工智能的发展画上了浓墨重彩的一笔。

点击阅读原文,查阅文字版大会实录

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多