The inefficiency of the data pipeline is one of the most economically significant yet least understood challenges in machine learning infrastructure. High-performance GPU hardware costing several thousand dollars per device is now widely available, yet many organizations report utilization levels of only 40–60%, constrained not by compute capacity but by data loading, preprocessing, and memory-transfer overhead. This article examines the storage I/O bottleneck, the CPU preprocessing bottleneck, and the host-to-device transfer bottleneck in isolation, before extending the analysis to two dimensions largely absent from prior single-node treatments: distributed and multi-node pipeline scaling, and data pipeline considerations specific to large language model (LLM) training. We review optimizations including parallel loading configurations, prefetching, GPU-accelerated preprocessing with NVIDIA DALI, JIT-compiled pipelines with FFCV, multi-level caching, storage format selection, and streaming dataset frameworks for web-scale corpora. Distributed case evidence shows that scaling GPU count without scaling the data path proportionally can leave clusters as underutilized as single nodes, while LLM-specific evidence shows that padding waste in batch construction can silently consume the majority of compute allocated to a batch. We further examine the methodological reliability of component-level data-loader benchmarks. Combining these findings with monitoring frameworks, profiling tools, and adaptive configuration mechanisms, we conclude that systematic, pipeline-wide optimization — spanning single-node, distributed, and LLM- specific failure modes — is a core infrastructure requirement in ML rather than an optional performance tuning exercise.