사진과 같이 GPU utility가 0%에 가까우면 주로 CPU bottleneck의 징조라고 한다. CPU가 데이터를 준비하는 동안 GPU가 놀고 있다는 뜻인데, 우리가 원하는 방향은 학습하는 동안 CPU가 다음 단계의 데이터를 준비하는 것이다. (= prefetching)
CPU에 있어 병목현상을 일으키는 요인은 아래와 같다.
1. num_worker, pin_memory, persistent_worker, batch_size 체크하기
2. inefficient dataloader and augmentation method
3. inefficient I/O