wandb は 15 秒ごとにシステムメトリクスを自動で記録します。システムメトリクスを表示する
wandb beta leet ターミナル UI を使用して、システムメトリクスを表示・監視できます。
- App
- LEET
W&B App でシステムメトリクスを表示するには:
- W&B App で自分のプロジェクトに移動します。
- W&B App の Runs テーブルから run を 1 つ選択します。
- Workspace 内の System セクションを探します。このセクションには、次のチャートが表示されます:
- GPU 使用率とメモリ
- CPU 使用率
- メモリ使用量
- ディスク I/O
- ネットワークトラフィック
CPU
プロセス CPU パーセント (CPU)
cpu タグを割り当てます。
プロセス CPU スレッド
proc.cpu.threads タグを付与します。
ディスク
/ パスの使用率メトリクスが収集されます。監視するパスを設定するには、次の設定を行います。
ディスク使用率(パーセント)
disk.{path}.usagePercent というタグを付与します。
ディスク使用量
disk.{path}.usageGB タグを割り当てます。
Disk In
最初のサンプルが取得された時点で、初期のディスク読み取りバイト数が記録されます。以降のサンプルでは、現在の読み取りバイト数と初期値との差分が計算されます。 このメトリクスには、W&B によって
disk.in タグが割り当てられます。
Disk Out
disk.out タグを割り当てます。
メモリ
プロセスメモリ RSS
proc.memory.rssMB タグを割り当てます。
プロセスメモリ使用率
proc.memory.percent タグを割り当てます。
メモリ使用率(パーセント)
memory_percent タグを付与します。
利用可能メモリ
proc.memory.availableMB タグを割り当てます。
ネットワーク
Network Sent
network.sent タグを割り当てます。
Network Received
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 Temperature
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 Uncorrected Memory Errors
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 Temperature
gpu.{gpu_index}.temp タグを割り当てます。
AMD GPU 電力使用量(ワット)
gpu.{gpu_index}.powerWatts タグを割り当てます。
AMD GPU 電力使用率
gpu.{gpu_index}.powerPercent という名前を割り当てています。
Apple シリコン 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 の gcipuinfo バイナリと連携して動作します。sample メソッドは、プロセス ID(pid)に関連付けられた各 IPU デバイスのメトリクスを取得します。重複したデータのログ出力を避けるため、時間とともに値が変化するメトリクス、またはそのデバイスのメトリクスが初めて取得されたときのメトリクスのみがログに記録されます。
各メトリクスについては、生の文字列表現からメトリクスの値を抽出するために parse_metric メソッドが使用されます。その後、aggregate メソッドを使用して、複数のサンプルにわたってメトリクスが集約されます。
使用可能なメトリクスとその単位は次のとおりです:
- Average Board Temperature (
average board temp (C)): IPU ボードの温度(摂氏)。 - Average Die Temperature (
average die temp (C)): IPU ダイの温度(摂氏)。 - Clock Speed (
clock (MHz)): IPU のクロック周波数(MHz)。 - 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
TPU メモリ使用量
tpu.{tpu_index}.memoryUsageBytes タグを割り当てます。
TPU メモリ使用率(パーセンテージ)
tpu.{tpu_index}.memoryUsageBytes というタグを割り当てます。
TPU デューティサイクル
tpu.{tpu_index}.dutyCycle タグを割り当てます。
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 ホストメモリ使用量の内訳:
- Application Memory (
trn.host_total_memory_usage.application_memory): アプリケーションによって使用されるメモリ。 - Constants (
trn.host_total_memory_usage.constants): 定数を格納するために使用されるメモリ。 - DMA Buffers (
trn.host_total_memory_usage.dma_buffers): Direct Memory Access (DMA) バッファに使用されるメモリ。 - Tensors (
trn.host_total_memory_usage.tensors): テンソルを格納するために使用されるメモリ。
Trainium Neuron Core メモリ使用量の内訳
- Constants (
trn.{core_index}.neuroncore_memory_usage.constants) - Model Code (
trn.{core_index}.neuroncore_memory_usage.model_code) - Model Shared Scratchpad (
trn.{core_index}.neuroncore_memory_usage.model_shared_scratchpad) - Runtime Memory (
trn.{core_index}.neuroncore_memory_usage.runtime_memory) - Tensors (
trn.{core_index}.neuroncore_memory_usage.tensors)
