分布式机器学习课件.pptx

上传人:小飞机 文档编号:1464578 上传时间:2022-11-28 格式:PPTX 页数:38 大小:1.75MB
返回 下载 相关 举报
分布式机器学习课件.pptx_第1页
第1页 / 共38页
分布式机器学习课件.pptx_第2页
第2页 / 共38页
分布式机器学习课件.pptx_第3页
第3页 / 共38页
分布式机器学习课件.pptx_第4页
第4页 / 共38页
分布式机器学习课件.pptx_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《分布式机器学习课件.pptx》由会员分享,可在线阅读,更多相关《分布式机器学习课件.pptx(38页珍藏版)》请在三一办公上搜索。

1、,机器学习分布式机器学习,章节介绍,机器学习方法是计算机利用已有的数据生成某种模型,并利用此模型预测的一种方法。在确定模型结构之后,根据已知模型寻找模型参数的过程就是训练,训练过程中不断依据训练数据来迭代调整模型的参数值,从而使模型的预测结果更为准确。在现实应用中,要达到好的效果,训练数据集可能很大,模型参数量剧增,会带来很多性能和算法设计问题,单台机器难以胜任,需要分布式的机器学习架构。本章主要介绍分布式机器学习基础知识,并介绍主流的分布式机器学习框架,结合实例介绍一些机器学习算法。,章节结构,分布式机器学习基础参数服务器分布式并行计算类型分布式机器学习框架MapReduce 编程模型Had

2、oop MapReduce 框架SparkPMLSTensorFlow并行决策树并行k-均值算法,分布式机器学习基础,分布式机器学习中的一些核心问题:如何提高各分布式任务节点之间的网络传输效率;如何解决参数同步问题,传统训练模型是采用同步方法,如果机器性能不统一,必然会产生训练任务之间的协作;分布式环境下如何提高容错能力,需要避免单点故障,并能合理处理异常,训练子节点出错不影响全局任务。,议程,参数服务器,应用传统的大数据处理框架训练大型的机器学习模型时,由于数据量比较大并且训练方法多样,存在着一致性、扩展性、稳定性的问题。较大的模型也意味着参数较多,因而需要实现分布式并行训练,参数服务器是分

3、布式并行训练框架之一,存储着模型的参数和状态。参数服务器具有如下特点:高效通信宽松一致性灵活可扩展容错能力强易用,议程,灵活可扩展,训练过程中支持动态扩展节点,不需要重启训练任务就可以动态插入新节点到集合中,这一特性无疑有利于那些训练周期较长(长达数天或数周)的机器学习项目,可节省大量训练时间。在大型服务器集群中,由于节点较多,小概率故障往往常态化,所以需要节点的恢复(状态清理、任务重启)时间要短,而且不能中断训练过程,这就要求并行化系统具有较强的容错能力。目前机器学习项目开发者数量较少,为了减少学习难度,需要尽可能的使用常用语言或将参数表示成通用的形式,如向量、矩阵等,并与现有机器学习框架无

4、缝拼接。,容错能力强,易用,议程,分布式并行计算框架,分布式并行计算的类型一般分为三种:模型并行数据并行混合并行,议程,模型并行,模型并行是指将模型按照其结构放在不同的分布式机器上进行训练,一般用在那些内存要求较高的机器学习项目,例如,单机训练一个1000层的DNN网络,内存容易溢出,而使用模型并行,用不同的机器负责不同的层进行训练,通过维护各层间参数同步实现整个DNN网络的并行训练。,议程,数据并行,数据并行是指各机器上的模型相同,对训练数据进行分割,并分配到各机器上,最后将计算结果按照某种方式合并。该方法主要应用在海量训练数据的情况,数据以并行化方式训练,训练过程中组合各工作节点的结果,实

5、现模型参数的更新。参数并行常用的方法有参数平均和异步梯度下降的方法。,议程,参数平均,参数平均是在每次训练迭代完成后计算各节点各模型参数平均值,这一方法操作简单,主要依赖网络同步更新,如果更新频率较慢会导致参数差别较大,平均之后的模型参数的局部差异化被抵消,效果较差,影响模型的精确性。反之,如果更新较快,对网络压力较大,通信和同步的成本较高,所以在应用中需要结合模型复杂度和优化方法进行平衡。,议程,异步梯度下降,异步梯度下降是一种基于更新的数据并行化,它传递的是模型训练过程中的梯度、动量等信息,而没有直接传递参数值,这样一方面可以减少传输数据量,提高网络传输效率;另一方面不同计算节点通过共享梯

6、度,可以提高模型收敛速度。该方法的不足之处在于会随着引入参数数量的增多出现梯度值过时的问题。,议程,混合并行,混合并行的方式是指综合应用模型并行和数据并行,在训练集群的设计中,将上述两种方式进行合并,各取所长,形成互补。例如,可以在同一台机器上采用模型并行化,在GPU和CPU之间使用模型并行。然后在机器之间采用数据并行化,将数据分配在不同的机器上,既实现了计算资源利用的最大化,也减少了数据分发的压力。,分布式机器学习框架,分布式机器学习是机器学习领域的一大主要研究方向,其中MapReduce适合做离线计算,Storm适合做流式计算,Spark是内存计算框架,能快速得到计算结果。分布式机器学习平

7、台归类为三种基本设计方法:基本数据流、参数服务器模型以及高级数据流。基于这三种方法来介绍分布式机器学习框架。,议程,MapReduce编程模型,MapReduce是一个能处理和生成超大数据集的算法模型,该架构能够在大量硬件配置不高的计算机上实现并行化处理,这一编程模型结合用户自定义的Map和Reduce函数。Map函数处理一个输入的基于对的集合,输出中间基于对的集合,Reduce函数是将所有具有相同key值的value值进行合并,将数据集合进行压缩。,议程,MapReduce编程模型,一个典型的MapReduce程序的执行流程如下图所示。,议程,Hadoop MapReduce框架,Hadoo

8、p MapReduce是Hadoop三大组件之一,包括JobTracker和一定数量的TaskTracker。JobTracker负责任务分配和调度,一个MapReduce作业通常会把输入的数据集切分为若干独立的数据块,由Map任务以并行方式处理它们,框架会对Map的输出先进行排序,然后把结果输入到Reduce任务中。通常作业的输入和输出都会被存储在文件系统HDFS中,由JobTracker负责任务的调度和监控,以及重新执行已经失败的任务。,议程,Hadoop MapReduce框架,Hadoop MapReduce框架由一个单独的主JobTracker和每个集群节点对应一个备TaskTrac

9、ker组成。JobTracker负责调度作业的所有任务,并监控它们的执行,这些任务分布在不同的备TaskTracker上。如果TaskTracker上的任务执行失败,还会调度其重新执行。而TaskTracker仅负责执行指派的任务。,议程,Hadoop MapReduce框架,议程,Spark,与Hadoop MapReduce相比,Spark的优势在于处理迭代计算的机器学习任务,尤其是内存要求小的应用,性能提升很大,Spark还可以进行批处理、实时数据处理、机器学习以及图算法等计算模块。使用Spark平台无需关心分布式并行计算的细节,可以智能地进行数据切分、算法复制、分布执行、结果合并,以支

10、持数据分析人员快速开发分布式应用。,议程,Spark,Spark的基本框架如下图所示,议程,Spark,Spark应用核心由启动环境和执行程序两部分组成,其中执行程序负责执行任务,运行执行程序的机器是工作节点,而启动环境由用户程序启动,通过集群管理器与各个执行程序进行通信。集群管理器主要负责集群的资源管理和调度,目前支持Standalone、Apache Mesos和YARN三种类型的管理器。,议程,Spark,Spark使用弹性分布式数据集(RDD)抽象分布式计算,RDD是Spark并行数据处理的基础,它是一种只读的分区记录的集合,用户可以通过RDD对数据显示地控制存储位置和选择数据的分区。

11、RDD主要通过转换和动作操作来进行分布式计算,转换是根据现有数据集创建新数据集,动作是在数据集上进行计算后返回值给Driver程序。使用RDD可以用基本一致的方式应对不同的大数据处理场景,还能够提高分布式计算的容错性。,议程,Spark,Spark是一种粗粒度、基于数据集的并行计算框架。其计算范式是数据集上的计算,在使用Spark的时候,要按照这一范式编写算法。所谓的数据集操作,就是成堆的数据,如果源数据集是按行存储的话,就需要对其进行适配,将若干记录组成一个集合。因此在提交给Spark任务时,需要先构建数据集,然后通过数据集的操作,实现目标任务。,议程,TensorFlow,TensorFl

12、ow为用户封装了底层的分布式操作,使其可以专注于编写机器学习代码。使用数据流图进行数值计算,用有向图中的节点表示,节点的状态是可变的,边是张量,对应为多维数组。TensorFlow中数据并行化的方式由In-graph、Between-graph、异步训练、同步训练几种方式,通过将模型训练分配给不同的工作节点,并使用参数服务器共享参数。,并行决策树,随着大数据时代的到来,算法需要处理的数据量急剧增加,仅依靠原始的决策树算法进行分类无论在效率上还是准确性上都不足以满足需求。高效出色的在大数据量下使用决策树算法,需要将决策树算法并行化。,并行决策树,并行决策树算法基于MapReduce框架,核心思想

13、是分而治之的策略。MapReduce通过将海量数据集分割成多个小数据集交给多台不同计算机进行处理,实现并行化数据处理。应用到决策树算法上,通过MapReduce将决策树算法并行处理,将耗时的属性相似度计算的步骤并行执行。Map阶段,以单元组形式分解数据,计算属性相似度,以形式输出。Reduce阶段,汇总所有局部结果,找到最大相似度属性名,以这个属性作为测试节点,若是叶子节点,则返回,否则执行分裂,将其录入待计算数据库中进行存储。不断重复上述过程完成决策树的构建。,键值对,并行决策树算法,并行化的随机森林并行CART决策树算法,并行k-均值算法,k-均值算法是应用最广泛的聚类算法之一,随着大数据

14、的发展,在实际使用过程中如何提升该算法的性能成为了一个有挑战性的任务。可以基于Map Reduce实现k-均值算法,在Hadoop环境中并行运行,能够高效且廉价的处理大型数据集。,并行k-均值算法,在具体实现该算法时,将输入数据集存储在分布式文件系统HDFS中,作为的序列文件,每个键值对代表数据集的一条记录,其中key记录的是数据文件距离起始位置的偏移量,value是该条记录的内容。将迭代后或初始化后的k个聚类中心放到Configuration中,然后在Mapper的setUp计算读取这k个聚类中心。Mapper会将同一类的数据发送至同一个Reducer。在Reducer中,只需要根据数据重新

15、计算聚类中心即可。,并行k-均值算法,使用MapReduce框架实现k-均值聚类算法时,需要将每一次迭代作为一个MapReduce Job进行计算,通过多次运行该Job达到迭代的效果,最终得到k个聚类中心。基于MapReduce的并行k-均值算法,可以在廉价机器上有效处理大型数据集。,k-均值算法算例,进行k-均值聚类的数据如下表:,k-均值算法算例,将x1x6分配给node1,将x7-x11分配给node2,选择k=3,在开始阶段,创建一个如下表的全局文件。,k-均值算法算例,Map阶段对于数据集中的每一个节点,读取全局文件,获得上一轮迭代生成的簇中心信息,计算样本点到簇中心的距离。在Reduce阶段每个reduce收到关于某一个簇的信息。包括该簇的ID和簇的中心以及包含的样本个数。具体如下表。,k-均值算法算例,一次迭代完成后,进入下一次迭代,直到聚类结果不再发生变化,输出最终得到的聚类结果如右表。,多元线性回归模型,并行多元线性回归模型,38,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号