wandb は 15 秒ごとにシステムメトリクスを自動的にログします。システムメトリクスを表示する
wandb beta leet のターミナル UI を使用して、システムメトリクスを表示および監視できます。
- App
- LEET
W&B App でシステムメトリクスを表示するには、次の手順に従います。
- W&B App で対象のプロジェクトにアクセスします。
- Runs 表から run を選択します。
- Workspace で、次のグラフが表示される System セクションを探します。
- GPU 使用率とメモリ
- CPU 使用率
- メモリ使用率
- ディスク I/O
- ネットワークトラフィック
CPU
プロセス CPU 使用率 (CPU)
cpu タグを付与します。
プロセスの CPU スレッド数
proc.cpu.threads タグを付与します。
ディスク
/ パスの使用状況メトリクスが収集されます。監視対象のパスを設定するには、次の設定を使用します。
ディスク使用率 (%)
disk.{path}.usagePercent タグを付与します。
ディスク使用量
disk.{path}.usageGB タグを付与します。
Disk In
disk.in タグを割り当てます。
Disk Out
disk.out タグを割り当てます。
メモリ
プロセスメモリ RSS
proc.memory.rssMB タグを割り当てます。
プロセスのメモリ使用率
proc.memory.percent タグを割り当てます。
メモリ使用率
memory_percent タグを付与します。
利用可能なメモリ
proc.memory.availableMB タグを付与します。
ネットワーク
ネットワーク送信
network.sent タグを付与します。
ネットワーク受信量
network.recv タグを割り当てます。
NVIDIA GPU
gpu.process.{gpu_index}.{metric_name} として収集します
GPUメモリ使用率
gpu.{gpu_index}.memory タグを割り当てます。
GPU メモリ割り当て率
gpu.{gpu_index}.memoryAllocated タグを割り当てます。
GPU メモリ割り当て量 (バイト)
gpu.{gpu_index}.memoryAllocatedBytes タグを付与します。
GPU 使用率
gpu.{gpu_index}.gpu タグが割り当てられます。
GPU 温度
gpu.{gpu_index}.temp タグが割り当てられます。
GPU 電力使用量 (ワット)
gpu.{gpu_index}.powerWatts タグを付与します。
GPU 電力使用率
gpu.{gpu_index}.powerPercent タグを割り当てます。
GPU SM クロック速度
gpu.{gpu_index}.smClock タグを割り当てます。
GPUメモリクロック速度
gpu.{gpu_index}.memoryClock タグを割り当てます。
GPU グラフィックスクロック速度
gpu.{gpu_index}.graphicsClock タグを割り当てます。
GPU 訂正済みメモリエラー
gpu.{gpu_index}.correctedMemoryErrors タグを割り当てます。
GPU の訂正不能メモリエラー
gpu.{gpu_index}.unCorrectedMemoryErrors タグを割り当てます。
GPU エンコーダー使用率
gpu.{gpu_index}.encoderUtilization タグを割り当てます。
AMD GPU
rocm-smi ツールの出力 (rocm-smi -a --json) からメトリクスを抽出します。
ROCm の 6.x (最新版) および 5.x の形式がサポートされています。ROCm の形式の詳細については、AMD ROCm ドキュメント を参照してください。新しい形式には、より詳細な情報が含まれています。
AMD GPU 使用率
gpu.{gpu_index}.gpu タグを割り当てます。
AMD GPU メモリ割り当て率
gpu.{gpu_index}.memoryAllocated タグを割り当てます。
AMD GPU 温度
gpu.{gpu_index}.temp タグを付与します。
AMD GPU 電力使用量 (ワット)
gpu.{gpu_index}.powerWatts タグを付与します。
AMD GPU 電力使用率
gpu.{gpu_index}.powerPercent という名前を割り当てます。
Apple ARM MacのGPU
Apple GPU 使用率
gpu.0.gpu タグが割り当てられます。
Apple GPU メモリ割り当て率
gpu.0.memoryAllocated タグを割り当てます。
Apple GPU 温度
gpu.0.temp タグを割り当てます。
Apple GPU 電力使用量 (ワット)
gpu.0.powerWatts タグを付与します。
Apple GPU 電力使用率
gpu.0.powerPercent タグを付与します。
Graphcore IPU
IPU デバイスのメトリクス
device_id) とメトリクスキー (metric_key) があります。W&B はこのメトリクスに ipu.{device_id}.{metric_key} タグを割り当てます。
メトリクスは独自の gcipuinfo ライブラリを使用して抽出されます。このライブラリは Graphcore’s gcipuinfo バイナリとやり取りします。sample method は、プロセス ID (pid) に関連付けられた各 IPU デバイスのこれらのメトリクスを取得します。冗長なデータの logging を避けるため、時間の経過とともに変化するメトリクス、またはデバイスのメトリクスを初めて取得したときのみログされます。
各メトリクスでは、parse_metric method を使用して、生の文字列表現からメトリクスの値を抽出します。次に、これらのメトリクスは aggregate method を使用して複数のサンプルにわたって集計されます。
以下に、利用可能なメトリクスとその単位を示します。
- Average Board Temperature (
average board temp (C)): 摂氏で表した IPU ボードの温度。 - Average Die Temperature (
average die temp (C)): 摂氏で表した IPU ダイの温度。 - Clock Speed (
clock (MHz)): MHz 単位の IPU のクロック速度。 - IPU Power (
ipu power (W)): ワット単位の IPU の消費電力。 - IPU Utilization (
ipu utilisation (%)): IPU 使用率の割合。 - IPU Session Utilization (
ipu utilisation (session) (%)): 現在のセッションに固有の IPU 使用率の割合。 - Data Link Speed (
speed (GT/s)): 1 秒あたりギガトランスファー数で表したデータ転送速度。
Google Cloud TPU
レポートされる正確なメトリクスは、v4、v5e、v5p、v6e、7x などの TPU チップ世代やランタイム環境によって異なります。
TPU Compute メトリクス
-
tpu.{tpu_index}.tensorcoreUtilization: デバイスごとの TensorCore 使用率 (%) です。TensorCore の計算ユニットが十分に活用されているかどうかを最も直接的に示すメトリクスです。 -
tpu.{tpu_index}.dutyCycle: サンプル期間中にアクセラレータの TensorCore が実際に処理を行っていた時間の割合です。このメトリクスはチップ単位で報告され、複数デバイスを持つチップではそのすべてのデバイスに展開されます。値が高いほど、TensorCore がより有効に活用されていることを示します。
TPU メモリメトリクス
-
tpu.{tpu_index}.hbmCapacityTotal: デバイスごとの High Bandwidth Memory (HBM) の総容量 (バイト単位) 。 -
tpu.{tpu_index}.hbmCapacityUsage: デバイスごとの現在の HBM 使用量 (バイト単位) 。
TPU インターコネクトの健全性
tpu.{tpu_index}.iciLinkHealth: デバイスごとの Inter-Chip Interconnect (ICI) リンクの健全性です。このメトリクスは、libtpu SDK パス経由でのみ利用できます。
TPU 転送レイテンシ
-
tpu.bufferTransferLatency.{label}.{stat}Us: スライス間の DCN (Data Center Network) バッファ転送レイテンシ。 -
tpu.inboundBufferTransferLatency.{label}.{stat}Us: 受信 DCN バッファ転送レイテンシ。 -
tpu.hostToDeviceTransferLatency.{label}.{stat}Us: ホストからデバイスへのデータ転送レイテンシ。 -
tpu.deviceToHostTransferLatency.{label}.{stat}Us: デバイスからホストへのデータ転送レイテンシ。
TPU 集合通信
-
tpu.collectiveE2ELatency.{label}.{stat}Us: all-reduce や all-gather などの集合演算におけるエンドツーエンドのレイテンシ。 -
tpu.hostComputeLatency.{label}.{stat}Us: MXLA の計算レイテンシを含む、ホスト側の計算レイテンシ。
TPU ネットワーク メトリクス
-
tpu.grpcTcpMinRtt.{stat}Us: gRPC 接続の TCP の最小ラウンドトリップ時間。 -
tpu.grpcTcpDeliveryRate.{stat}Mbps: gRPC 接続の TCP 配信レート (メガビット/秒) 。
TPU HLO 実行メトリクス
-
tpu.hloExecTiming.{label}.{stat}Us: HLO (High Level Operations) の実行時間分布をマイクロ秒単位で表します。このメトリクスは、オペレーションごとの実行時間を示します。 -
tpu.hloQueueSize.{label}: HLO 実行キューの現在のサイズです。このメトリクスは、実行待ちのオペレーション数を示します。
AWS Trainium
neuron-monitor ツールを使用して、AWS Trainium のメトリクスを取得します。
Trainium Neuron Core 使用率
trn.{core_index}.neuroncore_utilization タグを付与します。
Trainium ホストの合計メモリ使用量
trn.host_total_memory_usage タグを付与します。
Trainium Neuron デバイスの総メモリ使用量
trn.neuron_device_total_memory_usage) タグを割り当てます。
Trainium ホストメモリ使用量の内訳:
- アプリケーション メモリ (
trn.host_total_memory_usage.application_memory): アプリケーションが使用するメモリ。 - 定数 (
trn.host_total_memory_usage.constants): 定数用のメモリ。 - DMA バッファ (
trn.host_total_memory_usage.dma_buffers): Direct Memory Access バッファに使用されるメモリ。 - テンソル (
trn.host_total_memory_usage.tensors): テンソルに使用されるメモリ。
Trainium NeuronCore のメモリ使用量の内訳
- 定数 (
trn.{core_index}.neuroncore_memory_usage.constants) - モデルコード (
trn.{core_index}.neuroncore_memory_usage.model_code) - モデル共有スクラッチパッド (
trn.{core_index}.neuroncore_memory_usage.model_shared_scratchpad) - ランタイムメモリ (
trn.{core_index}.neuroncore_memory_usage.runtime_memory) - テンソル (
trn.{core_index}.neuroncore_memory_usage.tensors)
