助力机器学习的 Google TPU 现已公开测试

  • Steef-Jan Wiggers
  • 罗远航

2018 年 3 月 5 日

话题:语言 & 开发架构

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

Google 制造了他们的自定义芯片 Tensor 处理单元(TPU),用于自家的 TensorFlow 框架上的机器学习,现在已经面向机器学习(ML)的专家们和开发者们进行公开测试了。Google Cloud 的 TPU 降低了机器学习模型的耗费成本,并且能够得到更高的性能来满足需求。

Google 的 TPU首次亮相是在十个月以前的 Google I/O 开发者大会上。Google 一开始只向一小部分开发者和研究人员开放了 TPU 的使用。现在,开发人员可以通过说明所需的 TPU 配额和用途来获得 TPU 的访问权限。据 TechCrunch 的一篇文章所述,Google 声称:

一旦开始使用该服务,需要每小时为每个 Cloud TPU 付费 $6.50。相比较之下,在美国使用标准的 Tesla P100 GPU 每个小时仅需要 $1.46,尽管它的最高性能在 FP16 下只有 21teraflops。

Cloud TPU 由 AI 加速器应用程序专用集成电路(ASICs,Application-specific Integrated Circuits)构成,是 Google 专门为神经网络机器学习所设计的。每一块 Cloud TPU 电路板上都有 4 个自定义的 ASICs,提供了高达 180teraflops 的浮点计算能力和 64GB 的高带宽内存。除此之外,每一块 Cloud TPU 都可以单独使用,或者通过专用的高带宽网络连接起来,形成多 Flops 机器学习超级计算机(或者称其为“TPU pods”)。Google 将会在今年的稍晚时候提供这种计算实例。

图片来源:https://www.nextplatform.com/2018/02/12/google-boots-tensor-processors-cloud/

随着 Cloud TPU 的出现,Google 的机器学习专家和开发人员就可以能更高效地处理他们的工作了,这能大幅地提升生产力。首先,他们不需要在设置、设计和安装本地集群上进行投资,他们仅需要将他们的工作推到 Google 云计算平台上去即可。其次,他们不再需要在计算集群上等待被调度的工作了,因为他们可以获得专用的 Google Cloud TPU 独占使用权。如果他们需要更多的计算资源从而使得一个重要的模型更快地进行训练,那么就可以根据需要再分配一组 TPU。最后,Google 已经开源了一组高性能 Cloud TPU 模型的实现作为参考,Google 还提供了几个高级 TensorFlow API 来用于对 Cloud TPU 进行编程。

每一个知名的公共云服务提供商都向客户提供各种平台服务,让客户把工作负载放到他们的云平台上。这与机器学习并没有什么不同。不过,随着 TensorFlow 和 TPU 的结合,Google 在短期内确实提供了一种服务,能够让它在竞争者中具有优势。Jeffrey Burt 是 TheNextPlatform 的一名作者,他在最近的文章中写道:

Google 把 Cloud TPU 定位为器武器库中的另一项重要武器,希望能通过它与云计算服务领导者 Amazon Web Services 和 Microsoft Azure 瓜分市场份额。Google 的目标是给 Google 云计算平台的用户们提供更多的选择来满足他们的机器学习工作负载,其中包括不同的高性能 CPU(例如 Skylake)和高性能 GPU(如 Tesla V100)以及 Cloud TPU。

除此之外,据Jillian D'Onfro(CNBC.com 的一名科技记者)所说,Google 甚至会从 Google 云计算平台上他们自己的芯片中获得收益。她在最近的一篇科技文章中写道:

首先,通过使用自己的硅芯片,Google 拥有了一种更廉价、更高效的可替代芯片,可以依赖于 Nvidia 或者 Intel 这样的芯片制造商建设其核心计算基础设施。拥有自己的硬件可以让 Google 更快地进行实验。新的 TPU 还可以让其母公司 Alphabet 增加 Google 云计算平台上的收入。GCP(Google Cloud Platform)和 GSuite(Google 的商业应用套件)现在每季度能够产生超过 10 亿美金的收入。

最后,任何与众不同的服务对于每个公共云服务提供商来说都是至关重要的,因为它们能够带来更高的市场份额和市场价值。

查看英文原文:Google Cloud TPU for Machine Learning Acceleration Is Now Available in Beta

语言 & 开发架构