CN109063842A - 一种兼容多种算法框架的机器学习平台 - Google Patents

一种兼容多种算法框架的机器学习平台 Download PDF

Info

Publication number
CN109063842A
CN109063842A CN201810738131.8A CN201810738131A CN109063842A CN 109063842 A CN109063842 A CN 109063842A CN 201810738131 A CN201810738131 A CN 201810738131A CN 109063842 A CN109063842 A CN 109063842A
Authority
CN
China
Prior art keywords
frame
machine learning
spark
data
many algorithms
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201810738131.8A
Other languages
English (en)
Inventor
王峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuxi Xuelang Number System Technology Co Ltd
Original Assignee
Wuxi Xuelang Number System Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuxi Xuelang Number System Technology Co Ltd filed Critical Wuxi Xuelang Number System Technology Co Ltd
Priority to CN201810738131.8A priority Critical patent/CN109063842A/zh
Publication of CN109063842A publication Critical patent/CN109063842A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs

Abstract

本发明公开一种兼容多种算法框架的机器学习平台,该平台通过搭建一个集群兼容所有主流的机器学习框架,统一进行资源调度和用户隔离。主流的机器学习框架搭建在Hadoop+Spark的集群之上,并使用RDD作为数据存储。本发明优点如下:一、利用yarn进行统一的资源管理,因此继承所有yarn的优点;二、使用Spark作为统一底层计算框架,Spark RDD作为统一数据存储,因此继承所有Spark优点;三、调度多种计算框架,支持所有框架的原生优点,包括同步/异步训练,模型/数据并行计算,在线预测等;四、完成了异构计算框架的整合;五、底层支持CPU和GPU。

Description

一种兼容多种算法框架的机器学习平台
技术领域
本发明涉及一种机器学习平台,尤其涉及一种兼容多种算法框架的机器学习平台。
背景技术
机器学习已经发展了几十年,在不同时期,为了解决不同的场景的问题,出现了多种机器学习框架,如传统的机器学习框架ScikitLearn,分布式并行计算框架Spark ML,以及深度学习框架TensorFlow,Caffe,Intel BigDL等。在实际的场景中,往往需要同时使用这些异构的计算框架解决具体的问题,来达到最优的效果。如果为每一种计算框架都搭建一个单独的集群,这样做存在较大的硬件资源浪费,开发和运维成本也非常高,并且不利于数据共享。
发明内容
本发明的目的在于通过一种兼容多种算法框架的机器学习平台,来解决以上背景技术部分提到的问题。
为达此目的,本发明采用以下技术方案:
一种兼容多种算法框架的机器学习平台,该平台通过搭建一个集群兼容所有主流的机器学习框架,统一进行资源调度和用户隔离。
特别地,所述主流的机器学习框架搭建在Hadoop+Spark的集群之上,并使用RDD作为数据存储。
特别地,所述通过搭建一个集群兼容所有主流的机器学习框架,统一进行资源调度和用户隔离,具体包括:Spark原生支持Spark ML;对于深度并行学习框架TensorFlow、Caffe以及BigDL,在启动每个Spark Executor之后:
启动TensorFlow,Caffe,BigDLworker,并且为数据和事件添加侦听;通过各个框架对应的feed机制,将Spark RDD数据从包括但不限于HDFS在内的存储介质进行读取并发送到TensorFlow,Caffe,BigDL;各个框架进行分布式并行计算,并自动进行模型的跨节点同步;结算结束后,关闭TensorFlow,Caffe,BigDLworker。
特别地,对于机器学习框架ScikitLearn,并不支持分布式计算,但是同样可以利用yarn的调度机制,启动单个的Spark Executor;在启动Spark Executor后,将RDD数据转换为ScikitLearn所需数据类型进行单机计算,计算完成后将模型或者数据表写回包括但不限于HDFS在内的存储介质。
本发明提出的兼容多种算法框架的机器学习平台优点如下:一、利用yarn进行统一的资源管理,因此继承所有yarn的优点;二、使用Spark作为统一底层计算框架,SparkRDD作为统一数据存储,因此继承所有Spark优点;三、调度多种计算框架,支持所有框架的原生优点,包括同步/异步训练,模型/数据并行计算,在线预测等;四、完成了异构计算框架的整合;五、底层支持CPU和GPU。
附图说明
图1为本发明实施例提供的兼容多种算法框架的机器学习平台示意图;
图2为本发明实施例提供的兼容多种算法框架的机器学习平台的工作原理示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
本实施例中兼容多种算法框架的机器学习平台通过搭建一个集群兼容所有主流的机器学习框架,统一进行资源调度和用户隔离。如图1所示,在本实施例中所述主流的机器学习框架搭建在Hadoop+Spark的集群之上,并使用RDD作为数据存储。需要说明的是,图中各英文名词均为计算机领域的惯用技术术语,在计算机领域的释义唯一,对本领域的普通技术人员来说无任何异议,因此,在此就不再赘述。
具体的,如图2所示,通过搭建一个集群兼容所有主流的机器学习框架,统一进行资源调度和用户隔离,具体包括:Spark原生支持Spark ML;对于深度并行学习框架TensorFlow、Caffe以及BigDL,在启动每个Spark Executor之后:启动TensorFlow,Caffe,BigDLworker,并且为数据和事件添加侦听;通过各个框架对应的feed机制,将Spark RDD数据从包括但不限于HDFS在内的存储介质进行读取并发送到TensorFlow,Caffe,BigDL;各个框架进行分布式并行计算,并自动进行模型的跨节点同步;结算结束后,关闭TensorFlow,Caffe,BigDLworker。其中,图中各英文名词均为计算机领域的惯用技术术语,在计算机领域的释义唯一,对本领域的普通技术人员来说无任何异议,因此,在此就不再赘述。
值得一提的是,对于机器学习框架ScikitLearn,并不支持分布式计算,但是同样可以利用yarn的调度机制,启动单个的Spark Executor;在启动SparkExecutor后,将RDD数据转换为ScikitLearn所需数据类型进行单机计算,计算完成后将模型或者数据表写回包括但不限于HDFS在内的存储介质。
本发明提出的技术方案优点如下:一、利用yarn进行统一的资源管理,因此继承所有yarn的优点;二、使用Spark作为统一底层计算框架,Spark RDD作为统一数据存储,因此继承所有Spark优点;三、调度多种计算框架,支持所有框架的原生优点,包括同步/异步训练,模型/数据并行计算,在线预测等;四、完成了异构计算框架的整合;五、底层支持CPU和GPU。
本领域普通技术人员可以理解实现上述实施例中的全部部分是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (4)

1.一种兼容多种算法框架的机器学习平台,其特征在于,该平台通过搭建一个集群兼容所有主流的机器学习框架,统一进行资源调度和用户隔离。
2.根据权利要求1所述的兼容多种算法框架的机器学习平台,其特征在于,所述主流的机器学习框架搭建在Hadoop+Spark的集群之上,并使用RDD作为数据存储。
3.根据权利要求2所述的兼容多种算法框架的机器学习平台,其特征在于,所述通过搭建一个集群兼容所有主流的机器学习框架,统一进行资源调度和用户隔离,具体包括:Spark原生支持Spark ML;对于深度并行学习框架TensorFlow、Caffe以及BigDL,在启动每个Spark Executor之后:
启动TensorFlow,Caffe,BigDLworker,并且为数据和事件添加侦听;通过各个框架对应的feed机制,将Spark RDD数据从包括但不限于HDFS在内的存储介质进行读取并发送到TensorFlow,Caffe,BigDL;各个框架进行分布式并行计算,并自动进行模型的跨节点同步;结算结束后,关闭TensorFlow,Caffe,BigDLworker。
4.根据权利要求1至3之一所述的兼容多种算法框架的机器学习平台,其特征在于,对于机器学习框架ScikitLearn,并不支持分布式计算,但是同样可以利用yarn的调度机制,启动单个的Spark Executor;在启动Spark Executor后,将RDD数据转换为ScikitLearn所需数据类型进行单机计算,计算完成后将模型或者数据表写回包括但不限于HDFS在内的存储介质。
CN201810738131.8A 2018-07-06 2018-07-06 一种兼容多种算法框架的机器学习平台 Pending CN109063842A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810738131.8A CN109063842A (zh) 2018-07-06 2018-07-06 一种兼容多种算法框架的机器学习平台

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810738131.8A CN109063842A (zh) 2018-07-06 2018-07-06 一种兼容多种算法框架的机器学习平台

Publications (1)

Publication Number Publication Date
CN109063842A true CN109063842A (zh) 2018-12-21

Family

ID=64819029

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810738131.8A Pending CN109063842A (zh) 2018-07-06 2018-07-06 一种兼容多种算法框架的机器学习平台

Country Status (1)

Country Link
CN (1) CN109063842A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110597634A (zh) * 2019-09-12 2019-12-20 腾讯科技(深圳)有限公司 一种数据处理方法、装置及计算机可读存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104281130A (zh) * 2014-09-22 2015-01-14 国家电网公司 一种基于大数据技术的水电设备监测和故障诊断系统
CN105843959A (zh) * 2016-04-18 2016-08-10 中国建设银行股份有限公司 一种基于大数据处理的积分计算方法和系统
US20170220949A1 (en) * 2016-01-29 2017-08-03 Yahoo! Inc. Method and system for distributed deep machine learning
CN107122375A (zh) * 2016-12-12 2017-09-01 南京理工大学 基于图像特征的图像主体的识别方法
CN107423823A (zh) * 2017-08-11 2017-12-01 成都优易数据有限公司 一种基于r语言的机器学习建模平台架构设计方法
CN107450961A (zh) * 2017-09-22 2017-12-08 济南浚达信息技术有限公司 一种基于Docker容器的分布式深度学习系统及其搭建方法、工作方法
CN107817787A (zh) * 2017-11-29 2018-03-20 华南理工大学 一种基于机器学习的智能产线机械手故障诊断方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104281130A (zh) * 2014-09-22 2015-01-14 国家电网公司 一种基于大数据技术的水电设备监测和故障诊断系统
US20170220949A1 (en) * 2016-01-29 2017-08-03 Yahoo! Inc. Method and system for distributed deep machine learning
CN105843959A (zh) * 2016-04-18 2016-08-10 中国建设银行股份有限公司 一种基于大数据处理的积分计算方法和系统
CN107122375A (zh) * 2016-12-12 2017-09-01 南京理工大学 基于图像特征的图像主体的识别方法
CN107423823A (zh) * 2017-08-11 2017-12-01 成都优易数据有限公司 一种基于r语言的机器学习建模平台架构设计方法
CN107450961A (zh) * 2017-09-22 2017-12-08 济南浚达信息技术有限公司 一种基于Docker容器的分布式深度学习系统及其搭建方法、工作方法
CN107817787A (zh) * 2017-11-29 2018-03-20 华南理工大学 一种基于机器学习的智能产线机械手故障诊断方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110597634A (zh) * 2019-09-12 2019-12-20 腾讯科技(深圳)有限公司 一种数据处理方法、装置及计算机可读存储介质

Similar Documents

Publication Publication Date Title
US20180300616A1 (en) Dynamically partitioning workload in a deep neural network module to reduce power consumption
Saifullah et al. Multi-core real-time scheduling for generalized parallel task models
CN104978228B (zh) 一种分布式计算系统的调度方法和装置
TW201837754A (zh) 基於區塊鏈的資料處理方法及設備
CN106407156B (zh) 一个bootrom引导多核cpu启动的方法及系统
CN102521265B (zh) 一种海量数据管理中动态一致性控制方法
WO2017015510A1 (en) Systems and methods for in-line stream processing of distributed dataflow based computations
CN109063842A (zh) 一种兼容多种算法框架的机器学习平台
Zheng et al. Flowcon: Elastic flow configuration for containerized deep learning applications
Furber Living with failure: Lessons from nature?
CN110245024A (zh) 静态存储块的动态分配系统及其方法
US7460122B1 (en) Method for graphical display of CPU utilization
Shaikh et al. Apache spark: A big data processing engine
TW201923620A (zh) 基於叢集的詞向量處理方法、裝置以及設備
Singh et al. Collaborative adaptation for energy-efficient heterogeneous mobile SoCs
WO2018068623A1 (zh) 一种机器学习方法及系统
CN102520916A (zh) 在mvp处理器中消除纹理延迟和寄存器管理的方法
CN106933534A (zh) 一种数据同步方法和装置
CN110032450B (zh) 一种基于固态盘扩展内存的大规模深度学习方法及系统
CN105159766B (zh) 数据的同步访问方法和同步访问装置
CN109086126A (zh) 任务调度处理方法、装置、服务器、客户端及电子设备
CN108108199A (zh) 一种多核cpu上多操作系统启动方法及装置
Rosenberg Guidelines for Data-Parallel Cycle-Stealing in Networks of Workstations: I. On Maximizing Expected Output
CN107180010A (zh) 异构计算系统和方法
CN108139938A (zh) 用于利用次级线程以辅助主线程执行应用程序任务的装置、方法及计算机程序

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination