中文

BPPSA:基于并行扫描算法扩展反向传播

机器学习 2020-03-10 v3 分布式、并行与集群计算 机器学习

摘要

在单个计算设备性能趋于平稳的时代,软件必须被设计为在大规模并行系统上扩展以获得更好的运行性能。然而,在训练深度学习模型的背景下,流行的反向传播(BP)算法在梯度计算过程中施加了强顺序依赖。在模型并行下,BP 需要 Θ(n)\Theta (n) 步完成,这阻碍了其于并行系统上的可扩展性(nn 表示模型被划分到的计算设备数量)。在这项工作中,为了改善 BP 的可扩展性,我们将 BP 重新表述为一种扫描(scan)操作,该原语对值序列执行有序聚合并在每一步返回部分结果。然后,我们通过修改版的 Blelloch 扫描算法在并行系统上扩展此种 BP 重构,该算法理论上需要 Θ(logn)\Theta (\log n) 步。我们在合成数据集上训练的普通循环神经网络(RNN)以及使用 IRMAS 数据集训练的带门控循环单元(GRU)的 RNN 上评估了我们的方法,并展示了总体训练时间最高 2.75×2.75\times 的加速以及反向传播过程最高 108×108\times 的加速。我们还展示了剪枝网络的再训练可以作为我们方法的一个实际用例。

关键词

引用

@article{arxiv.1907.10134,
  title  = {BPPSA: Scaling Back-propagation by Parallel Scan Algorithm},
  author = {Shang Wang and Yifan Bai and Gennady Pekhimenko},
  journal= {arXiv preprint arXiv:1907.10134},
  year   = {2020}
}

备注

In Proceedings of MLSys 2020: https://mlsys.org/Conferences/2020/Schedule?showEvent=1407