Cloud TPU ワークフローのトラブルシューティング
TPU でトレーニング ワークロードまたは推論ワークロードを実行したら、次のステップは、ワークロードが期待どおりに機能しているかを確認することです。Cloud TPU は、想定どおりに動作していない TPU VM を検索してデバッグできるように、指標とログを生成します。このドキュメントでは、このような VM を外れ値と呼びます。
一般的なトラブルシューティングのワークフローは次のとおりです。
- Cloud TPU の指標を表示して、外れ値の TPU VM を確認する
- 外れ値の TPU VM の Cloud TPU ログを表示する
- ワークロードのプロファイリング
指標とログは、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 の呼び出し日時と呼び出しを行ったユーザーに関する情報が記録されます。たとえば CreateNode
、UpdateNode
、DeleteNode
です。
cloud-tpu-diagnostics
PyPi パッケージを使用して、スタックトレースをログに書き込むこともできます。詳細については、TPU VM のデバッグをご覧ください。
ログの詳細については、ロギングをご覧ください。
モニタリングとロギングのダッシュボード
Google Cloud コンソールで 1 つのページにまとめることで、Cloud TPU 関連の指標とログを簡単に表示、解釈できます。モニタリング デバッグ GitHub リポジトリには、Terraform を使用して、ダッシュボード内の Cloud TPU に関連するすべての指標とログを含むダッシュボードを自動的にデプロイするスクリプトと構成ファイルのセットが含まれています。Google Cloud プロジェクトでこれらのダッシュボードを設定するには、モニタリングとロギングのダッシュボードをご覧ください。
TPU VM でのワークロードのプロファイリング
プロファイリングを使用すると、TPU VM でのモデルのトレーニング パフォーマンスを最適化できます。TensorBoard と TPU TensorBoard プラグインを使用して、モデルをプロファイリングします。ワークロードのプロファイリング方法の詳細については、TPU VM でモデルをプロファイリングするをご覧ください。
サポートされているフレームワークのいずれかと TensorBoard を使用する方法については、次のドキュメントをご覧ください。