排查 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 工作器日志包含有关特定区域中特定 TPU 工作器的信息,例如 TPU 工作器上的可用内存量 (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 项目中设置这些信息中心,请参阅 Monitoring 和 Logging 信息中心

在 TPU 虚拟机上剖析工作负载的性能

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

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