与第一代 TPU 只能服务于机器学习模型计算不同,谷歌最新的 TPU 现在既能处理训练也能处理服务。InfoQ 年初曾详细介绍过第一代 TPU白皮书。
第二代TPU 的发布时间与一周前NVIDIA发布 Volta 的时间高度吻合,后者是一个普通的 GPU,针对 TensorFlow 进行了优化,具备经过严格测试的 Tensor Core 特性。谷歌没有像第一代 TPU 发布时那样提供一份与第二代 TPU 配套的公共白皮书。第一代 TPU 的白皮书是在 TPU 发布几个月之后才发布的。所以,可以推测,详细介绍第二代 TPU(TPU-2)基准测试数据的白皮书即将到来。理想情况下,其中会包含 TPU 和竞争对手芯片组配置的测试组合、它们的边界性能以及在它们上面运行的机器学习工作负载类型。和第一代 TPU 白皮书类似,那会提供有关 TPU-2 的详细信息。
谷歌提供了一些高级性能指标,据推测,这些指标是以谷歌通过 GCP计算引擎提供 TPU 即服务时使用的 TPU 物理基础设施配置为基础。一组特定的研究人员和科学家将可以免费使用一个包含 1000 个云 TPU 的集群。该免费的 TPU 基础设施和面向其他所有人的 GCP 服务可能有一个很大程度的抽象,硬件研究人员或新闻资讯可以在没有白皮书的情况下有一个深入的了解。在性能提升方面,谷歌指出:
……我们的大规模新翻译模型在 32 个全世界最好的商用 GPU 上训练了一整天,而 1/8 个 TPU Pod 一下午就可以完成这项任务……
TPU-2 Pod 包含由多个 TPU-2 处理器组成的 TPU-2 板。根据谷歌公告中的零星技术信息以及几张照片,我们可以推测,每个芯片上的闪存可能存在连通性,单个的TPU-2 之间可能共享闪存状态。
第二代TPU 基础设施提供多达256 个芯片,它们连接在一起可以提供11.5 千兆次的机器学习运算能力。谷歌接受Alpha 版本试用申请,不过,申请表单和研究人员的免费试用表单相同。目前,还不清楚下一代TPU 是否会用在类似 CloudML 这样在 GPU 上执行模型训练的服务中。不过,该服务不只限于 TPU。该 GCP 特性
让用户可以在竞争对手的芯片(如英特尔的 Skylake )或 GPU(如 Nvidia 的 Volta )上构建自己的模型,然后将项目迁移到谷歌 TPU 云上做最后的处理。
对于 TPU-2 相对于第一代 TPU 的性能提升,现在还很难做出充分的比较,因为它们的特性集和底层数学操作原语不同。第一代 TPU 没有使用浮点操作,而是使用一个 8 位的整数近似地表示浮点数。现在还不知道谷歌是否提供近似方法将浮点运算性能转换成 8 位整数,用于定量分析的浮点运算估计。
谷歌最新的大规模翻译模型在 32 个“最好的商业 GPU”上需要训练一整天,而 1/8 个 TPU Pod 一下午就可以完成这项工作……每块板子的最大峰值吞吐量为每秒 45 万亿次浮点运算,如上所述,系统板每秒总计 180 万亿次浮点运算,峰值性能可达 11500 万亿次。
能够访问闪存以及可以在同样的硬件上提供训练和服务的能力会影响谷歌和其他芯片组生产商的竞争关系,因为 AMD 的 Vega Radeon Instinct GPU 加速器既可以直接访问闪存,也可以提供 ML 训练和服务。
查看英文原文: Second-Generation TPU Offers Both Training and Model Serving, Free Research Tier on GCP
评论