排解 Cloud TPU 工作流程問題

在 TPU 上執行訓練或推論工作負載後,下一步是確保工作負載正常運作。Cloud TPU 會產生指標和記錄,方便您找出並偵錯任何行為不符預期的 TPU VM。在本說明文件中,這類 VM 稱為「離群值」。

一般疑難排解工作流程如下:

  1. 查看 Cloud TPU 指標,檢查是否有異常 TPU VM
  2. 查看離群 TPU VM 的 Cloud TPU 記錄
  3. 剖析工作負載

您可以在 Google Cloud控制台的Metrics Explorer 和Logs Explorer 中查看指標和記錄。您也可以使用監控和記錄資訊主頁,在個別資訊主頁中收集所有 Cloud TPU 相關指標和記錄。

Cloud TPU VM 指標

Cloud Monitoring 會自動從 TPU 和主機 Compute Engine VM 收集指標。指標會追蹤一段時間內的數值,例如 CPU 使用率、網路用量或 TensorCore 閒置時間長度。如要進一步瞭解 Cloud TPU 指標,請參閱「監控 TPU VM」。

Cloud TPU 記錄

Cloud Logging 會自動收集 TPU 和主機 Compute Engine VM 的記錄。Cloud Logging 會追蹤 Cloud TPU 產生的事件。您也可以檢測程式碼來產生記錄。Cloud TPU 會產生兩種記錄:

  • TPU 工作站記錄
  • 已稽核的資源記錄

TPU 工作站記錄檔包含特定可用區中特定 TPU 工作站的資訊,例如 TPU 工作站的可用記憶體量 (system_available_memory_GiB)。

「稽核資源」記錄檔包含特定 Cloud TPU API 的呼叫時間和呼叫者資訊。例如 CreateNode、UpdateNode 和 DeleteNode。

您也可以使用 cloud-tpu-diagnostics PyPi 套件,將堆疊追蹤寫入記錄。詳情請參閱「對 TPU VM 進行偵錯」。

如要進一步瞭解記錄,請參閱「記錄」。

Cloud TPU 健康指標

Cloud TPU 健康狀態監控功能可提供 VM 和切片的即時健康狀態資訊。您可以使用 Cloud Monitoring 控制台或 LibTPU Monitoring Library,在硬體故障發生時找出問題。這樣一來,您就能重新分配資源,避免工作完全失敗,並盡可能減少效能降低的情況。

詳情請參閱「TPU 健康狀態監控」。

監控與記錄資訊主頁

Google Cloud 控制台中的單一頁面可讓您更輕鬆地查看及解讀 Cloud TPU 相關指標和記錄。cloud-tpu-monitoring-debugging GitHub 存放區包含一組指令碼和設定檔,可使用 Terraform 自動部署資訊主頁,其中包含所有 Cloud TPU 相關指標和記錄。如要在 Google Cloud 專案中設定這些資訊主頁,請參閱「Monitoring 和 Logging 資訊主頁」。

在 TPU VM 上剖析工作負載

剖析功能可讓您最佳化 TPU VM 上的模型訓練效能。您可以使用 TensorBoard 和 TPU TensorBoard 外掛程式剖析模型。如要進一步瞭解如何剖析工作負載,請參閱「在 TPU VM 上剖析模型」。

如要進一步瞭解如何搭配使用 TensorBoard 和支援的架構,請參閱下列文件:

使用自訂映像檔時 VM 啟動失敗

如果 VM 在自訂後無法啟動,請使用 Google Cloud 控制台或gcloud compute instances get-serial-port-output查看序列控制台輸出內容。這是診斷資訊的主要來源。由於無法離線修復磁碟,因此您必須在開機指令碼或自訂映像檔來源中修正問題,然後重新建立 TPU 資源。

如要進一步瞭解如何自訂 Cloud TPU VM 開機磁碟,請參閱「TPU VM 開機磁碟」。