检查 TPU 工作负载/利用率

问题描述 投票:0回答:4

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

还有其他方法可以查看TPU的使用情况吗?也许用

ctpu
命令?

tensorflow google-cloud-platform google-compute-engine google-cloud-tpu
4个回答
7
投票

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

您将在 TPU 训练时运行分析器。它将向您的 TensorBoard 添加一个额外的选项卡,其中包含 TPU 特定的分析信息。其中最有用的是:

  • 平均步数
  • 主机空闲时间(CPU空闲的时间)
  • TPU空闲时间
  • TPU矩阵单元的利用

根据这些指标,分析器将建议开始优化模型以在 TPU 上进行良好训练的方法。您还可以深入研究更复杂的分析工具,例如跟踪查看器或最昂贵的图形操作列表。

有关性能调整的一些指南(除了已经链接的 ch_mike 之外),您可以查看 TPU 性能指南


2
投票

如果您正在查看 GCP -> 计算引擎 -> TPU,那么您正在查看正确的位置。如果您查看关联的 Compute Engine 实例的监控图表,您会发现 CPU 图表有所不同。

目前,似乎没有任何其他方式来查找该信息,因为这些选项都没有提供它:

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

ctpu status --details

TPU API

也没有

至于你的训练是否正确,很难说,你可以参考使用TPU并确保你遵循那里的指南。另一个有用的资源是提高训练速度


2
投票
(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


0
投票

如果您使用 TPU 虚拟机,有两种简单的方法可以在不使用 Tensorboard 的情况下执行此操作:

  1. 使用 tpu-info(了解更多此处

    $ pip install git+https://github.com/google/cloud-accelerator-diagnostics/#subdirectory=tpu_info

    $ tpu-信息

  2. 使用 Google Cloud Monitoring(指标浏览器) 转到此链接并选择要绘制的指标:https://console.cloud.google.com/monitoring/metrics-explorer

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.