Synkhronos:用于数据并行的多 GPU Theano 扩展
分布式、并行与集群计算
2017-10-13 v1 人工智能
机器学习
摘要
我们提出了 Synkhronos,一个利用数据并行进行多 GPU 计算的 Theano 扩展。我们的框架提供了跨设备的自动执行和同步,允许用户继续编写串行程序而无需承担竞态条件的风险。NVIDIA Collective Communication Library 被用于高带宽的 GPU 间通信。对 Theano 函数接口的进一步增强包括输入切片(带聚合)和输入索引,它们能高效地执行常见的数据并行计算模式。一个示例用例是同步 SGD,最近已证明它能针对日益增多的深度学习问题实现良好的扩展。在训练 ResNet-50 时,我们在使用 8 个 GPU 的 NVIDIA DGX-1 上实现了相对于在单个 GPU 上独立运行纯 Theano 代码近 7.5 倍的线性加速。然而,Synkhronos 对于任何可用 Theano 编程的数据并行计算依然具有通用性。通过在单个 Theano 函数级别实现并行,我们的框架独特地填补了手动多设备编程与预定义多 GPU 训练例程之间的空白。
引用
@article{arxiv.1710.04162,
title = {Synkhronos: a Multi-GPU Theano Extension for Data Parallelism},
author = {Adam Stooke and Pieter Abbeel},
journal= {arXiv preprint arXiv:1710.04162},
year = {2017}
}