中文

无需全数据洗牌的随机梯度下降

机器学习 2022-06-14 v1

摘要

随机梯度下降(SGD)是现代机器学习(ML)系统的基石。尽管具有计算效率,SGD需要随机数据访问,当在实现依赖于块寻址二级存储(如HDD和SSD)的系统中(例如TensorFlow/PyTorch以及基于大文件的数据库内ML系统)时,这本质上效率低下。为解决这种阻抗失配,已提出各种数据洗牌策略以平衡SGD的收敛速率(倾向于随机性)与其I/O性能(倾向于顺序访问)。本文首先对现有数据洗牌策略进行系统性实证研究,揭示所有现有策略均有改进空间——它们在I/O性能或收敛速率上均存在不足。鉴于此,我们提出一种简单而新颖的分层数据洗牌策略CorgiPile。与现有策略相比,CorgiPile避免了全数据洗牌,同时保持与执行全洗牌相当的SGD收敛速率。我们对CorgiPile的收敛行为给出了非平凡的理论分析。我们通过将新的并行/分布式洗牌算子设计于新的CorgiPileDataSet API中,进一步将CorgiPile集成到PyTorch。我们还将CorgiPile集成到PostgreSQL中,引入了三个带优化的新物理算子。实验结果表明,CorgiPile在深度学习和广义线性模型上均可达到与基于全洗牌的SGD相当的收敛速率。在ImageNet数据集上的深度学习模型,CorgiPile比带全数据洗牌的PyTorch快1.5倍。对于使用线性模型的数据库内ML,在HDD和SSD上CorgiPile比两个最先进的数据库内ML系统Apache MADlib和Bismarck快1.6至12.8倍。

关键词

引用

@article{arxiv.2206.05830,
  title  = {Stochastic Gradient Descent without Full Data Shuffle},
  author = {Lijie Xu and Shuang Qiu and Binhang Yuan and Jiawei Jiang and Cedric Renggli and Shaoduo Gan and Kaan Kara and Guoliang Li and Ji Liu and Wentao Wu and Jieping Ye and Ce Zhang},
  journal= {arXiv preprint arXiv:2206.05830},
  year   = {2022}
}

备注

This technical report is an extension of our SIGMOD 2022 paper titled "In-Database Machine Learning with CorgiPile: Stochastic Gradient Descent without Full Data Shuffle". https://doi.org/10.1145/3514221.3526150