Stochastic Gradient Descent without Full Data Shuffle
Not on the map. Why?
Abstract (arXiv)
Stochastic gradient descent (SGD) is the cornerstone of modern machine learning (ML) systems. Despite its computational efficiency, SGD requires random data access that is inherently inefficient when implemented in systems that rely on block-addressable secondary storage such as HDD and SSD, e.g., TensorFlow/PyTorch and in-DB ML systems over large files. To address this impedance mismatch, various data shuffling strategies have been proposed to balance the convergence rate of SGD (which favors randomness) and its I/O performance (which favors sequential access). In this paper, we first conduct a systematic empirical study on existing data shuffling strategies, which reveals that all existing strategies have room for improvement -- they all suffer in terms of I/O performance or convergence rate. With this in mind, we propose a simple but novel hierarchical data shuffling strategy, CorgiPile. Compared with existing strategies, CorgiPile avoids a full data shuffle while maintaining comparable convergence rate of SGD as if a full shuffle were performed. We provide a non-trivial theoretical analysis of CorgiPile on its convergence behavior. We further integrate CorgiPile into PyTorch by designing new parallel/distributed shuffle operators inside a new CorgiPileDataSet API. We also integrate CorgiPile into PostgreSQL by introducing three new physical operators with optimizations. Our experimental results show that CorgiPile can achieve comparable convergence rate with the full shuffle based SGD for both deep learning and generalized linear models. For deep learning models on ImageNet dataset, CorgiPile is 1.5X faster than PyTorch with full data shuffle. For in-DB ML with linear models, CorgiPile is 1.6X-12.8X faster than two state-of-the-art in-DB ML systems, Apache MADlib and Bismarck, on both HDD and SSD.
Key facts. Cited by 2 papers in the map (data through 7 Oct 2026). Builds on 24 of its 91 references that are in the map. First posted on arXiv 12 Jun 2022.
Builds on
24 of 91 references.
References · 24
- 2015Deep Residual Learning for Image Recognitioncited by 51,809
- 2014Adam: A Method for Stochastic Optimizationcited by 36,960
- 2019PyTorch: An Imperative Style, High-Performance Deep Learning Librarycited by 20,160
- 2014Very Deep Convolutional Networks for Large-Scale Image Recognitioncited by 15,267
- 2015Character-level Convolutional Networks for Text Classificationcited by 2,293
- 2016Optimization Methods for Large-Scale Machine Learningcited by 1,140
- 2014Convolutional Neural Networks for Sentence Classificationcited by 1,124
- 2016An overview of gradient descent optimization algorithmscited by 1,021
- 2013Stochastic First- and Zeroth-order Methods for Nonconvex Stochastic Programmingcited by 716
- 2017Can Decentralized Algorithms Outperform Centralized Algorithms? A Case Study for Decentralized Parallel Stochastic Gradient Descentcited by 496
- 2015YFCC100M: The New Data in Multimedia Researchcited by 234
- 2018D2: Decentralized Training over Decentralized Datacited by 140
12 more
- 2020Random Reshuffling: Simple Analysis with Vast Improvementscited by 112
- 2015Why Random Reshuffling Beats Stochastic Gradient Descentcited by 78
- 2018Random Shuffling Beats SGD after Finite Epochscited by 66
- 2019How Good is SGD with Random Shuffling?cited by 63
- 2020Closing the convergence gap of SGD without replacementcited by 56
- 2015MLlib: Machine Learning in Apache Sparkcited by 55
- 2013Petuum: A New Platform for Distributed Machine Learning on Big Datacited by 35
- 2021Distributed Learning Systems with First-order Methodscited by 17
- 2018Stochastic Learning under Random Reshuffling with Constant Step-sizescited by 14
- 2016Towards Linear Algebra over Normalized Datacited by 12
- 2020Tensor Relational Algebra for Machine Learning System Designcited by 11
- 2014DimmWitted: A Study of Main-Memory Statistical Analyticscited by 4
Built on by
Citing papers per year: 2023: 1; 2024: 1.
2 papers.