深度学习实战最佳实践与核心概念解析
1. TPU 训练概述
在深度学习领域,除了 GPU,还有一种趋势是将工作流转移到专门为深度学习设计的专用硬件上,这类单用途芯片被称为 ASIC(专用集成电路)。众多大小公司都在研发新芯片,目前最突出的是谷歌的张量处理单元(TPU),可在 Google Cloud 和 Google Colab 上使用。
TPU 训练虽有一定难度,但额外的付出是值得的。TPU 速度极快,TPU V2 训练速度通常比 NVIDIA P100 GPU 快 15 倍。对于大多数模型,TPU 训练的成本效益平均比 GPU 训练高 3 倍。
2. 通过 Google Colab 使用 TPU
在 Colab 中可以免费使用 8 核 TPU。在 Colab 菜单的“Runtime”选项卡下,选择“Change Runtime Type”,会发现除了 GPU 运行时,还可以选择 TPU 运行时。
使用 GPU 运行时,模型可直接访问 GPU,无需特殊操作。但使用 TPU 运行时,在构建模型前需先连接到 TPU 集群,代码如下:
import tensorflow as tf
tpu = tf.distribute.cluster_resolver.TPUClusterResolver.connect()
print("Device:", tpu.master())
和多 GPU 训练类似,使用 TPU 需要开启一个分布策略范围,这里是 TPUStrategy
范围。 TP