分布式Hogwild:用于CPUGPU大规模并行训练.pdfVIP

  • 0
  • 0
  • 约2.4万字
  • 约 12页
  • 2026-01-28 发布于上海
  • 举报

分布式Hogwild:用于CPUGPU大规模并行训练.pdf

Dogwild!—分布式Hogwild用于CPU和GPU

CyprienNoel视觉与机SimonOsindero

器学组Yahoo!Inc视觉与机器学组Yahoo!

cypof@yahoo‑Incosindero@yahoo‑

深度学近年来取得了巨大的成功。不幸的是,训练大型模型可能非常耗时,

即是库的扩展

使在GPU硬件上也是如此。我们描述了一组对最先进的Caffe

[],,允许在多个线程和

3GPU上进行训练,并且跨多台机器进行训练。我们

的点架,实现异步SGD而不增加Caffe的复杂性。并行化与

重是构

Caffe现有SGD代码,训练未修改的模型,并在普通硬件上运行。通

过展Hogwild模型,即在没有同步的情况下运行并行SGD

扩解算器,同时

去除解算器与负责在节点之间流式传输梯度的组件之间的同步,实现了这种隔

离。在这种模块化设计中,组件仅通过对权重缓冲区的非同步读写进行交互。

每个组件都可以以不同的速度循环遍历权重,从而充分利用计算和网络资源。

SGD对梯度丢失的性允许通过避免可靠的网络协议来进一步提高性能。

它使得使用多播消息成为可能,并通过原始套接字或InfiniBand动词使用低

级据包流。我们在MNIST上展示了小集群的线性性能扩展,并在

Ieet上展示了早期结果。

magN

1引言与先前工作

训练一个神经网络,例如用于ImageNet任务,通常需要在现代GPU上花费大约两周的时间。并行

化SGD以加速这一过程具有性。Downpour[2]和基于GPU的+InfiniBand实现[1]分别成功扩

展到了16000个CPU和64个GPU,但仅限于局部连接模型。Downpour在1600个上对全局

连接网络的性能并没有显著优于单个GPU[2][8]。[8],在异步情况下,即使并行化SGD的预期

收益也有较低的上限。

尽管如此,在小规模下仍可以实现令人满意的性能[9][5][7]——例如,cuda‑convnet

2[4]是一个相对特定于任务和硬件的实现,但可以高效地扩展到8个GPU。

2Hogwild

在Hogwild设置中,多个SGD进程使用不同的训练数据片段在同一组权重上运行。每个线

程使用私有数据和层状态计算梯度,但和写入共享内存位置的权重。缓存层次结构负

责在之间更新。协调发生在两个点:在梯度计算期间权重(内存加载),以

及应用梯度时(非同步加法:加载、加法、)。

1

Dogwild!—DistributedHogwildforCPUGPU

CyprienNoelSimonOsin

文档评论(0)

1亿VIP精品文档

相关文档