2015/7/13 下午12:06:19 星期一
当前位置: 主页 > 平步青云 >

【评测】谷歌TPU二代来365体育网投: 了,英伟达Tesla V100尚能战否?
时间:2019-05-31 19:49

摘要:雷锋网(公众号:雷锋网)按:谷歌去年年中推出的TPUv1一度让英伟达感受到威胁将近,而现在的谷歌TPU

雷锋网(公众号:雷锋网)按:谷歌去年年中推出的 TPUv1 一度让英伟达感受到威胁将近,而现在的谷歌 TPU 二代 TPUv2 则着着实实得将这份威胁变成了现实,去年的评测中英伟达 Tesla V100 尚能不惧谷歌 TPUv1 的挑战,但是现在谷歌 TPU 二代来了,英伟达 Tesla V100 尚能战否?

【评测】谷歌TPU二代来了,英伟达Tesla V100尚能战否?

以下为 RiseML 对谷歌 TPUv2 和英伟达 Tesla V100 的对比评测,雷锋网(公众号:雷锋网)AI 科技评论将其内容编译如下。

谷歌在 2017 年为加速深度学习开发了一款的定制芯片,张量处理单元 v2 (TPUv2)。TPUv2 是谷歌在 2016 年首次公开的深度学习加速云端芯片 TPUv1 的二代产品,被认为有着替代英伟达 GPU 的潜在实力。RiseML 此前撰写过一篇谷歌 TPUv2 的初体验,并随后收到了大家「将谷歌 TPUv2 与英伟达 V100 GPU 进行对比评测」的大量迫切要求。

但是将这两款深度学习加速芯片进行公平而又有意义的对比评测并非易事。同时由于这两款产品的对业界未来发展的重要程度和当前深度详细评测的缺失,这让我们深感需要自行对这两款重磅云端芯片进行深度评测。我们在评测过程中也尽可能地站在芯片对立双方倾听不同意见,因此我们也同时与谷歌和英伟达的工程师建立联系并让他们在本次评测文草稿阶段留下各自的意见。以上措施使得我们做出了针对 TPUv2 和 V100 这两款云端芯片的最全面深度对比评测。

实验设置

我们用四个 TPUv2 芯片(来自一个 Cloud TPU 设备)对比四个英伟达 V100 GPU,两者都具备 64GB 内存,因而可以训练相同的模型和使用同样的批量大小。该实验中,我们还采用了相同的训练模式:四个 TPUv2 芯片组成的一个 Cloud TPU 来运行一种同步数据并行分布式训练,英伟达一侧也是同样利用四个 V100 CPU。

模型方面,我们决定使用图像分类的实际标准和参考点在 ImageNet 上训练 ResNet-50 模型。虽然 ResNet-50 是可公开使用的参考实例模型,但是现在还没有能够单一的模型实现支持在 Cloud TPU 和多个 GPU 上进行模型训练

对于 V100,英伟达建议使用 MXNet 或者 TensorFlow 的实现,365体育投注提款,可以在 Nvidia GPU Cloud 平台上的 Docker images 中使用它们。然而,我们发现 MXNet 或者 TensorFlow 实现直接拿来使用的话,在多 GPU 和对应的大训练批量下并不能很好地收敛。这就需要加以调整,尤其是在学习率的设置方面。

作为替代,我们使用了来自 TensorFlow 的 基准库(benchmark repository),并在 tensorflow/tensorflow:1.7.0-gpu, CUDA 9.0, CuDNN 7.1.2 下在 Docker image 中运行它。它明显快过英伟达官方推荐的 TensorFlow 实现,而且只比 MXNet 实现慢 3%。不过它在批量下收敛得很好。这就有助于我们在同样平台(TensorFlow 1.7.0)下使用相同框架,来对两个实现进行比较。

云端 TPU 这边,谷歌官方推荐使用来自 TensorFlow 1.7.0 TPU repository 的 bfloat16 实现。TPU 和 GPU 实现利用各个架构的混合精度训练计算以及使用半精度存储最大张量。

针对 V100 的实验,我们在 AWS 上使用了四个 V100 GPU(每个 16 GB 内存)的 p3.8xlarge 实例(Xeon E5-2686@2.30GHz 16 核,244 GB 内存,Ubuntu 16.04)。针对 TPU 实验,我们使用了一个小型 n1-standard-4 实例作为主机(Xeon@2.3GHz 双核,15GB 内存,Debian 9),并为其配置了由四个 TPUv2 芯片(每个 16 GB 的内存)组成的云端 TPU(v2-8)。

我们进行了两种不同的对比实验,首先,我们在人工合成自然场景(未增强数据)下,观察了两者在每秒图像处理上的原始表现,具体来说是数据吞吐速度(每秒处理的图像数目)。这项对比与是否收敛无关,而且确保 I / O 中无瓶颈或无增强数据影响结果。第二次对比实验,我们观察了两者在 ImageNet 上的准确性和收敛性。

数据吞吐速度结果

我们在人工合成自然场景(未增强数据)下,以每秒图像处理的形式观测了数据吞吐速度,也就是,bt365体育在线投注,在不同批量大小下,训练数据也是在运行过程中创造的。同时需要注意,TPU 的官方推荐批量大小是 1024,但是基于大家的实验要求,我们还在其他批量大小下进行了两者的性能测试。

【评测】谷歌TPU二代来了,英伟达Tesla V100尚能战否?

在生成的数据和没有数据增强的设置下,在各种批量大小下测试两者的每秒图像处理性能表现。批量大小为「global」总计的,即 1024 意味着在每个步骤中每个 GPU / TPU 芯片上的批量大小为 256