Omnivore:面向 CPU 与 GPU 多设备深度学习的优化器
分布式、并行与集群计算
2016-10-20 v4 机器学习
摘要
我们研究了影响多设备深度学习系统训练时间的因素。给定一个卷积神经网络的规格,我们的目标是最小化在由商用 CPU 和 GPU 构成的集群上训练该模型的时间。我们首先关注单节点设置,并表明通过使用标准的批处理和数据并行技术,在 CPU 上的吞吐量相比最先进的系统至少可提升 5.5 倍。这确保了端到端的训练速度与设备的吞吐量直接成正比,而无论其底层硬件如何,从而允许将集群中的每个节点视为一个黑盒。我们的第二个贡献是对多设备设置中影响端到端训练时间的权衡进行了理论与实验研究。我们确定了异步并行度是影响硬件效率和统计效率的关键因素。我们发现,异步性可以被视为引入了一个动量项。我们的结果表明,调整动量在异步并行配置中至关重要,并暗示未经充分调参的已发表结果可能会在某些配置下报告次优性能。作为我们的第三个贡献,我们利用对系统与优化动力学之间相互作用的新颖理解,提供了一个高效的超参数优化器。我们的优化器包含一个用于预测总收敛时间的预测模型,并选择资源分配以最小化该时间。我们证明,最流行的分布式深度学习系统都落入我们的权衡空间内,但并未在该空间内进行优化。通过执行此优化,我们的原型系统比最快的最先进系统快 1.9 倍至 12 倍。
引用
@article{arxiv.1606.04487,
title = {Omnivore: An Optimizer for Multi-device Deep Learning on CPUs and GPUs},
author = {Stefan Hadjis and Ce Zhang and Ioannis Mitliagkas and Dan Iter and Christopher Ré},
journal= {arXiv preprint arXiv:1606.04487},
year = {2016}
}