欢迎来到天天文库
浏览记录
ID:36222640
大小:1.34 MB
页数:10页
时间:2019-05-07
《陈梓妍项目团队的新苗计划项目申请书》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、阿里云机器学习平台编程模型演进之路本文章来自于阿里云云栖社区摘要: 票选最美云上大数据暨大数据技术峰会上,阿里云大数据事业部高级专家九丰为大家带来题为“阿里云机器学习平台编程模型演进之路”的演讲。本文主要从机器阿里云机器学习平台PAI开始谈起,重点分享了PAI分布式机器学习平台的多种编程模型,包括MapReduce、ParameterServer和MPI等,也简谈了TensorFlow和Pluto。票选最美云上大数据暨大数据技术峰会上,阿里云大数据事业部高级专家九丰为大家带来题为“阿里云机器学习平台编
2、程模型演进之路”的演讲。本文主要从机器阿里云机器学习平台PAI开始谈起,重点分享了PAI分布式机器学习平台的多种编程模型,包括MapReduce、ParameterServer和MPI等,也简谈了TensorFlow和Pluto。 以下为精彩内容整理:随着训练数据规模的持续扩大,模型特征的持续增长,常用的机器学习算法面临着越来越多的挑战。从很多人熟悉的R语言,到基于MPI的多机的计算框架,再到支持超大规模特征的ParameterServer架构,再到如今的深度学习计算框架,机器学习平台上的编程模型也在
3、不断演进,以满足业务上持续的挑战。本次主题主要和大家分享PAI分布式机器学习平台的多种编程模型的演进过程。 机器学习在阿里的应用阿里是一家数据公司,阿里的各项业务都严重依赖机器学习,比如搜索、个性化推荐、精准广告、风控模型、智能客服和物流等多项业务,在使用这些业务的背后都依赖于机器学习。为了支撑集团业务对机器学习的需求,我们构建阿里云机器学习平台PAI,我们致力于构建阿里集团的统一机器学习平台,该平台致力于建设一站式的数据挖掘建模平台,平台具备的功能如下:该平台提供完整链路的数据建模服务,包括数据清洗
4、组件、特征处理组件、模型训练组件、模型生命周期管理组件和在线预测服务。通过机器学习平台,完整的从前端数据清洗到最后模型的预测,整个生命周期都可以基于机器学习PAI来做。阿里数据规模及其庞大,机器学习平台PAI致力于提供先进计算框架,通过技术推动商业的发展,具体支持MapReduce、MPI、ParameterServer和DeepLearningFramework等框架。 编程模型演进MapReduce编程模型MapReduce编程模型的核心是分而治之,将常见的数据处理抽象成两个操作,Map&Redu
5、ce,Map操作就是根据用户数据分片映射成特定输出,后接Reduce对数据进行加工,MapReduce模型之所以非常流行,因为MapReduce在框架层面解决了以下几个分布式难题:·支持计算任务的划分和调度·支持数据的分布式存储和划分·支持计算任务的同步·支持计算节点的容错与恢复那么,PAI上的算法是怎样基于MapReduce实现的?举例说明:TF-IDF(termfrequency–inversedocumentfrequency),是用来评价某一单词对于某篇文档的重要性。•TF=COUNT(Wor
6、d,Document)/SIZE(Document)代表单个单词在文档中出现次数•IDF=log(N/docs(Word,Document)代表某单词在所有文档出现的次数在Mapper里加载每一篇文档,同时我们会遍历这篇文档,统计文档中每个单词出现的频率,统计这篇文档中所有单词的个数,也会统计包含单词的文档个数;在Mapper里实现后,会将相应数据推送到Reducer,在Reducer算子里,会根据某个单词在文档里出现的次数除以这篇文档包含所有单词个数,就会得到termfrequyency,然后我们会
7、拿到一个单词出现的次数和所有文档里包含单词的次数,根据公式可以计算出inversedocumentfrequency,将TF与IDF相乘,从而得到某个单词对某篇文档重要性。和其它机器学习算法相比,MapReduce模型特别适合一些不同计算任务之间独立、数据并行度高的算法,也适合不需要不同节点通信的机器学习算法。MPI编程模型MPI全称叫消息传递接口(MessagePassingInterface),严格意义来说,MPI并不是编程模型,更多是消息传递接口。MPI定义了很多底层通信接口,包括Send、Re
8、ceive、Bcast和AllReduce等,MPI库支持单机多Instance和多机多Instance实现,正是由于MPI提供了高度灵活,描述能力强的接口,在过去的一二十年里,在科学计算领域得到大量应用。如今,在分布式计算集群里,也有很多算法可以借鉴MPI进行实现。由于MPI计算任务通过底层分布式调度系统动态调度到不同机器上,而跑MPI任务时需要提前知道MPI任务需要运行相应host名字,所以我们对MPI底层网络拖口建立进行了重构,以此适配分布式调度系
此文档下载收益归作者所有