社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

【干货书】分布式机器学习的优化算法,137页pdf

专知 • 3 年前 • 466 次点击  

本书讨论了最先进的分布式机器学习随机优化算法,并分析了它们的收敛速度。本书首先介绍了随机梯度下降(stochastic gradient descent, SGD)及其分布式版本同步梯度下降(synchronous gradient descent, synchronous SGD),其中计算梯度的任务被划分到几个工作节点上。讨论了几种提高同步SGD可扩展性和通信效率的算法,如异步SGD、局部更新SGD、量化和稀疏化SGD和去中心化SGD。对于这些算法,本书会分析它们的误差和迭代收敛性,以及每次迭代的运行时间。作者指出,这些减少通信或同步延迟的策略都在错误和运行时之间进行了基本的权衡。

随机梯度下降是当今有监督机器学习训练的支柱。经典的SGD被设计为运行在单个计算节点上,其误差收敛与迭代次数的关系在优化和学习理论文献中得到了广泛的分析和改进。然而,由于今天使用了大量的训练数据集和模型,在单个节点上运行SGD可能会非常慢。这需要SGD的分布式实现,其中梯度计算和聚合被划分到多个工作节点上。虽然并行提高了每次迭代处理的数据量,但它使SGD暴露于由计算基础设施的变化引起的不可预测的节点速度减慢和通信延迟。因此,迫切需要使分布式SGD快速,并对系统变化具有鲁棒性。在本书中,我们将讨论大规模机器学习中最先进的算法,这些算法通过异步聚合、局部更新、量化和去中心化共识等技术来提高分布式SGD的可扩展性。这些方法以不同的方式减少通信成本:异步聚合允许通信和局部计算重叠,局部更新减少通信频率从而将通信延迟分摊到几个迭代中,量化和稀疏化方法减少了每次迭代的通信时间,去中心化共识通过允许网络拓扑中的不同节点训练模型并与邻居并行平均模型,从而减少了空间通信。

对于本书介绍的每一个分布式SGD算法,本书都对其收敛性进行了分析。然而,与传统的优化文献不同,我们不仅关注误差与迭代的收敛性,或迭代的复杂性。在分布式实现中,由于同步和通信协议会影响每次迭代所需的时间,因此研究误差与wallclock时间的收敛性是很重要的。我们将计算和通信延迟建模为随机变量,并确定本书中介绍的各种分布式SGD算法每次迭代的预期wallclock运行时间。通过运行时分析和误差收敛分析,可以得到不同算法收敛速度的真实比较。

https://link.springer.com/book/10.1007/978-3-031-19067-4?source=shoppingads&locale=en-jp



专知便捷查看

便捷下载,请关注专知公众号(点击上方蓝色专知关注)

  • 后台回复“O137” 就可以获取【干货书】分布式机器学习的优化算法,137页pdf》专知下载链接

                       
专知,专业可信的人工智能知识分发,让认知协作更快更好!欢迎注册登录专知www.zhuanzhi.ai,获取100000+AI(AI与军事、医药、公安等)主题干货知识资料!
欢迎微信扫一扫加入专知人工智能知识星球群,获取最新AI专业干货知识教程资料和与专家交流咨询
点击“阅读原文”,了解使用专知,查看获取100000+AI主题知识资料

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/150480