uu直播快3平台_UU快3直播官方

PAI分布式机器学习平台编程模型演进之路

时间:2020-01-12 18:11:04 出处:uu直播快3平台_UU快3直播官方

大规模分布式机器学习的挑战

深度学习

MapReduce编程模型

参数服务器Parameter Server

PAI Pluto(多机多卡Caffe)

前文提到了PAI上支持的各种编程模型,在公有云上希望把机器学习作为有有五个 服务推出来,包括数据上传、数据清洗、行态工程、模型训练、模型评价。那我就才能在PAI上做一站式的模型训练和预测。

在机器学习上面,有些算法是基于MapReduce编程模型去实现的。TF-IDF用来评估文档上面单词否是能表示文档主题。首先计算文档上面单词出现的频率,把谓词和叹词加在,关注真正有意义的词。IDF则是统计该词在所有文档上面出现的频率,将其和文档里出现的频率经过算法计算得出最终结果。这个过程要怎样通过MapReduce实现呢?在Mapper中迭代的去加载每一篇要训练的文章,在迭代过程中统计每个单词出现的频率。将统计结果倒进Reducer中,进行计算,得到TF-IDF结果表。

TensorFlow

将TensorFlow迁移到PAI上之前 ,将TensorFlow作业服务化,起TensorFlow作业的之前 不时要去申请资源、做训练数据的迁移;分布式调度(包括单机和多机)只需提交模型训练Python文件;GPU卡映射;多种数据源,行态化数据和非行态化数据都支持;超参支持,训练模型都在调整学习率,通过超参把参数存进来就不时要每次都调整了;模型在线预测,训练好模型之前 才能部署到在线预测服务上,调用API获知模型结果否是正面。

逻辑回归的实现过程如上图所示。其中,有n个计算节点,首先会加载训练样本,计算梯度,因此 本地加和,最后调用AllReduce接口去计算现在模型所在的位置。MPI某种还存在有些缺点:首先MPI中Worker的数目有上限,当时要更多节点的之前 会存在性能下降。

总结

哪此是PAI?

MapReduce核心的思想是分而治之,即把数据切分成就说 块,每个节点补救其中的一小块。做分布式系统都在面临就说 哪此的什么的问题,比如希望计算任务才能在MapReduce框架层面做切分和调度。MapReduce从框架层面极大地降低了把任务迁移到分布式计算系统上的难度和门槛。对于数据的分布式存储和划分,数据可分散存储在几千台机器上,因此 全部都在相应副本,不时要担心数据的丢失,底层的分布式存储会统一进行补救。计算任务的同步和计算节点的容错与恢复,若使用普通机器去搭大型计算群的之前 ,机器的宕机时比较普遍的哪此的什么的问题,使用MapReduce则不时要关心这个点。右图是MapReduce的编程模型,最初是用来补救SQL等哪此的什么的问题。

Caffe早于TensorFlow,Caffe才能认为是第一代的深度学习框架,使用Caffe时时要通过配置文件配置深度学习的卷积神经网路。目前,就说 关于图像的应用全部都在基于Caffe来做的,使用CNN的网络,比如身份证识别、驾照识别等。其缺点是单机,当训练样本多的之前 训练时间非常长。将Caffe底层嫁接到OpenMPI通信框架上,才能支持多机Caffe,才能达到线性加速比。

上图中TensorFlow的例子是两层神经网络做图片的分类。上面通过API定义训练图片和测试数据,接着定义了模型(softmax多分类模型),定义损失函数通过交叉熵来做,最后选取优化函数找最优点。下面偏离 则是通过API把训练数据喂给模型再计算当前模型的准确率。从上例中,才能看出,API非常灵活,基于Python,就说 非常方便。

本文作者:佚名

TensorFlow是谷歌第二代的深度学习框架,支持各种神经网络,具有深度的灵活性,充裕的社区生态,支持CNN、RNN、LSTM等网络。

MPI使用时有就说 限制,首先时要提前知道阶段任务在哪此计算节点上做。在大规模的计算集群上面,所有资源的分配全部都在动态的,在任务执行之前 不知道任务会调度到哪此节点上,因此 早期有就说 算法时要基于MPI实现,就说 对MPI底层做了网络拓扑的建立,做了大量的重构,帮助MPI相关多多线程 才能基于分布式的调度系统调度起来。

PAI的全称是Platform of Artificial Intelligence,主要在使用机器学习做模型训练时提供整套链路。机器学习即服务,把机器学习作为服务对外推出,你们才能在平台上使用比较先进的机器学习算法。将多种深度学习框架集成到PAI中,一起去基于深度学习框架包装成更加易用的组件。具备异构的计算服务能力,把CPU计算能力和GPU计算能力统一调度起来,异构的计算能力透明,你们的注意力是哪此机器学习算法才能帮助业务,很多再关心底层资源的申请和分配。PAI也支持在线预测服务,模型一键发布。

深度学习是人工神经网络的延伸,相比之下才能支持更深的网络。上图中,Alexnet是卷积神经网络,总共有8层网络,深度学习不可能 我我应该 获得更好的效果,时要要构建有有五个 更深的神经网络。随着神经网络变深,时要更多的参数,因此 模型也会更加庞大。多级训练则时要更高量级的通信量。

MPI编程模型

PAI TensorFlow

早期,就说 逻辑回归算法全部都在基于MPI编程模型实现的,MPI是消息传递接口,定义了Send,Receive,BC阿斯图,AllReduce接口,支持单机多Instance和多机多Instance,具有深度灵活,描述能力强,大量用于科学计算。

Parameter Server和MPI相比,在更高的层次定义了编程模型和接口。Parameter Server富含有有五个 角色,Server节点用来存储模型,计算节点会加载偏离 模型、训练数据,每轮迭代时每个节点会计算下个梯度,将节点和Server进行通信。Coordinator用来判断训练否是之前 之前 刚现在开始 。此外,Parameter Server支持异步通信接口,不时要在不同计算节点间做同步。

逻辑回归算法是时要节点间进行通信的,该算法在个性化推荐中才能突然看得人。个性化推荐算法是指每另一方点击进来之前 会进行分类,判断否是会对有些商品感兴趣,因此 进行推荐。模型函数如上图中公式所示,定义损失函数,损失函数值越小说明模型拟合越好,寻找损失函数最小值的过程中用到了梯度下降算法。

MapReduce编程模型有有有五个 特点:不同计算任务之间独立,每个Mapper和Reducer只会计算另一方相关的数据,数据并行度高;适合不时要不同节点通信的机器学习算法。

来源:51CTO

编程模型演进

数据规模和行态会不断增加,这就会是因为模型复杂度的增加,之前 的模型不可能 只才能补救没人高的复杂度了。行态增加之前 ,模型变得没人大,模型好难做到单机加载,就说 在模型存储时时要做分片和切分。在常规的机器学习上面,更多的注意力倒进理解业务的数据、行态,而现在的注意力会转移到模型某种,更多考虑为社 在么在通过调整模型的行态达到更好的预测效果。

阿里在2014年下5天,独立自研了PAI Parameter Server计算模型,已在集团内大规模使用。具体做的工作如上图所示。MPI的有有五个 缺点是不支持容错,而每天上万台的集群会出现各种各样的故障,PAI Parameter Server针对大规模集群做了节点容错功能。Parameter Server集成就说 算法,比如逻辑回归等。

热门

热门标签