TPU VM をモニタリングする

このガイドでは、 Cloud Monitoring を使用して TPU VM をモニタリングする方法について説明します。Cloud Monitoring は、TPU とそのホスト VM から 指標ログを自動的に収集します。これらのデータを使用して、TPU と Compute Engine の状態をモニタリングできます。

指標を使用すると、CPU 使用率、ネットワーク使用量、TensorCore のアイドル期間など、時間の経過に伴う数値を追跡できます。ログは特定の時点でのイベントをキャプチャします。ログエントリは、独自のコード、 Google Cloud サービス、サードパーティ アプリケーション、および Google Cloud インフラストラクチャによって作成されます。ログベースの指標を作成して、ログエントリに存在するデータ から指標を生成することもできます。指標値または ログ エントリに基づいてアラート ポリシーを設定することもできます。

TPU をモニタリングするには、キャパシティ プランナー (プレビュー)も使用できます。キャパシティ プランナーを使用すると、プロジェクト、フォルダ、組織の TPU の使用状況と予測データを表示できます。このデータは 24 時間ごとに更新されます。このデータを使用して、使用状況の傾向を分析し、将来の容量ニーズを計画できます。詳細については、キャパシティ プランナー の概要をご覧ください。

TPU 指標にアクセスする

Compute Engine は、TPU ランタイム指標と TPU VM インフラストラクチャ指標の 2 種類の TPU 指標を生成します。指標を取得するには、次の 2 つの方法があります。

  • TPU モニタリング ライブラリ: TPU モニタリング ライブラリを使用して、LibTPU SDK から TPU ランタイム指標を取得します。これにより、アプリケーションはゲスト環境内からリアルタイムのテレメトリーを取得できます。詳細については、 TPU モニタリング ライブラリをご覧ください。

  • AI テレメトリー コレクタ: AI テレメトリー コレクタを介して、ランタイム指標と VM インフラストラクチャ 指標を取得します。AI テレメトリー コレクタは TPU VM 内で実行され、Cloud Monitoring または独自の Prometheus ベースのモニタリング パイプラインを介して指標にアクセスできます。詳細については、 AI テレメトリー コレクタをご覧ください。

TPU 指標

Google Cloud Cloud TPU の 指標は、Compute Engine VM と Cloud TPU ランタイムによって自動的に生成されます。次の表の指標は、Compute Engine VM によって生成されます。

次の表の指標タイプの文字列には、compute.googleapis.com/ という接頭辞を付ける必要があります。この接頭辞は、表のエントリでは省略されています。ラベルをクエリする場合は、metric.labels 接頭辞を使用します(例: metric.labels.LABEL="VALUE")。

指標タイプリリース ステージ(リソース階層レベル)
表示名
種類、タイプ、単位
モニタリング対象リソース
説明
ラベル
instance/tpu/accelerator/duty_cycle ベータ版(プロジェクト)
アクセラレータのデューティ サイクル
GAUGEDOUBLE%
gce_instance
サンプル期間中にアクセラレータがアクティブに処理していた時間の割合。値の範囲は [0,100] です。
accelerator_id: アクセラレータのデバイス ID。
instance/tpu/accelerator/memory_bandwidth_utilization ベータ版(プロジェクト)
アクセラレータのメモリ帯域幅使用率
GAUGEDOUBLE%
gce_instance
使用されているアクセラレータ メモリ帯域幅の現在の割合。サンプル期間中に使用されたメモリ帯域幅を、同じサンプル期間中にサポートされる最大帯域幅で割って計算されます。
accelerator_id: アクセラレータのデバイス ID。
instance/tpu/accelerator/memory_total ベータ版(プロジェクト)
アクセラレータの合計メモリ
GAUGEINT64By
gce_instance
現在割り当てられているアクセラレータの合計メモリ量(バイト単位)。
accelerator_id: アクセラレータのデバイス ID。
instance/tpu/accelerator/memory_used ベータ版(プロジェクト)
アクセラレータの使用済みメモリ
GAUGEINT64By
gce_instance
現在使用されているアクセラレータの合計メモリ量(バイト単位)。
accelerator_id: アクセラレータのデバイス ID。
instance/tpu/accelerator/tensorcore_utilization ベータ版(プロジェクト)
アクセラレータ TensorCore 使用率
GAUGEDOUBLE%
gce_instance
使用されている TensorCore の現在の割合。サンプル期間中に実行された TensorCore オペレーションを、同じサンプル期間中にサポートされる TensorCore オペレーションの数で割って計算されます。
accelerator_id: アクセラレータのデバイス ID。
instance/tpu/active_chips ベータ版(プロジェクト)
アクティブな TPU チップの数
GAUGEINT641
gce_instance
現在アクティブに使用されているチップの数(アイドル状態ではない)。
accelerator_type: アクセラレータのタイプと世代。
reservation_id: 物理マシンの予約の ID。
provisioning_model: 関連付けられたプロビジョニング モデル。
protection_tier: 関連付けられた保護モデル。
block_id: VM をホストするクラスタ内のブロックの ID。
subblock_id: VM をホストするサブブロックの ID。
is_exr: (BOOL) チップが拡張予約の一部であるかどうかを示します。
instance/tpu/chip_state ベータ版(プロジェクト)
TPU チップの状態数
GAUGEINT641
gce_instance
正常、異常、不明など、さまざまな状態の TPU チップの数。
state: チップの状態。
accelerator_type: アクセラレータのタイプと世代。
block_id: VM をホストするクラスタ内のブロックの ID。
subblock_id: VM をホストするサブブロックの ID。
reservation_id: 物理マシンの予約の ID。
is_exr: (BOOL) チップが拡張予約の一部であるかどうかを示します。
instance/tpu/infra_health ベータ版(プロジェクト)
TPU インスタンスの健全性
GAUGEINT641
gce_instance
TPU インスタンスの全体的な健全性ステータスを示します。指標ラベルは、主に TPU ハードウェアとシステムの健全性に焦点を当てて、パフォーマンスが低下した TPU インスタンスまたは異常な TPU インスタンスの特定の健全性ステータスと問題の原因を特定するのに役立ちます。 __健全性ステータスの変更がこの指標に反映されるまでに数分かかることがあります。60 秒ごとにサンプリングされます。サンプリング後、データは最大 420 秒間表示されません。
health_status: TPU インスタンスの全体的な健全性ステータス。有効な値: HEALTHY(想定どおりに動作している)、UNHEALTHY(重大な問題が検出された)、DEGRADED(パフォーマンスに影響する問題)、UNKNOWN(ステータスを特定できない)。
unhealthy_category: 異常な VM ステータスの説明。このラベルは、指標の値が Unhealthy の場合にのみ入力されます。
machine_type: インスタンスのマシンタイプ(ct6e-standard-4t-tpu など)。
machine_id: VM をホストする物理マシンの ID。
block_id: VM をホストするクラスタ内のブロックの ID。
cluster_id: VM をホストするクラスタの ID。
reservation_id: 物理マシンの予約の ID。
subblock_id: VM をホストするサブブロックの ID。
instance/tpu/runtime/uptime ベータ版(プロジェクト)
ランタイムの稼働時間
GAUGEINT64s
gce_instance
ML ジョブによるランタイム ライブラリ(libtpu.so)の初期化以降の ML ランタイムの稼働時間。この期間中、ランタイム ライブラリは ML ジョブで使用するために TPU デバイスをブロックします。
ml_framework_name: ML フレームワークの名前。
ml_framework_version: ML フレームワークのバージョン。
instance/tpu/scheduled_chips ベータ版(プロジェクト)
スケジュールされた TPU チップの数
GAUGEINT641
gce_instance
メンテナンスのために DISABLED ではなく、HEALTHY である VM に割り当てられているチップの現在の数。
accelerator_type: アクセラレータのタイプと世代。
reservation_id: 物理マシンの予約の ID。
provisioning_model: 関連付けられたプロビジョニング モデル。