中文

深度神经网络训练中的数据阻塞分析与缓解

分布式、并行与集群计算 2021-01-20 v3 机器学习 操作系统

摘要

训练深度神经网络(DNNs)是资源密集且耗时的。尽管先前研究探索了许多减少DNN训练时间的不同方法,但输入数据管道(即从存储中获取原始数据项并在内存中执行数据预处理)的影响相对未被探索。本文做出如下贡献:(1) 我们首次全面分析了输入数据管道如何影响广泛使用的计算机视觉和音频深度神经网络(DNNs)的训练时间,这些网络通常涉及复杂的数据预处理。我们分析了跨三项任务和四个数据集的九种不同模型,同时在微软大型生产集群中的服务器上改变内存量、CPU线程数、存储设备、GPU代际等因素。我们发现许多情况下DNN训练时间由数据阻塞时间主导:即等待数据被获取和预处理的时间。(2) 我们构建了一个工具DS-Analyzer,使用差分技术精确测量数据阻塞并进行预测性的what-if分析。(3) 最后,基于我们分析中的洞见,我们在数据加载库CoorDL中设计并实现了三种简单但有效的技术来缓解数据阻塞。我们在一系列DNN任务、模型、数据集和硬件配置上的实验表明,当PyTorch使用CoorDL而非最先进的DALI数据加载库时,DNN训练时间显著减少(在单台服务器上最多达5倍)。

关键词

引用

@article{arxiv.2007.06775,
  title  = {Analyzing and Mitigating Data Stalls in DNN Training},
  author = {Jayashree Mohan and Amar Phanishayee and Ashish Raniwala and Vijay Chidambaram},
  journal= {arXiv preprint arXiv:2007.06775},
  year   = {2021}
}