메인 콘텐츠로 건너뛰기
이 페이지에서는 W&B SDK에서 추적하는 시스템 메트릭에 대한 자세한 정보를 제공합니다.
wandb는 15초마다 시스템 메트릭을 자동으로 로깅합니다.

시스템 메트릭 보기

W&B App 또는 wandb beta leet 터미널 UI를 사용해 시스템 메트릭을 확인하고 모니터링할 수 있습니다.
W&B App에서 시스템 메트릭을 보려면 다음 단계를 따르세요.
  1. W&B App에서 프로젝트로 이동합니다.
  2. Runs 테이블에서 run을 선택합니다.
  3. Workspace에서 다음 차트를 표시하는 System 섹션을 찾습니다.
    • GPU 사용량 및 메모리
    • CPU 사용량
    • 메모리 사용량
    • 디스크 I/O
    • 네트워크 트래픽
Workspace에 패널을 추가해 표시할 시스템 메트릭을 사용자 지정할 수 있습니다. 시각화를 만들고 사용자 지정하는 방법에 대한 자세한 내용은 Panels를 참조하세요.

CPU

프로세스 CPU 비율(CPU)

프로세스의 CPU 사용량을 사용 가능한 CPU 수로 정규화한 백분율입니다. W&B는 이 메트릭에 cpu 태그를 지정합니다.

프로세스 CPU 스레드

프로세스에서 사용하는 스레드 수입니다. W&B는 이 메트릭에 proc.cpu.threads 태그를 지정합니다.

디스크

기본적으로 디스크 사용 메트릭은 / 경로에 대해 수집됩니다. 모니터링할 경로를 구성하려면 다음 설정을 사용하세요:
run = wandb.init(
    settings=wandb.Settings(
        x_stats_disk_paths=("/System/Volumes/Data", "/home", "/mnt/data"),
    ),
)

디스크 사용률(%)

지정된 경로의 전체 시스템 디스크 사용률을 백분율로 나타냅니다. W&B는 이 메트릭에 disk.{path}.usagePercent 태그를 지정합니다.

디스크 사용량

지정된 경로의 총 시스템 디스크 사용량을 기가바이트(GB) 단위로 나타냅니다. 접근 가능한 경로를 샘플링하고, 각 경로의 디스크 사용량(GB)을 샘플에 추가합니다. W&B는 이 메트릭에 disk.{path}.usageGB 태그를 지정합니다.

디스크 In

총 시스템 디스크 조회량을 메가바이트(MB) 단위로 나타냅니다. 첫 번째 샘플을 수집할 때 초기 디스크 조회 바이트 수를 기록합니다. 이후 샘플에서는 현재 조회 바이트 수와 초기값의 차이를 계산합니다. W&B는 이 메트릭에 disk.in 태그를 할당합니다.

디스크 쓰기

메가바이트(MB) 단위의 시스템 전체 디스크 쓰기량을 나타냅니다. 디스크 In과 마찬가지로, 첫 번째 샘플을 수집할 때 초기 디스크 쓰기 바이트 수를 기록합니다. 이후 샘플에서는 현재 쓰기 바이트 수와 초기값의 차이를 계산합니다. W&B는 이 메트릭에 disk.out 태그를 할당합니다.

메모리

프로세스 메모리 RSS

프로세스의 메모리 RSS(상주 집합 크기)를 메가바이트(MB) 단위로 나타냅니다. RSS는 프로세스가 사용하는 메모리 중 주 메모리(RAM)에 상주하는 부분입니다. W&B는 이 메트릭에 proc.memory.rssMB 태그를 할당합니다.

프로세스 메모리 백분율

프로세스의 메모리 사용량이 전체 사용 가능한 메모리에서 차지하는 비율을 나타냅니다. W&B는 이 메트릭에 proc.memory.percent 태그를 지정합니다.

메모리 사용률

전체 사용 가능한 메모리 중 시스템 메모리 사용량이 차지하는 비율을 나타냅니다. W&B는 이 메트릭에 memory_percent 태그를 지정합니다.

사용 가능한 메모리

시스템에서 사용 가능한 총 메모리 용량을 메가바이트(MB) 단위로 나타냅니다. W&B는 이 메트릭에 proc.memory.availableMB 태그를 할당합니다.

네트워크

네트워크 전송

네트워크를 통해 전송된 총 바이트 수를 나타냅니다. 초기 전송 바이트 수는 메트릭이 처음 초기화될 때 기록됩니다. 이후 샘플에서는 현재 전송된 바이트 수와 초기값의 차이를 계산합니다. W&B는 이 메트릭에 network.sent 태그를 부여합니다.

네트워크 수신량

네트워크를 통해 수신된 총 바이트 수를 나타냅니다. Network Sent와 마찬가지로, 메트릭이 처음 초기화될 때 초기 수신 바이트 수가 기록됩니다. 이후 샘플에서는 현재 수신된 바이트 수와 초기값의 차이를 계산합니다. W&B는 이 메트릭에 network.recv 태그를 부여합니다.

NVIDIA GPU

아래에 설명된 메트릭 외에도, 프로세스 및/또는 그 하위 프로세스가 특정 GPU를 사용하는 경우 W&B는 해당 메트릭을 gpu.process.{gpu_index}.{metric_name} 형식으로 수집합니다.

GPU 메모리 사용량

각 GPU의 메모리 사용량을 백분율로 나타냅니다. W&B는 이 메트릭에 gpu.{gpu_index}.memory 태그를 지정합니다.

GPU 메모리 할당

각 GPU의 전체 사용 가능 메모리 중 할당된 GPU 메모리가 차지하는 비율을 나타냅니다. W&B는 이 메트릭에 gpu.{gpu_index}.memoryAllocated 태그를 할당합니다.

GPU 메모리 할당 바이트 수

각 GPU에 할당된 메모리 용량을 바이트 단위로 지정합니다. W&B는 이 메트릭에 gpu.{gpu_index}.memoryAllocatedBytes 태그를 할당합니다.

GPU 사용량

각 GPU의 사용량을 백분율로 나타냅니다. W&B는 이 메트릭에 gpu.{gpu_index}.gpu 태그를 할당합니다.

GPU 온도

각 GPU의 섭씨 온도입니다. W&B는 이 메트릭에 gpu.{gpu_index}.temp 태그를 할당합니다.

GPU 전력 사용량(와트)

각 GPU의 전력 사용량을 와트 단위로 나타냅니다. W&B는 이 메트릭에 gpu.{gpu_index}.powerWatts 태그를 부여합니다.

GPU 전력 사용 비율

각 GPU의 전력 용량 대비 전력 사용량의 비율을 백분율로 나타냅니다. W&B는 이 메트릭에 gpu.{gpu_index}.powerPercent 태그를 지정합니다.

GPU SM 클록 속도

GPU의 스트리밍 멀티프로세서(SM) 클록 속도를 MHz 단위로 나타냅니다. 이 메트릭은 연산 작업을 담당하는 GPU 코어의 처리 속도를 보여주는 메트릭입니다. W&B는 이 메트릭에 gpu.{gpu_index}.smClock 태그를 지정합니다.

GPU 메모리 클록 속도

MHz 단위의 GPU 메모리 클록 속도를 나타내며, 이는 GPU 메모리와 처리 코어 사이의 데이터 전송 속도에 영향을 줍니다. W&B는 이 메트릭에 gpu.{gpu_index}.memoryClock 태그를 부여합니다.

GPU 그래픽 클록 속도

GPU의 그래픽 렌더링 오퍼레이션에 대한 기본 클록 속도를 나타내며, MHz 단위로 표시됩니다. 이 메트릭은 시각화 또는 렌더링 작업 중의 성능을 반영하는 경우가 많습니다. W&B는 이 메트릭에 gpu.{gpu_index}.graphicsClock 태그를 지정합니다.

GPU 정정된 메모리 오류

오류 검사 프로토콜을 통해 W&B가 자동으로 정정하는 GPU 메모리 오류 수를 추적하며, 복구 가능한 하드웨어 문제를 나타냅니다. W&B는 이 메트릭에 gpu.{gpu_index}.correctedMemoryErrors 태그를 할당합니다.

GPU 정정되지 않은 메모리 오류

GPU에서 정정되지 않은 메모리 오류 수를 추적합니다. 이는 처리 신뢰성에 영향을 줄 수 있는 복구 불가능한 오류를 의미합니다. W&B는 이 메트릭에 gpu.{gpu_index}.unCorrectedMemoryErrors 태그를 할당합니다.

GPU 인코더 사용량

인코딩 작업(예: 비디오 렌더링)이 실행 중일 때 GPU의 비디오 인코더에 얼마나 부하가 걸리는지를 나타내는 사용량(%)입니다. W&B는 이 메트릭에 gpu.{gpu_index}.encoderUtilization 태그를 할당합니다.

AMD GPU

W&B는 AMD에서 제공하는 rocm-smi 도구의 출력(rocm-smi -a --json)에서 메트릭을 추출합니다. ROCm 6.x(최신)5.x 형식을 지원합니다. ROCm 형식에 대한 자세한 내용은 AMD ROCm 문서를 참조하세요. 최신 형식은 더 많은 세부 정보를 제공합니다.

AMD GPU 사용량

각 AMD GPU 장치의 GPU 사용량을 백분율로 나타냅니다. W&B는 이 메트릭에 gpu.{gpu_index}.gpu 태그를 지정합니다.

AMD GPU 메모리 할당

각 AMD GPU 장치에서 전체 사용 가능 메모리 중 할당된 GPU 메모리의 비율을 나타냅니다. W&B는 이 메트릭에 gpu.{gpu_index}.memoryAllocated 태그를 지정합니다.

AMD GPU 온도

각 AMD GPU 장치의 GPU 온도를 섭씨 단위로 나타냅니다. W&B는 이 메트릭에 gpu.{gpu_index}.temp 태그를 할당합니다.

AMD GPU 전력 사용량(와트)

각 AMD GPU 장치의 전력 사용량을 와트 단위로 나타낸 값입니다. W&B는 이 메트릭에 gpu.{gpu_index}.powerWatts 태그를 지정합니다.

AMD GPU 전력 사용 비율

각 AMD GPU 장치의 전력 용량 대비 GPU 전력 사용량을 백분율로 나타냅니다. W&B는 이 메트릭에 gpu.{gpu_index}.powerPercent를 할당합니다.

Apple ARM Mac GPU

Apple GPU 사용량

Apple GPU 장치, 특히 ARM Mac에서의 GPU 사용량을 백분율로 나타냅니다. W&B는 이 메트릭에 gpu.0.gpu 태그를 할당합니다.

Apple GPU 메모리 할당

ARM Mac의 Apple GPU 장치에서 전체 사용 가능 메모리 대비 할당된 GPU 메모리의 백분율입니다. W&B는 이 메트릭에 gpu.0.memoryAllocated 태그를 지정합니다.

Apple GPU 온도

ARM Mac의 Apple GPU 장치에서의 GPU 온도(섭씨)입니다. W&B는 이 메트릭에 gpu.0.temp 태그를 지정합니다.

Apple GPU 전력 사용량(와트)

ARM Mac의 Apple GPU 장치에서의 GPU 전력 사용량(와트)입니다. W&B는 이 메트릭에 gpu.0.powerWatts 태그를 지정합니다.

Apple GPU 전력 사용 비율

ARM Mac의 Apple GPU 장치에서 전력 용량 대비 GPU 전력 사용량이 차지하는 백분율입니다. W&B는 이 메트릭에 gpu.0.powerPercent 태그를 할당합니다.

Graphcore IPU

Graphcore IPU(Intelligence Processing Units)는 머신 인텔리전스 작업에 특화되도록 설계된 고유한 하드웨어 가속기입니다.

IPU 디바이스 메트릭

이 메트릭은 특정 IPU 디바이스의 다양한 통계를 나타냅니다. 각 메트릭에는 이를 식별하기 위한 디바이스 ID(device_id)와 메트릭 키(metric_key)가 있습니다. W&B는 이 메트릭에 ipu.{device_id}.{metric_key} 태그를 할당합니다. 메트릭은 전용 gcipuinfo 라이브러리를 사용해 추출되며, 이 라이브러리는 Graphcore의 gcipuinfo 바이너리와 상호작용합니다. sample 메서드는 프로세스 ID(pid)와 연관된 각 IPU 디바이스의 메트릭을 가져옵니다. 중복 데이터가 로깅되지 않도록 시간에 따라 변경되는 메트릭이나 디바이스의 메트릭을 처음 가져올 때만 로깅합니다. 각 메트릭에 대해 parse_metric 메서드를 사용하여 원시 문자열 표현에서 메트릭 값을 추출합니다. 그런 다음 메트릭은 aggregate 메서드를 사용해 여러 샘플에 걸쳐 집계됩니다. 다음은 사용 가능한 메트릭과 해당 단위의 목록입니다.
  • 평균 보드 온도 (average board temp (C)): 섭씨 단위의 IPU 보드 온도입니다.
  • 평균 다이 온도 (average die temp (C)): 섭씨 단위의 IPU 다이 온도입니다.
  • 클록 속도 (clock (MHz)): MHz 단위의 IPU 클록 속도입니다.
  • IPU 전력 (ipu power (W)): 와트 단위의 IPU 전력 소비량입니다.
  • IPU 사용량 (ipu utilisation (%)): IPU 사용량의 백분율입니다.
  • IPU 세션 사용량 (ipu utilisation (session) (%)): 현재 세션에 해당하는 IPU 사용량 백분율입니다.
  • 데이터 링크 속도 (speed (GT/s)): 초당 기가 전송 수 단위의 데이터 전송 속도입니다.

Google Cloud TPU

Tensor Processing Unit(TPU)는 머신러닝 워크로드를 가속하기 위해 Google이 자체 개발한 맞춤형 ASIC(Application Specific Integrated Circuit)입니다.

TPU 메모리 사용량

각 TPU 코어의 현재 High Bandwidth Memory 사용량(바이트 단위)입니다. W&B는 이 메트릭에 tpu.{tpu_index}.memoryUsageBytes 태그를 지정합니다.

TPU 메모리 사용 비율

현재 TPU 코어별 High Bandwidth Memory 사용률(%)입니다. W&B는 이 메트릭에 tpu.{tpu_index}.memoryUsageBytes 태그를 할당합니다.

TPU 듀티 사이클

TPU 장치별 TensorCore 듀티 사이클 백분율입니다. 샘플링 기간 동안 가속기 TensorCore가 실제로 처리 작업을 수행한 시간의 비율을 나타냅니다. 값이 클수록 TensorCore 사용량이 더 높습니다. W&B는 이 메트릭에 tpu.{tpu_index}.dutyCycle 태그를 부여합니다.

AWS Trainium

AWS Trainium은 머신 러닝 워크로드를 가속화하도록 설계된 AWS의 특수 하드웨어 플랫폼입니다. AWS의 neuron-monitor 도구는 AWS Trainium 메트릭을 수집하는 데 사용됩니다.

Trainium Neuron Core 사용량

각 NeuronCore의 사용량을 코어별 백분율로 나타낸 값입니다. W&B는 이 메트릭에 trn.{core_index}.neuroncore_utilization 태그를 지정합니다.

Trainium 호스트 총 메모리 사용량

호스트에서 사용된 총 메모리 양(바이트)입니다. W&B는 이 메트릭에 trn.host_total_memory_usage 태그를 할당합니다.

Trainium Neuron 디바이스 총 메모리 사용량

Neuron 디바이스의 총 메모리 사용량(바이트 단위)입니다. W&B는 이 메트릭에 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): DMA(Direct Memory Access) 버퍼에 사용되는 메모리입니다.
  • 텐서 (trn.host_total_memory_usage.tensors): 텐서에 사용되는 메모리입니다.

Trainium Neuron Core 메모리 사용량 세부 내역

각 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)

OpenMetrics

OpenMetrics / Prometheus 호환 데이터를 노출하는 외부 엔드포인트에서 메트릭을 수집하고 기록할 수 있으며, 수집된 엔드포인트에 적용할 맞춤형 정규식 기반 메트릭 필터도 지원합니다. NVIDIA DCGM-Exporter를 사용해 GPU 클러스터 성능을 모니터링하는 특정 사례에서 이 기능을 사용하는 자세한 예시는 W&B에서 GPU 클러스터 성능 모니터링을 참고하세요.