wandb는 15초마다 시스템 메트릭을 자동으로 로깅합니다.시스템 메트릭 보기
wandb beta leet 터미널 UI를 사용해 시스템 메트릭을 조회하고 모니터링할 수 있습니다.
- 앱
- LEET
W&B App에서 시스템 메트릭을 보려면:
- W&B App에서 자신의 프로젝트로 이동합니다.
- Runs 테이블에서 run 하나를 선택합니다.
- 워크스페이스에서 다음 차트를 표시하는 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.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 Utilization
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 Uncorrected Memory Errors
gpu.{gpu_index}.unCorrectedMemoryErrors 태그를 할당합니다.
GPU 인코더 사용률
gpu.{gpu_index}.encoderUtilization 태그를 할당합니다.
AMD GPU
rocm-smi 도구의 출력(rocm-smi -a --json)에서 메트릭을 추출합니다.
ROCm 6.x (latest) 및 5.x 형식이 지원됩니다. ROCm 형식에 대한 자세한 내용은 AMD ROCm 문서를 참조하십시오. 최신 형식에는 더 많은 세부 정보가 포함되어 있습니다.
AMD GPU Utilization
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} 태그를 할당합니다.
메트릭은 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
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): DMA(Direct Memory Access) 버퍼에 사용되는 메모리. - Tensors (
trn.host_total_memory_usage.tensors): 텐서에 사용되는 메모리.
Trainium Neuron 코어 메모리 사용량 세부 내역
- 상수 (
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)
