首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >依赖于随机梯度下降的ML模型的并行化?

依赖于随机梯度下降的ML模型的并行化?
EN

Stack Overflow用户
提问于 2021-02-20 01:08:25
回答 1查看 36关注 0票数 1

我一直在阅读不同的自然语言处理模型,如word2vec和GloVe,以及如何将这些模型并行化,因为它们大多只是点积。然而,我对此有点困惑,因为计算梯度和更新模型依赖于参数/向量的当前值。这是如何以并行/异步方式完成的?如何知道何时使用每个线程随机计算的梯度更新全局参数?

EN

回答 1

Stack Overflow用户

发布于 2021-02-20 02:49:45

一般来说,近似地做所有的事情,并在节点之间有一些滞后/漂移不会造成太大的伤害。早期的两篇关键论文是:

"HOGWILD!:一种实现随机梯度下降并行化的无锁方法“

本杰明·雷赫特,克里斯托弗·雷,斯蒂芬·赖特,冯牛

https://papers.nips.cc/paper/2011/hash/218a0aefd1d1a4be65601cc6ddc1520e-Abstract.html

摘要:随机梯度下降是一种流行的算法,可以在各种机器学习任务中实现最先进的性能。一些研究人员最近提出了并行化SGD的方案,但都需要破坏性能的内存锁定和同步。这项工作旨在使用新颖的理论分析、算法和实现来证明SGD可以在没有任何锁定的情况下实现。我们提出了一个名为HOGWILD的更新方案!这允许处理器访问共享存储器,并有可能重写彼此的工作。我们证明,当相关的优化问题是稀疏的时,意味着大多数梯度更新只修改决策变量的一小部分,然后HOGWILD!达到近乎最佳的收敛速度。我们通过实验证明了HOGWILD!性能比使用锁定的替代方案高出一个数量级。

“大规模分布式深度网络”

杰弗里·迪恩,格雷格·科拉多,拉贾特·蒙加,陈凯,马修·德文,马克·毛,马克·奥雷里奥·兰扎托,老安德鲁,保罗·塔克,克扬,Quoc Le,Andrew Ng

https://papers.nips.cc/paper/2012/hash/6aca97005c68f1206823815f66102863-Abstract.html

最近在无监督特征学习和深度学习方面的研究表明,能够训练大型模型可以显着提高性能。在本文中,我们考虑了使用数万个CPU核来训练一个具有数十亿个参数的深度网络的问题。我们已经开发了一个名为DistBelief的软件框架,它可以利用具有数千台机器的计算集群来训练大型模型。在这个框架内,我们开发了两个用于大规模分布式训练的算法:(i) Downpour,一个支持大量模型副本的异步随机梯度下降过程;(ii) Sandblaster,一个支持各种分布式批处理优化过程的框架,包括L-BFGS的分布式实现。Downpour和Sandblaster L-BFGS都提高了深度网络训练的规模和速度。我们已经成功地使用我们的系统训练了一个比文献中报道的大100倍的深度网络,并在ImageNet上实现了最先进的性能,这是一个具有1600万张图像和21k个类别的视觉对象识别任务。我们表明,这些相同的技术显着加快了商业语音识别服务的更适度规模的深度网络的训练。尽管我们关注并报告了这些方法在训练大型神经网络时的性能,但基本算法适用于任何基于梯度的机器学习算法。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66281996

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档