Cloud TPU ワークフローのトラブルシューティング

TPU でトレーニング ワークロードまたは推論ワークロードを実行したら、次のステップは、ワークロードが期待どおりに機能しているかを確認することです。Cloud TPU は、想定どおりに動作していない TPU VM を検索してデバッグできる指標とログを生成します。このドキュメントでは、このような VM を外れ値と呼びます。

一般的なトラブルシューティング ワークフローは次のとおりです。

  1. Cloud TPU 指標を表示して外れ値 TPU VM を確認する
  2. 外れ値 TPU VM の Cloud TPU ログを表示する
  3. ワークロードをプロファイリングする

指標とログは、Metrics Explorer と Google Cloud コンソールのログ エクスプローラで表示できます。モニタリングとロギングのダッシュボードを使用して、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 によって、次の 2 種類のログが生成されます。

  • TPU ワーカーログ
  • 監査対象リソースログ

TPU ワーカーログには、TPU ワーカーで使用可能なメモリ量(system_available_memory_GiB)など、特定のゾーン内の特定の TPU ワーカーに関する情報が含まれます。

監査対象リソースログには、特定の Cloud TPU API の呼び出し日時と呼び出しを行ったユーザーに関する情報が記録されます。たとえば CreateNodeUpdateNodeDeleteNode です。

cloud-tpu-diagnostics PyPi パッケージを使用して、スタック トレースをログに書き込むこともできます。詳細については、TPU VM のデバッグをご覧ください。

ログの詳細については、Logging をご覧ください。

モニタリングとロギングのダッシュボード

Google Cloud コンソールに 1 つのページを用意することで、Cloud TPU 関連の指標とログを簡単に表示して解釈できます。モニタリング デバッグ GitHub リポジトリには、Terraform を使用して、ダッシュボード内の Cloud TPU に関連するすべて指標とログを含むダッシュボードを自動的にデプロイするスクリプトと構成ファイルのセットが含まれています。これらのダッシュボードを Google Cloud プロジェクトで設定するには、Monitoring と Logging のダッシュボードをご覧ください。

TPU VM でのワークロードのプロファイリング

プロファイリングを使用すると、TPU VM でのモデルのトレーニング パフォーマンスを最適化できます。TensorBoardTPU TensorBoard プラグインを使用して、モデルをプロファイリングします。ワークロードをプロファイリングする方法の詳細については、TPU VM でモデルをプロファイリングするをご覧ください。

サポートされているフレームワークのいずれかと TensorBoard を使用する方法については、次のドキュメントをご覧ください。