Skip to content
ML Academy

Neural networks, deep learning, NLP · insight-0473

Profile the input pipeline when GPU utilization stays low

Evidence type
practitioner heuristic
Difficulty
easy
Roles
ML engineer
Industries
retail, manufacturing

Summary: situation, action, reason, boundary

  1. Situation

    A GPU training job runs slowly and GPU utilization hovers well below full while the CPU is busy.

  2. Action

    Time one epoch of the data loader alone, then increase num_workers, enable pin_memory, cache decoded data or move heavy augmentation to the GPU, and re-measure step time.

  3. Reason

    The training step can only run as fast as batches arrive; host-to-GPU copies are faster from pinned memory.

  4. Boundary

    Image, audio and text pipelines with decoding or heavy augmentation.

Symptom or risk

Data loading and augmentation, not the model, set the pace; buying faster GPUs or shrinking the model changes nothing.

Exceptions

Small in-memory tabular data rarely bottlenecks on loading.

Trade-offs

More workers use more RAM and can duplicate dataset copies per process.

Pitfalls

Measuring throughput on the first epoch only, when caches are cold.

Lessons and concepts

Claims and their sources