wandb는 15초마다 자동으로 시스템 메트릭을 로그합니다.시스템 메트릭 보기
W&B App 또는wandb beta leet 터미널 UI를 사용하여 시스템 메트릭을 보고 모니터링할 수 있습니다.
- App
- LEET
W&B App에서 시스템 메트릭을 보려면 다음 단계를 따르세요:
- W&B App에서 해당 프로젝트로 이동합니다.
- Runs 테이블에서 run 하나를 선택합니다.
- Workspace에서 다음 차트들이 표시되는 System 섹션을 찾으십시오:
- GPU utilization 및 memory
- CPU usage
- Memory usage
- Disk I/O
- Network traffic
CPU
Process CPU Percent (CPU)
프로세스에서 사용하는 CPU 사용률로, 사용 가능한 CPU 수에 따라 정규화된 값입니다. W&B는 이 메트릭에cpu 태그를 할당합니다.
Process CPU Threads
프로세스에서 활용하는 스레드 수입니다. W&B는 이 메트릭에proc.cpu.threads 태그를 할당합니다.
Disk
기본적으로 사용량 메트릭은/ 경로에 대해 수집됩니다. 모니터링할 경로를 구성하려면 다음 설정을 사용하십시오:
Disk Usage Percent
지정된 경로에 대한 전체 시스템 디스크 사용량을 백분율로 나타냅니다. W&B는 이 메트릭에disk.{path}.usagePercent 태그를 할당합니다.
Disk Usage
지정된 경로에 대한 전체 시스템 디스크 사용량을 기가바이트(GB) 단위로 나타냅니다. 엑세스 가능한 경로를 샘플링하고, 각 경로의 디스크 사용량(GB)을 샘플에 추가합니다. W&B는 이 메트릭에disk.{path}.usageGB 태그를 할당합니다.
Disk In
시스템의 총 디스크 읽기 용량을 메가바이트(MB) 단위로 나타냅니다. 첫 번째 샘플을 채취할 때 초기 디스크 읽기 바이트가 기록됩니다. 이후 샘플은 현재 읽기 바이트와 초기값 간의 차이를 계산합니다. W&B는 이 메트릭에disk.in 태그를 할당합니다.
Disk Out
시스템의 총 디스크 쓰기 용량을 메가바이트(MB) 단위로 나타냅니다. Disk In과 마찬가지로, 첫 번째 샘플을 채취할 때 초기 디스크 쓰기 바이트가 기록됩니다. 이후 샘플은 현재 쓰기 바이트와 초기값 간의 차이를 계산합니다. W&B는 이 메트릭에disk.out 태그를 할당합니다.
Memory
Process Memory RSS
프로세스의 Memory Resident Set Size (RSS)를 메가바이트(MB) 단위로 나타냅니다. RSS는 프로세스가 점유하고 있는 메모리 중 메인 메모리(RAM)에 유지되고 있는 부분입니다. W&B는 이 메트릭에proc.memory.rssMB 태그를 할당합니다.
Process Memory Percent
프로세스의 메모리 사용량을 전체 가용 메모리에 대한 백분율로 나타냅니다. W&B는 이 메트릭에proc.memory.percent 태그를 할당합니다.
Memory Percent
전체 시스템 메모리 사용량을 가용 메모리에 대한 백분율로 나타냅니다. W&B는 이 메트릭에memory_percent 태그를 할당합니다.
Memory Available
시스템에서 사용 가능한 총 메모리를 메가바이트(MB) 단위로 나타냅니다. W&B는 이 메트릭에proc.memory.availableMB 태그를 할당합니다.
Network
Network Sent
네트워크를 통해 전송된 총 바이트 수입니다. 메트릭이 처음 초기화될 때 초기 전송 바이트가 기록됩니다. 이후 샘플은 현재 전송 바이트와 초기값 간의 차이를 계산합니다. W&B는 이 메트릭에network.sent 태그를 할당합니다.
Network Received
네트워크를 통해 수신된 총 바이트 수입니다. Network Sent와 마찬가지로, 메트릭이 처음 초기화될 때 초기 수신 바이트가 기록됩니다. 이후 샘플은 현재 수신 바이트와 초기값 간의 차이를 계산합니다. W&B는 이 메트릭에network.recv 태그를 할당합니다.
NVIDIA GPU
아래 설명된 메트릭 외에도, 프로세스 및/또는 그 하위 프로세스가 특정 GPU를 사용하는 경우 W&B는 해당 메트릭을gpu.process.{gpu_index}.{metric_name}으로 캡처합니다.
GPU Memory Utilization
각 GPU의 GPU 메모리 사용률을 백분율로 나타냅니다. W&B는 이 메트릭에gpu.{gpu_index}.memory 태그를 할당합니다.
GPU Memory Allocated
각 GPU의 가용 메모리 대비 할당된 GPU 메모리 비율을 백분율로 나타냅니다. W&B는 이 메트릭에gpu.{gpu_index}.memoryAllocated 태그를 할당합니다.
GPU Memory Allocated Bytes
각 GPU에 할당된 GPU 메모리를 바이트 단위로 지정합니다. W&B는 이 메트릭에gpu.{gpu_index}.memoryAllocatedBytes 태그를 할당합니다.
GPU Utilization
각 GPU의 GPU 사용률을 백분율로 반영합니다. W&B는 이 메트릭에gpu.{gpu_index}.gpu 태그를 할당합니다.
GPU Temperature
각 GPU의 온도를 섭씨 단위로 나타냅니다. W&B는 이 메트릭에gpu.{gpu_index}.temp 태그를 할당합니다.
GPU Power Usage Watts
각 GPU의 전력 사용량을 와트(Watt) 단위로 나타냅니다. W&B는 이 메트릭에gpu.{gpu_index}.powerWatts 태그를 할당합니다.
GPU Power Usage Percent
각 GPU의 전력 용량 대비 전력 사용량을 백분율로 반영합니다. W&B는 이 메트릭에gpu.{gpu_index}.powerPercent 태그를 할당합니다.
GPU SM Clock Speed
GPU에 있는 Streaming Multiprocessor (SM)의 클럭 속도를 MHz 단위로 나타냅니다. 이 메트릭은 연산 작업을 담당하는 GPU 코어 내의 처리 속도를 나타냅니다. W&B는 이 메트릭에gpu.{gpu_index}.smClock 태그를 할당합니다.
GPU Memory Clock Speed
GPU 메모리의 클럭 속도를 MHz 단위로 나타내며, 이는 GPU 메모리와 처리 코어 간의 데이터 전송 속도에 영향을 미칩니다. W&B는 이 메트릭에gpu.{gpu_index}.memoryClock 태그를 할당합니다.
GPU Graphics Clock Speed
GPU의 그래픽 렌더링 작업을 위한 베이스 클럭 속도를 MHz 단위로 나타냅니다. 이 메트릭은 종종 시각화 또는 렌더링 작업 중의 성능을 반영합니다. W&B는 이 메트릭에gpu.{gpu_index}.graphicsClock 태그를 할당합니다.
GPU Corrected Memory Errors
W&B가 오류 체크 프로토콜에 의해 자동으로 수정한 GPU의 메모리 오류 횟수를 추적하며, 이는 복구 가능한 하드웨어 문제를 나타냅니다. W&B는 이 메트릭에gpu.{gpu_index}.correctedMemoryErrors 태그를 할당합니다.
GPU Uncorrected Memory Errors
W&B가 수정하지 못한 GPU의 메모리 오류 횟수를 추적하며, 이는 처리 안정성에 영향을 줄 수 있는 복구 불가능한 오류를 나타냅니다. W&B는 이 메트릭에gpu.{gpu_index}.unCorrectedMemoryErrors 태그를 할당합니다.
GPU Encoder Utilization
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 Utilization
각 AMD GPU 장치의 GPU 사용률을 백분율로 나타냅니다. W&B는 이 메트릭에gpu.{gpu_index}.gpu 태그를 할당합니다.
AMD GPU Memory Allocated
각 AMD GPU 장치의 가용 메모리 대비 할당된 GPU 메모리 비율을 백분율로 나타냅니다. W&B는 이 메트릭에gpu.{gpu_index}.memoryAllocated 태그를 할당합니다.
AMD GPU Temperature
각 AMD GPU 장치의 온도를 섭씨 단위로 나타냅니다. W&B는 이 메트릭에gpu.{gpu_index}.temp 태그를 할당합니다.
AMD GPU Power Usage Watts
각 AMD GPU 장치의 전력 사용량을 와트(Watt) 단위로 나타냅니다. W&B는 이 메트릭에gpu.{gpu_index}.powerWatts 태그를 할당합니다.
AMD GPU Power Usage Percent
각 AMD GPU 장치의 전력 용량 대비 전력 사용량을 백분율로 반영합니다. W&B는 이 메트릭에gpu.{gpu_index}.powerPercent를 할당합니다.
Apple ARM Mac GPU
Apple GPU Utilization
Apple GPU 장치(특히 ARM Mac)의 GPU 사용률을 백분율로 나타냅니다. W&B는 이 메트릭에gpu.0.gpu 태그를 할당합니다.
Apple GPU Memory Allocated
Apple GPU 장치(ARM Mac)의 가용 메모리 대비 할당된 GPU 메모리 비율을 나타냅니다. W&B는 이 메트릭에gpu.0.memoryAllocated 태그를 할당합니다.
Apple GPU Temperature
Apple GPU 장치(ARM Mac)의 온도를 섭씨 단위로 나타냅니다. W&B는 이 메트릭에gpu.0.temp 태그를 할당합니다.
Apple GPU Power Usage Watts
Apple GPU 장치(ARM Mac)의 전력 사용량을 와트(Watt) 단위로 나타냅니다. W&B는 이 메트릭에gpu.0.powerWatts 태그를 할당합니다.
Apple GPU Power Usage Percent
Apple GPU 장치(ARM Mac)의 전력 용량 대비 전력 사용량을 백분율로 나타냅니다. W&B는 이 메트릭에gpu.0.powerPercent 태그를 할당합니다.
Graphcore IPU
Graphcore IPU(Intelligence Processing Units)는 기계 지능 작업을 위해 특별히 설계된 고유한 하드웨어 가속기입니다.IPU Device Metrics
이러한 메트릭은 특정 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 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의 전력 소비량(Watt). - IPU Utilization (
ipu utilisation (%)): IPU 사용률 백분율. - IPU Session Utilization (
ipu utilisation (session) (%)): 현재 세션에 특화된 IPU 사용률 백분율. - Data Link Speed (
speed (GT/s)): 초당 기가 전송 단위의 데이터 전송 속도.
Google Cloud TPU
TPU(Tensor Processing Units)는 기계 학습 워크로드를 가속화하기 위해 사용되는 Google의 커스텀 개발 ASIC(Application Specific Integrated Circuits)입니다.TPU Memory usage
TPU 코어당 현재 High Bandwidth Memory 사용량(바이트 단위). W&B는 이 메트릭에tpu.{tpu_index}.memoryUsageBytes 태그를 할당합니다.
TPU Memory usage percentage
TPU 코어당 현재 High Bandwidth Memory 사용률(백분율). W&B는 이 메트릭에tpu.{tpu_index}.memoryUsageBytes 태그를 할당합니다.
TPU Duty cycle
TPU 장치당 TensorCore 듀티 사이클 백분율입니다. 샘플 기간 동안 가속기 TensorCore가 활발하게 처리 중이었던 시간의 백분율을 추적합니다. 값이 클수록 TensorCore 활용도가 좋음을 의미합니다. W&B는 이 메트릭에tpu.{tpu_index}.dutyCycle 태그를 할당합니다.
AWS Trainium
AWS Trainium은 기계 학습 워크로드 가속화에 중점을 둔 AWS 제공 전문 하드웨어 플랫폼입니다. AWS의neuron-monitor 툴을 사용하여 AWS Trainium 메트릭을 캡처합니다.
Trainium Neuron Core Utilization
각 NeuronCore의 사용률 백분율을 코어별로 보고합니다. W&B는 이 메트릭에trn.{core_index}.neuroncore_utilization 태그를 할당합니다.
Trainium Host Memory Usage, Total
호스트의 총 메모리 소비량(바이트 단위). W&B는 이 메트릭에trn.host_total_memory_usage 태그를 할당합니다.
Trainium Neuron Device Total Memory Usage
Neuron 장치의 총 메모리 사용량(바이트 단위). W&B는 이 메트릭에trn.neuron_device_total_memory_usage) 태그를 할당합니다.
Trainium Host Memory Usage Breakdown:
호스트의 메모리 사용량에 대한 상세 내역은 다음과 같습니다:- 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 버퍼를 위해 사용 중인 메모리. - Tensors (
trn.host_total_memory_usage.tensors): 텐서를 위해 사용 중인 메모리.
Trainium Neuron Core Memory Usage Breakdown
각 NeuronCore에 대한 상세 메모리 사용 정보:- 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)
