메인 콘텐츠로 건너뛰기
이 페이지에서는 W&B SDK가 추적하는 시스템 메트릭에 대해 자세히 설명합니다.
wandb는 15초마다 시스템 메트릭을 자동으로 로깅합니다.

시스템 메트릭 보기

W&B App 또는 wandb beta leet 터미널 UI를 사용해 시스템 메트릭을 조회하고 모니터링할 수 있습니다.
W&B App에서 시스템 메트릭을 보려면:
  1. W&B App에서 자신의 프로젝트로 이동합니다.
  2. Runs 테이블에서 run 하나를 선택합니다.
  3. 워크스페이스에서 다음 차트를 표시하는 System 섹션을 찾습니다:
    • GPU 사용률 및 메모리
    • CPU 사용량
    • 메모리 사용량
    • 디스크 I/O
    • 네트워크 트래픽
워크스페이스에 패널을 추가해 표시할 시스템 메트릭을 사용자 지정할 수 있습니다. 시각화를 생성하고 사용자 지정하는 방법은 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 태그를 할당합니다.

Disk In

메가바이트(MB) 단위로 표시되는 전체 시스템 디스크 읽기량을 나타냅니다.
샘플을 처음 채집할 때 초기 디스크 읽기 바이트 수가 기록됩니다. 이후 샘플에서는 현재 읽기 바이트 수에서 초기 값을 뺀 차이를 계산합니다.
W&B는 이 메트릭에 disk.in 태그를 할당합니다.

Disk Out

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

메모리

프로세스 메모리 RSS

프로세스의 메모리 상주 집합 크기(Resident Set Size, RSS)를 메가바이트(MB) 단위로 표시합니다. RSS는 프로세스가 사용하는 메모리 중 주기억장치(RAM)에 상주하는 부분을 의미합니다. W&B는 이 메트릭에 proc.memory.rssMB 태그를 할당합니다.

프로세스 메모리 비율

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

메모리 비율

시스템 전체 메모리 사용량을 사용 가능한 총 메모리 대비 백분율로 나타냅니다. W&B는 이 메트릭에 memory_percent 태그를 할당합니다.

사용 가능한 메모리

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

네트워크

Network Sent

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

수신 네트워크 트래픽

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

NVIDIA GPU

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

GPU 메모리 사용률

각 GPU의 GPU 메모리 사용률(%)을 표시합니다. W&B는 이 메트릭에 gpu.{gpu_index}.memory 태그를 할당합니다.

GPU 메모리 할당량

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

GPU 메모리 할당 바이트 수

각 GPU에 대해 할당된 GPU 메모리 양을 바이트 단위로 나타냅니다. W&B는 이 메트릭에 gpu.{gpu_index}.memoryAllocatedBytes 태그를 할당합니다.

GPU Utilization

각 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의 Streaming Multiprocessor(SM)의 클럭 속도를 MHz 단위로 나타냅니다. 이 메트릭은 연산 작업을 수행하는 GPU 코어의 처리 속도를 나타냅니다. W&B는 이 메트릭에 gpu.{gpu_index}.smClock 태그를 할당합니다.

GPU 메모리 클록 속도

GPU 메모리의 클록 속도를 MHz 단위로 표시하며, 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 Uncorrected Memory Errors

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 (latest)5.x 형식이 지원됩니다. ROCm 형식에 대한 자세한 내용은 AMD ROCm 문서를 참조하십시오. 최신 형식에는 더 많은 세부 정보가 포함되어 있습니다.

AMD GPU Utilization

각 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 사용률

ARM Mac의 Apple GPU 디바이스에 대한 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 Unit)는 머신 인텔리전스 작업을 위해 특별히 설계된 전용 하드웨어 가속기입니다.

IPU 디바이스 메트릭

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

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 호스트 메모리 사용량 분석:

다음은 호스트 메모리 사용량의 세부 내역입니다:
  • 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): DMA(Direct Memory Access) 버퍼에 사용되는 메모리.
  • Tensors (trn.host_total_memory_usage.tensors): 텐서에 사용되는 메모리.

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

각 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와 호환되는 데이터를 노출하는 외부 엔드포인트에서 메트릭을 수집하고 로깅합니다. 이때 해당 엔드포인트에 적용할 수 있는 사용자 정의 정규식 기반 메트릭 필터를 지원합니다. GPU 클러스터 성능 모니터링의 한 사례에서 이 기능을 사용하는 방법에 대한 자세한 예시는 W&B에서 GPU 클러스터 성능 모니터링을 참고하세요. 이 예시는 NVIDIA DCGM-Exporter를 사용한 GPU 클러스터 성능 모니터링을 다룹니다.