前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >谢澎涛:如何评价Eric Xing实验室做的Petuum分布式机器学习平台?

谢澎涛:如何评价Eric Xing实验室做的Petuum分布式机器学习平台?

作者头像
用户1737318
发布2018-06-05 12:09:29
8420
发布2018-06-05 12:09:29
举报
文章被收录于专栏:人工智能头条人工智能头条

Petuum是一个专门针对机器学习的分布式平台,Spark以数据流应用为主,所以二者的应用对象不同。Spark有一个机器学习库MLLib, 但构建于数据流操作之上,并非针对机器学习算法的特点而设计。

机器学习算法和计算机领域的其他算法相比,有自己的一些独特特点。例如,(1)迭代性:模型的更新并非一次完成,需要循环迭代多次; (2)容错性:即使在每个循环中产生一些错误,模型最终的收敛不受影响;(3)参数收敛的非均匀性:模型中有些参数经过几个循环便不再改变,其他参数需要很长时间收敛。等等。这些特点决定了机器学习系统的设计和其他计算系统的设计有很大不同。

Petuum的系统设计建立于机器学习的特征之上,目前包含两个主要模块:key-value store和scheduler,主要处理两类并行化方法:(1)数据并行;(2)模型并行。数据并行,简单而言,就是把数据分布到不同机器上,每台机器计算一个模型的更新(update ), 然后对这些update进行汇总并用之更新模型。模型并行,把模型参数进行切分并放置到不同机器上,每台机器对自己那部分进行更新。Key-value store模块负责数据并行,采用的架构是parameter server,一致性协议是Staleness Synchronous Parallel (SSP)。SSP的基本思想是允许各机器以不同步调对模型进行更新,但是加一个限制,使得最快的机器的进度和最慢机器的进度之差不要太大。这样做的好处是:既减轻慢的机器拖整个系统的后腿,又能保证模型的最终收敛。通过调节SSP的staleness参数,SSP可以转化成数据流系统常用的BSP(Bulk Synchronous Parallel) 协议或者早期机器学习系统(如Yahoo LDA)使用的ASP(Asynchronous Parallel)。另外一个模块scheduler用于模型并行。scheduler提供的编程接口主要包含三个操作:(1)schedule: 调度节点根据模型参数的相互依赖性和收敛的不均匀性,自动选择一个待更新的参数子集;(2)push: 调度节点令计算节点并行地为选好的参数计算update;(3)pull:调度节点从计算节点收集update,并更新参数。

Petuum的主要特性包括:

(1)高性能。这里有几个例子 http://petuum.github.io/performance.html 更多的结果可参见论文h:ttp://petuum.github.io/research.html

(2)可编程性。提供了简单易用的编程接口,用户可在Petuum上实现自己的机器学习算法。参见:https://github.com/petuum/public/blob/release_1.0/docs/ps_refman.pdf?raw=true

(3)丰富的机器学习库。我们用Petuum的统一编程接口实现了14个重要的机器学习算法。参见:http://petuum.github.io/


【预告】 首届中国人工智能大会(CCAI 2015)将于7月26-27日在北京友谊宾馆召开。机器学习与模式识别、大数据的机遇与挑战、人工智能与认知科学、智能机器人四个主题专家云集。人工智能产品库将同步上线,预约咨询:QQ:1192936057。欢迎关注。

大会官网链接:http://ccai2015.csdn.net

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2015-07-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 人工智能头条 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云小微
腾讯云小微,是一套腾讯云的智能服务系统,也是一个智能服务开放平台,接入小微的硬件可以快速具备听觉和视觉感知能力,帮助智能硬件厂商实现语音人机互动和音视频服务能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档