“插件式”分布式机器学习计算框架研究

基本信息
批准号:61572044
项目类别:面上项目
资助金额:64.00
负责人:肖臻
学科分类:
依托单位:北京大学
批准年份:2015
结题年份:2019
起止时间:2016-01-01 - 2019-12-31
项目状态: 已结题
项目参与者:彭波,陈琪,王源,肖阳,马超,任仕儒,谭乐,李本超,李春奇
关键词:
分布式系统机器学习并行计算
结项摘要

With the explosive growth of data on the Internet, machine learning programs often need to be executed in a parallel and distributed manner. The current parallel computing framework such as MapReduce, Spark, and Parameter servers often requires significant rewriting of existing machine learning programs. In this proposal, we plan to research on an innovative distributed machine learning framework where users can reuse their existing programs developed under a single machine environment with little change. In our framework, users can simply plug in their serial programs written in any programming language through our language-agnostic interface. The key challenge in our research is how to abstract the essential aspects of distributed computing into a simple programming model which allows existing machine learning programs to be integrated seamlessly while providing high performance in terms of scalability and algorithm convergence rate. Our framework incorporates Data Agent and Parameter Server and use "read-write-signal" and in-memory file to facilitate efficient programming and data sharing. Our proposed system aims to support common consistency models in distributed computing and provide efficient fault recovery mechanism.

随着近年来互联网上数据量爆炸式的增长,机器学习任务开始走向并行化和分布式。然而,用户在使用已有的并行计算框架构建分布式机器学习任务时,很难复用已有的单机串行程序。本项目研究一种“插件式”分布式机器学习计算框架。该框架可以支持用任何编程语言编写的串行程序与系统框架进行对接,从而允许用户快速构建分布式机器学习任务。本研究项目的关键在于如何在让系统达到很高运行效率的同时,提供更加简洁的编程模型,以及如何支持跨语言编程。我们拟采用Data Agent和Parameter Server架构对系统的分布式处理进行抽象,并且使用In-memory File技术进行跨语言的数据共享。我们拟研究一种新颖的、简洁的read-write-signal编程模型来提供给用户。我们拟采用的系统框架支持多种一致性协议和高效透明的错误恢复策略,使得机器学习算法具有更快的收敛速度和更加良好的可扩展性。

项目摘要

很多机器学习任务使用非常大的模型,需要在大规模样本上经过很多轮的梯度下降才能收敛到一个好的状态。这样大的计算量需要大规模分布式系统的支持才能完成。现有的支持大规模机器学习的系统要求使用者把他们已有的在单机上运行的机器学习的代码按照分布式系统的要求重写一遍,这对于很多使用者来说是不友好的。.在这个项目里,我们开发了Plug-in ML系统,该系统对参数服务器的架构进行了改进,增加了核心实例进程和参数代理进程,这两者之间通过一个和编程语言无关的通道进行数据传输和同步。核心实例进程是由使用者提供的单机的程序,可以是任何语言编写的,通过参数代理进程与服务器节点进行通信。参数代理进程通过把服务器节点上的参数映射到本地的内存中,使得底层的数据通信对上层服务透明。这样设计的好处在于机器学习开发者可以很容易地把已有的单机版本的机器学习程序移植到分布式环境里,而且提供跨语言的支持:核心实例进程将本地更新的梯度、当前迭代轮次以及请求参数的下标写入数据通道,参数代理进程从数据通道获取这些信息后,异步与服务器节点进行通信,然后将得到的结果写入通道。.这个系统采取了一系列的措施来优化分布式计算中参数代理进程和服务器节点之间进行消息传输的代价,节省存储空间,并且通过多线程线性代数库来提升性能。实验结果表明该系统能够达到近似线性的加速比并且具有良好的容错性。.为了提高系统的高可用性,本项目设计了一套灵活高效的故障恢复方案:采用多个保持同步状态的主控制节点组成一个高可用集群;将服务器节点映射到一个环上,把每个参数分别存储在多台不同的服务器节点上;主控制节点定期和服务器节点以及工作节点发送和接收心跳信息来检测故障并了解整个集群的状态信息以及任务的执行情况。这些设计保证系统在出现单点故障的情况下依然能够正常工作。.这个系统的核心技术申请了三项专利和一项软件著作权。该系统已经开源,供大家免费使用。

项目成果
{{index+1}}

{{i.achievement_title}}

{{i.achievement_title}}

DOI:{{i.doi}}
发表时间:{{i.publish_year}}

暂无此项成果

数据更新时间:2023-05-31

其他相关文献

1

基于分形L系统的水稻根系建模方法研究

基于分形L系统的水稻根系建模方法研究

DOI:10.13836/j.jjau.2020047
发表时间:2020
2

基于SSVEP 直接脑控机器人方向和速度研究

基于SSVEP 直接脑控机器人方向和速度研究

DOI:10.16383/j.aas.2016.c150880
发表时间:2016
3

拥堵路网交通流均衡分配模型

拥堵路网交通流均衡分配模型

DOI:10.11918/j.issn.0367-6234.201804030
发表时间:2019
4

卫生系统韧性研究概况及其展望

卫生系统韧性研究概况及其展望

DOI:10.16506/j.1009-6639.2018.11.016
发表时间:2018
5

基于公众情感倾向的主题公园评价研究——以哈尔滨市伏尔加庄园为例

基于公众情感倾向的主题公园评价研究——以哈尔滨市伏尔加庄园为例

DOI:
发表时间:2022

肖臻的其他基金

相似国自然基金

1

面向流式机器学习的并行计算模型与系统框架研究

批准号:61802377
批准年份:2018
负责人:许利杰
学科分类:F0202
资助金额:26.00
项目类别:青年科学基金项目
2

分布式多机器人协作的迭代学习控制策略研究

批准号:60774023
批准年份:2007
负责人:杨胜跃
学科分类:F0301
资助金额:29.00
项目类别:面上项目
3

大数据机器学习分布式算法的可行性理论

批准号:61573326
批准年份:2015
负责人:张永全
学科分类:F0603
资助金额:64.00
项目类别:面上项目
4

大尺度分布式深度学习框架在隐写分析上的应用

批准号:61402295
批准年份:2014
负责人:谭舜泉
学科分类:F0205
资助金额:26.00
项目类别:青年科学基金项目