检查TPU工作负载/利用率

时间:2018-09-20 14:11:04

标签: tensorflow google-cloud-platform google-compute-engine google-cloud-tpu

我正在训练一个模型,当我在Google Cloud Platform控制台中打开TPU时,它向我显示了CPU利用率(我想是在TPU上)。确实非常低(例如0.07%),所以也许是VM CPU?我想知道培训是否真的合适,或者TPU是否那么强大。

还有其他方法可以检查TPU使用情况吗?也许使用ctpu命令?

3 个答案:

答案 0 :(得分:2)

我建议使用插入TensorBoard的TPU分析工具。 here可以找到有关安装和使用这些工具的良好教程。

您将在TPU训练期间运行探查器。它将为您的TensorBoard添加一个额外的选项卡,其中包含特定于TPU的配置信息。其中最有用的:

  • 平均步长时间
  • 主机空闲时间(CPU空闲花费的时间)
  • TPU空闲时间
  • 使用TPU矩阵单元

基于这些指标,探查器将提出一些方法来开始优化模型,以便在TPU上进行良好的训练。您还可以使用更复杂的配置工具,例如跟踪查看器或最昂贵的图形操作列表。

有关性能调优的一些准则(除了已经链接的ch_mike之外),您可以查看TPU performance guide

答案 1 :(得分:1)

如果您正在查看GCP-> Compute Engine-> TPU,那么您正在寻找正确的位置。如果您看到关联的Compute Engine实例的监控图,则会看到CPU图不同。

当前,查找这些信息似乎没有其他方法,因为这些选项均无法提供:

gcloud compute tpus describe <tpu-name> --zone=<zone>

ctpu status --details

TPU API

也没有

关于您的培训是否适当,很难说,您可以参考Using TPU并确保您遵循那里的指南。另一个有用的资源是Improving training speed

答案 2 :(得分:0)

(vm)$ capture_tpu_profile --tpu=$TPU_NAME  --monitoring_level=2

设置monitoring_level = 2显示更多详细信息:

TPU type: TPU v2
Number of TPU Cores: 8
TPU idle time (lower is better): 0.091%
Utilization of TPU Matrix Units is (higher is better): 10.7%
Step time: 1.95 kms (avg), 1.90kms (minute), 2.00 kms (max)
Infeed percentage: 87.5% (avg). 87.2% (min), 87.8 (max)

参考:https://cloud.google.com/tpu/docs/cloud-tpu-tools#monitor_job