wandb는 시스템 메트릭을 15초마다 자동으로 로깅합니다.시스템 메트릭 보기
wandb beta leet 터미널 UI를 사용해서 시스템 메트릭을 확인하고 모니터링할 수 있습니다.
- App
- LEET
W&B App에서 시스템 메트릭을 보려면:
- W&B App에서 자신의 프로젝트로 이동합니다.
- Runs 테이블에서 실행 하나를 선택합니다.
- 워크스페이스에서 다음 차트를 표시하는 System 섹션을 찾습니다:
- GPU 사용률 및 메모리
- CPU 사용량
- 메모리 사용량
- 디스크 I/O
- 네트워크 트래픽
CPU
프로세스 CPU 사용률 (CPU)
cpu 태그를 할당합니다.
프로세스 CPU 스레드
proc.cpu.threads 태그를 부여합니다.
디스크
/ 경로에 대한 사용량 지표가 수집됩니다. 모니터링할 경로를 구성하려면 다음 설정을 사용하십시오:
디스크 사용 비율(%)
disk.{path}.usagePercent 태그를 할당합니다.
Disk Usage
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 Utilization
gpu.{gpu_index}.gpu 태그를 지정합니다.
GPU 온도
gpu.{gpu_index}.temp 태그를 할당합니다.
GPU 전력 사용량(Watts)
gpu.{gpu_index}.powerWatts 태그를 할당합니다.
GPU 전력 사용률(%)
gpu.{gpu_index}.powerPercent 태그를 할당합니다.
GPU SM Clock Speed
gpu.{gpu_index}.smClock 태그를 할당합니다.
GPU 메모리 클럭 속도
gpu.{gpu_index}.memoryClock 태그를 부여합니다.
GPU 그래픽 클록 속도
gpu.{gpu_index}.graphicsClock 태그를 할당합니다.
GPU 수정된 메모리 오류
gpu.{gpu_index}.correctedMemoryErrors 태그를 할당합니다.
GPU 비정정 메모리 오류
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 Utilization
gpu.{gpu_index}.gpu 태그를 할당합니다.
AMD GPU Memory Allocated
gpu.{gpu_index}.memoryAllocated 태그를 할당합니다.
AMD GPU 온도
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 temp (C)): IPU 보드의 섭씨 온도. - 평균 다이 온도(
average die temp (C)): IPU 다이의 섭씨 온도. - 클럭 속도(
clock (MHz)): IPU의 클럭 속도(MHz 단위). - IPU 전력(
ipu power (W)): IPU의 전력 소비(와트 단위). - 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 NeuronCore 활용률
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 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)
