高级分布式系统-第15讲 分布式机器学习--分布式机器学习算法

这篇具有很好参考价值的文章主要介绍了高级分布式系统-第15讲 分布式机器学习--分布式机器学习算法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

高级分布式系统汇总:高级分布式系统目录汇总-CSDN博客

分布式机器学习算法

按照通信步调,大致可以分为同步算法和异步算法两大类。

同步算法下,通信过程中有一个显式的全局同步状态,称之为同步屏障。当工作节点运行到同步屏障 ,就会进入等待状态,直到其工作节点均运行到同步屏障为止。接下来不同工作节点的信息被聚合并分发回来,然后各个工作节点据此开展下一轮的模型训练。

异步算法下,各个工作节点不再需要等待,而是以一个或多个全局服务器为作为中介,实现对全局模型的更新和读取。这样可以显著减少通信时间,从而获得更好的多机扩展性。

高级分布式系统-第15讲 分布式机器学习--分布式机器学习算法,高级分布式系统,分布式,机器学习,算法,高级分布式系统

同步算法--同步SGD算法(SSGD)

同步算法--同步SGD算法(SSGD)最基础的同步算法,将SGD套用到同步的BSP框架中。

实际上就是将各个工作节点依据本地训练数据所得到的梯度叠加起来,整个过程等价于一个批量大小增加K倍的单机SGD算法。

特点:由于在每一个小批量更新之后都有一个同步过程,通信频率较高。

高级分布式系统-第15讲 分布式机器学习--分布式机器学习算法,高级分布式系统,分布式,机器学习,算法,高级分布式系统

同步SGD算法优点与缺点

优点:在每个小批量计算的计算量很大,模型规模不大的情况下,可以获得理想的加速性能。

缺点:小批量中样本较少,模型规模较大时,可能会花费数倍于计算时间的代价进行通信。

解决方法:

 在通信环节加入时空滤波,减少通信量

 扩大本地学习时的批量大小,拉长本地训练时间

启发:

随着批量大小的增加,随机梯度的方差变小,会降低算法跳出某些局部最优解的可能。

 当批量大小较大,模型比较容易收敛到优化曲面比较尖锐的局部最优;当批量大小较小时,会收敛到优化曲面

相对平缓的的局部最优点。

 考虑到小批量中的样本较多时求得的梯度更加准确,我们可以相应地增加习率使得每步更新得更多一些,从而

解决收敛变慢的问题。

高级分布式系统-第15讲 分布式机器学习--分布式机器学习算法,高级分布式系统,分布式,机器学习,算法,高级分布式系统

同步和异步的融合

同步和异步算法有各自的优缺点和适用场景,如果可以把它们结合起来应用,取长补短,或许可以更好地达到收敛速率与收敛精度的平衡。

高级分布式系统-第15讲 分布式机器学习--分布式机器学习算法,高级分布式系统,分布式,机器学习,算法,高级分布式系统

分布式机器学习理论

分布式机器学习的目标:适用大规模计算资源,充分利用大数据来训练数据,从而加速训练速度或者实现训练规模的突破。

 收敛性:具有良好的收敛性质,能够以可接受的收敛速率收敛到(正则化)经验风险的最优模型;

 加速比:相比与对应的单机优化算法,达到同样的模型精度所需要的时间明显降低,甚至随着工作节点的增加,需要的时间以线性的阶数减少;

 泛化性:不出现过拟合现象,不仅训练性能好,测试性能也好。

为了达到更好的加速比,会人为的减少工作节点之间的通信量

分布式机器学习系统

目前使用的分布式机器学习系统大多可以被三种架构所覆盖,可分为三种:基于IMR的系统、基于参数服务器的系统和基于数据流的系统

基于IMR的系统主要的适用场景是“同步数据并行。它从大数据处理平台演化而来,运行逻辑比较简单。

基于参数服务器的系统可以同时支持同步和异步的并行算法。它的接口简单明了、逻辑清晰,可以很方便、灵活地与单机算法相结合。

基于数据流的系统由一个有向无环图定义,可以灵活地描述复杂地并行模式。

高级分布式系统-第15讲 分布式机器学习--分布式机器学习算法,高级分布式系统,分布式,机器学习,算法,高级分布式系统

基于参数服务器的系统--Multiverso参数服务器

采用数据表的结构存储参数。依据模型的不同,数据有不同的具体形式:可以是简单向量,也可以是矩阵、张量或哈希表;可以使稠密的形式,也可以稀疏的形式。

Multiverso系统使用消息驱动的服务模式,也就是用一个消息队列接收并保存来向工作节点的请求。服务器端会监听队列中的消息,并按照请求的类别由相应的消息响应函数完成服务。为了提高服务器端处理的效率,Multiverso系统采用线程池对请求并行处理。

Multiverso系统实现同步和异步算法

高级分布式系统-第15讲 分布式机器学习--分布式机器学习算法,高级分布式系统,分布式,机器学习,算法,高级分布式系统

Multiverso系统的客户端逻辑

包含的功能:用户接口(API),客户端的存储逻辑和客户端的发送逻辑。

 客户端的存储逻辑

包含两个部分:一是用来存储从参数服务器端获得的全局参数,二是用来保存本地产生的模型。

 客户端的发送逻辑

在网络传输前对数据进行分包和聚合。在接受参数服务器端传来的最新参数时,客户端也需要将来自不同服务器的信息汇总,然后把信息存储到本地模型容器之中。

高级分布式系统-第15讲 分布式机器学习--分布式机器学习算法,高级分布式系统,分布式,机器学习,算法,高级分布式系统

高级分布式系统-第15讲 分布式机器学习--分布式机器学习算法,高级分布式系统,分布式,机器学习,算法,高级分布式系统文章来源地址https://www.toymoban.com/news/detail-800538.html

到了这里,关于高级分布式系统-第15讲 分布式机器学习--分布式机器学习算法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 高级分布式系统-第12讲 分布式控制经典理论

    高级分布式系统汇总:高级分布式系统目录汇总-CSDN博客 分布式控制系统的设计,是指在给定系统性能指标的条件下,设计出控制器的控制规律和相应的数字控制算法。 根据偏差的比例(Proportional)、积分(Integral)、微分(Derivative)进行控制(简称PID控制),一种广泛应用

    2024年01月20日
    浏览(50)
  • 第十二届“中国软件杯”大赛:A10-基于机器学习的分布式系统故障诊断系统——baseline(一)

    在分布式系统中某个节点发生故障时,故障会沿着分布式系统的拓扑结构进行传播,造成自身节点及其邻接节点相关的KPI指标和发生大量日志异常。本次比赛提供分布式数据库的故障特征数据和标签数据,其中特征数据是系统发生故障时的KPI指标数据,KPI指标包括由feature0、

    2024年02月11日
    浏览(46)
  • 高级分布式系统-第11讲 现场总线技术

    高级分布式系统汇总:高级分布式系统目录汇总-CSDN博客 国际电工委员会制定的国际标准IEC61158对现场总线(fieldbus)的定义是: 安装在制造或过程区域的现场装置与控制室内的自动控制装置之间的数字式、串行、多点通信的数据总线。 新型的现场总线控制系统突破了DCS系统

    2024年01月20日
    浏览(41)
  • 高级分布式系统-第9讲 实时调度--可调度性分析

    高级分布式系统汇总:高级分布式系统目录汇总-CSDN博客 分布式实时系统中,很多任务同时尝试访问共享资源(如处理器和网络),调度试图有效地利用这些资源来解决问题,以保证系统是正确的,换句话说是保证系统符合其所有的时间限制。 调度的运行可以采取操作系统形

    2024年01月20日
    浏览(43)
  • 机器学习洞察 | 分布式训练让机器学习更加快速准确

    机器学习能够基于数据发现一般化规律的优势日益突显,我们看到有越来越多的开发者关注如何训练出更快速、更准确的机器学习模型,而分布式训练 (Distributed Training) 则能够大幅加速这一进程。 亚马逊云科技开发者社区为开发者们提供全球的开发技术资源。这里有技术文档

    2024年02月16日
    浏览(48)
  • 分布式机器学习(Parameter Server)

    分布式机器学习中,参数服务器(Parameter Server)用于管理和共享模型参数,其基本思想是将模型参数存储在一个或多个中央服务器上,并通过网络将这些参数共享给参与训练的各个计算节点。每个计算节点可以从参数服务器中获取当前模型参数,并将计算结果返回给参数服务器

    2024年02月06日
    浏览(37)
  • 读发布!设计与部署稳定的分布式系统(第2版)笔记15_快速失败和替换

    5.4.1.1. 必须为崩溃定义边界 5.4.1.2. 发生崩溃的组件应该是独立的,系统的其余部分必须能够自我防护,避免受到层叠失效的影响 5.4.1.3. 在微服务架构中,服务的整个实例可能是正确的崩溃粒度 5.4.1.4. 在Erlang和Elixir中,崩溃的自然边界就是actor 5.4.2.1. actor这样的进程内组件

    2024年02月11日
    浏览(43)
  • 机器学习分布式框架ray tune笔记

    Ray Tune作为Ray项目的一部分,它的设计目标是简化和自动化机器学习模型的超参数调优和分布式训练过程。Ray Tune简化了实验过程,使研究人员和数据科学家能够高效地搜索最佳超参数,以优化模型性能。 Ray Tune的主要特点包括: 超参数搜索空间规范 : Ray Tune允许您使用多种方

    2024年02月15日
    浏览(44)
  • 王益分布式机器学习讲座~Random Notes (1)

    并行计算是一种同时使用多个计算资源(如处理器、计算节点)来执行计算任务的方法。通过将计算任务分解为多个子任务,这些子任务可以同时在不同的计算资源上执行,从而实现加速计算过程并提高计算效率。 并行计算框架是一种软件工具或平台,用于管理和协调并行计

    2024年02月12日
    浏览(41)
  • 机器学习分布式框架ray运行xgboost实例

            Ray是一个开源的分布式计算框架,专门用于构建高性能的机器学习和深度学习应用程序。它的目标是简化分布式计算的复杂性,使得用户能够轻松地将任务并行化并在多台机器上运行,以加速训练和推理的速度。Ray的主要特点包括支持分布式任务执行、Actor模型、

    2024年02月15日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包