排查 Cloud TPU 工作流问题

在 TPU 上运行训练或推理工作负载后,下一步是确保工作负载按预期运行。Cloud TPU 会生成指标和日志,以便您查找和调试任何行为异常的 TPU 虚拟机。在本文档中,我们将此类虚拟机称为离群值

常规问题排查工作流程如下:

  1. 查看 Cloud TPU 指标以检查是否存在离群的 TPU 虚拟机
  2. 查看异常 TPU 虚拟机的 Cloud TPU 日志
  3. 分析工作负载

您可以在 Google Cloud 控制台中的 Metrics ExplorerLogs Explorer 中查看指标和日志。您还可以使用监控和日志信息中心在各个信息中心中收集所有与 Cloud TPU 相关的指标和日志。

Cloud TPU 虚拟机指标

Cloud Monitoring 会自动从 TPU 及其主机 Compute Engine 虚拟机收集指标。指标会跟踪一段时间内的数值量,例如 CPU 利用率、网络使用情况或 TensorCore 空闲时长。如需详细了解 Cloud TPU 指标,请参阅监控 TPU 虚拟机

Cloud TPU 日志

Cloud Logging 会自动从 TPU 及其主机 Compute Engine 虚拟机收集日志。Cloud Logging 会跟踪 Cloud TPU 生成的事件。 您还可以对代码进行插桩以生成日志。Cloud TPU 会生成两种类型的日志:

  • TPU 工作器日志
  • 已审核的资源日志

TPU Worker 日志包含特定区域中特定 TPU Worker 的相关信息,例如 TPU Worker 上可用的内存量 (system_available_memory_GiB)。

经过审核的资源日志包含有关特定 Cloud TPU API 的调用时间和调用者的信息。例如 CreateNodeUpdateNodeDeleteNode

您还可以使用 cloud-tpu-diagnostics PyPi 软件包将堆栈轨迹写入日志。如需了解详情,请参阅调试 TPU 虚拟机

如需详细了解日志,请参阅 Logging

监控和日志记录信息中心

在 Google Cloud 控制台中使用单个页面,可以更轻松地查看和解读与 Cloud TPU 相关的指标和日志。monitoring-debugging GitHub 代码库包含一组脚本和配置文件,这些脚本和配置文件使用 Terraform 自动部署包含所有 Cloud TPU 相关指标和日志的信息中心。如需在 Google Cloud 项目中设置这些信息中心,请参阅监控和日志记录信息中心

在 TPU 虚拟机上对工作负载进行性能分析

借助性能分析,您可以优化模型在 TPU 虚拟机上的训练性能。您可以使用 TensorBoardTPU TensorBoard 插件来分析模型。如需详细了解如何分析工作负载,请参阅在 TPU 虚拟机上分析模型

如需详细了解如何将 TensorBoard 与其中一个支持的框架搭配使用,请参阅以下文档: