CN112966438A - 机器学习算法选择方法、分布式计算系统 - Google Patents

机器学习算法选择方法、分布式计算系统 Download PDF

Info

Publication number
CN112966438A
CN112966438A CN202110248656.5A CN202110248656A CN112966438A CN 112966438 A CN112966438 A CN 112966438A CN 202110248656 A CN202110248656 A CN 202110248656A CN 112966438 A CN112966438 A CN 112966438A
Authority
CN
China
Prior art keywords
machine learning
node
data set
task
training
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
CN202110248656.5A
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.)
Beijing Kingsoft Cloud Network Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network 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 Beijing Kingsoft Cloud Network Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN202110248656.5A priority Critical patent/CN112966438A/zh
Publication of CN112966438A publication Critical patent/CN112966438A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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 OR 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/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明实施例涉及一种机器学习算法选择方法、分布式计算系统,该机器学习算法选择方法包括:Master节点在接收到机器学习算法选择任务后,从多个计算节点中确定N个可用的目标计算节点,以及向N个目标计算节点发送不同机器学习算法对应的机器学习模型训练任务;目标计算节点执行接收到的机器学习模型训练任务,以及确定训练得到的机器学习模型的模型评价指标值,将模型评价指标值发送给Master节点;Master节点根据接收到的所述模型评价指标值展示所述机器学习算法选择任务的执行结果。由此,可以实现多个计算节点并行地执行不同的机器学习模型训练任务,从而节省用户在选择机器学习算法时所花费的时间。

Description

机器学习算法选择方法、分布式计算系统
技术领域
本发明实施例涉及机器学习技术领域,尤其涉及一种机器学习算法选择方法、分布式计算系统。
背景技术
近年来,随着人工智能技术的飞速发展,其技术成果已应用到多个领域,比如,应用人工智能技术,通过对人脸的检测实现无人检票的火车站进站系统,通过对图像的检测实现汽车的无人驾驶,通过自然语言处理算法实现语音识别与翻译等。基于此,越来越多的用户致力于数据挖掘以及机器学习模型建模。
用户运用人工智能技术进行数据挖掘以及机器学习模型建模的关键在于选择合适的机器学习算法实现对数据的分类、回归、聚类等,而随着人工智能技术的飞速发展,各种机器学习算法层出不穷,且不同的机器学习算法对数据的适用性也各不相同,因此,如何快速地从多种机器学习算法中选择合适的机器学习算法成为亟待解决的技术问题。
发明内容
鉴于此,为解决如何快速地从多种机器学习算法中选择合适的机器学习算法的技术问题,本发明实施例提供一种机器学习算法选择方法、分布式计算系统。
第一方面,本发明实施例提供一种机器学习算法选择方法,应用于分布式计算系统,所述分布式计算系统至少包括Master节点、多个计算节点,所述机器学习算法选择方法包括:
所述Master节点在接收到机器学习算法选择任务后,从多个所述计算节点中确定N个可用的目标计算节点,以及向N个所述目标计算节点发送机器学习模型训练任务,其中,所述Master节点向不同的目标计算节点发送的所述机器学习模型训练任务对应的机器学习算法不同,所述N为大于1的自然数;
所述目标计算节点执行接收到的所述机器学习模型训练任务,以及确定训练得到的机器学习模型的模型评价指标值,将所述模型评价指标值发送给所述Master节点;
所述Master节点根据接收到的所述模型评价指标值展示所述机器学习算法选择任务的执行结果。
在一个可能的实施方式中,所述分布式计算系统还包括:数据读取节点,所述方法还包括:
所述Master节点在接收到所述机器学习算法选择任务后,向所述数据读取节点发送所述机器学习算法选择任务对应的数据集;
所述目标计算节点在接收到所述机器学习模型训练任务后,从所述数据读取节点获取所述数据集,以基于所述数据集执行接收到的所述机器学习模型训练任务。
在一个可能的实施方式中,所述方法还包括:
所述数据读取节点在接收到所述数据集后,将所述数据集划分为训练数据集和测试数据集;
所述目标计算节点在从所述数据读取节点获取到所述数据集后,基于所述训练数据集执行接收到的所述机器学习模型训练任务,以及基于所述测试数据集确定训练得到的机器学习模型的模型评价指标值。
在一个可能的实施方式中,所述方法还包括:
所述数据读取节点按照设定的分批规则将所述训练数据集和测试数据集分别进行分批存储,以在所述目标计算节点从所述数据读取节点获取所述数据集时,将所述训练数据集和测试数据集分批发送给所述目标计算节点。
在一个可能的实施方式中,所述Master节点在接收到机器学习算法选择任务后,从多个所述计算节点中确定N个可用的目标计算节点,包括:
所述Master节点在接收到机器学习算法选择任务后,从多个所述计算节点中确定N个可用且当前处于空闲状态的目标计算节点;
所述方法还包括:
所述Master节点在从多个所述计算节点中确定N个可用且当前处于空闲状态的目标计算节点之后,将本地记录的所述目标计算节点的工作状态从空闲状态更新为激活状态;
所述Master节点在接收到所述目标计算节点发送用于指示工作状态由激活状态切换为空闲状态的指示消息之后,将本地记录的所述目标计算节点的工作状态从激活状态更新为空闲状态。
第二方面,本发明实施例提供一种分布式计算系统,所述分布式计算系统至少包括Master节点、多个计算节点;
所述Master节点,在接收到机器学习算法选择任务后,从多个所述计算节点中确定N个可用的目标计算节点,以及向N个所述目标计算节点发送机器学习模型训练任务,其中,所述Master节点向不同的目标计算节点发送的所述机器学习模型训练任务对应的机器学习算法不同,所述N为大于1的自然数;
所述目标计算节点,执行接收到的所述机器学习模型训练任务,以及确定训练得到的机器学习模型的模型评价指标值,将所述模型评价指标值发送给所述Master节点;
所述Master节点,根据接收到的所述模型评价指标值进行展示所述机器学习算法选择任务的执行结果。
在一个可能的实施方式中,所述分布式计算系统还包括:数据读取节点;
所述Master节点,在接收到所述机器学习算法选择任务后,向所述数据读取节点发送所述机器学习算法选择任务对应的数据集;
所述目标计算节点,在接收到所述机器学习模型训练任务后,从所述数据读取节点获取所述数据集,以基于所述数据集执行接收到的所述机器学习模型训练任务。
在一个可能的实施方式中,所述数据读取节点,在接收到所述数据集后,将所述数据集划分为训练数据集和测试数据集;
所述目标计算节点,在从所述数据读取节点获取到所述数据集后,基于所述训练数据集执行接收到的所述机器学习模型训练任务,以及基于所述测试数据集确定训练得到的机器学习模型的模型评价指标值。
在一个可能的实施方式中,所述数据读取节点,按照设定的分批规则将所述训练数据集和测试数据集分别进行分批存储,以在所述目标计算节点从所述数据读取节点获取所述数据集时,将所述训练数据集和测试数据集分批发送给所述目标计算节点。
在一个可能的实施方式中,所述Master节点,在接收到机器学习算法选择任务后,从多个所述计算节点中确定N个可用且当前处于空闲状态的目标计算节点;
所述Master节点,在从多个所述计算节点中确定N个可用且当前处于空闲状态的目标计算节点之后,将本地记录的所述目标计算节点的工作状态从空闲状态更新为激活状态;
在接收到所述目标计算节点发送的用于指示工作状态由激活状态切换为空闲状态的指示消息之后,将本地记录的所述目标计算节点的工作状态从激活状态更新为空闲状态。
第三方面,本发明实施例提供一种机器学习算法选择装置,应用于分布式计算系统中的Master节点,所述分布式计算系统还包括多个计算节点;所述装置包括:
任务接收模块,用于接收机器学习算法选择任务;
节点选择模块,用于从多个所述计算节点中确定N个可用的目标计算节点;
任务发送模块,用于向N个所述目标计算节点发送机器学习模型训练任务,以使所述目标计算节点执行接收到的所述机器学习模型训练任务,确定训练得到的机器学习模型的模型评价指标值,以及将所述模型评价指标值发送给所述Master节点;
展示模块,用于根据接收到的所述模型评价指标值展示所述机器学习算法选择任务的执行结果。
第四方面,本发明实施例提供一种机器学习算法选择装置,应用于分布式计算系统中的任一计算节点,所述分布式计算系统还包括Master节点;所述装置包括:
任务执行模块,用于执行接收到的所述机器学习模型训练任务;
指标值确定模块,用于确定训练得到的机器学习模型的模型评价指标值;
指标值发送模块,用于将所述模型评价指标值发送给所述Master节点。
第四方面,本发明实施例提供一种存储介质,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现第一方面中任一项所述的机器学习算法选择方法。
本发明实施例提供的技术方案,通过Master节点在接收到机器学习算法选择任务后,从多个计算节点中确定N个可用的目标计算节点,以及向N个目标计算节点发送机器学习模型训练任务,其中,Master节点向不同的目标计算节点发送的机器学习模型训练任务对应的机器学习算法不同,实现了多个计算节点并行地执行不同的机器学习模型训练任务,这相较于现有技术中依次执行不同的机器学习模型训练任务而言,能够快速得到不同的机器学习模型,进而快速得到不同机器学习模型的模型评价指标值,以供用户基于不同机器学习模型的模型评价指标值选择目标机器学习算法,如此则节省了用户在选择机器学习算法时所花费的时间。
同时,上述N个目标计算节点在并行地执行机器学习模型训练任务时,可从同一数据读取节点获取数据集,如此能够提高数据获取效率,进而提高多个机器学习模型的训练效率。
再者,上述N个目标计算节点可利用统一的训练数据集执行各自的机器学习模型训练任务,并利用统一的测试数据集对训练得到的机器学习模型进行测试,得到模型评价指标值,如此可排除由于数据集不同而带来的训练结果差异,使得最终的机器学习算法选择结果更具说服力。
附图说明
图1为本发明实施例提供的一种分布式计算系统的架构示意图;
图2为本发明实施例提供的一种机器学习模型选择方法的实施例流程图;
图3为本发明实施例提供的一种机器学习模型选择装置的结构示意图;
图4为本发明实施例提供的另一种机器学习模型选择装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,为本发明实施例提供的一种分布式计算系统的架构示意图。如图1所示的分布式计算系统100包括:终端设备101、Master节点102、数据读取节点103、计算节点104~107。终端设备101与Master节点102通信连接,Master节点102与数据读取节点103、计算节点104~107分别通信连接,数据读取节点103与计算节点104~107分别通信连接。需要说明的是,图1中仅以一个数据读取节点,四个计算节点为例,在实践中,分布式计算系统100可包括多个数据读取节点,多个计算节点,本发明对此不作限制。
终端设备101可以是支持具有显示屏的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机、台式计算机、服务器等,可通过安装相应的客户端应用来提供相应的网络服务。在本发明实施例中,终端设备101上安装有用于与Master节点102通信的客户端应用,在应用中,用户可通过上述客户端应用触发机器学习算法选择任务,该机器学习算法选择任务用于指示分布式计算系统100利用N种机器学习算法训练出N个机器学习模型,并确定训练得到的每一机器学习模型的模型评价指标值,比如准确率、AUC(Area Underthe Curve,ROC曲线下的面积)等。
Master节点102,用于负责分布式计算系统100的资源监控和任务调度。上述资源监控包括:监控分布式计算系统100中各数据读取节点和各计算节点是否可用以及工作状态(包括激活状态和空闲状态)。上述任务调度是指:Master节点102在接收到上述机器学习算法选择任务后,安排利用N种机器学习算法训练N个机器学习模型训练任务的执行。
数据读取节点103,用于存储上述机器学习算法选择任务对应的数据集,该数据集包括训练数据集和测试数据集,其中,训练数据集用于机器学习模型训练,测试数据集用于对训练好的机器学习模型进行测试,以得到模型评价指标值。
作为一个实施例,数据读取节点103可按照设定的分批规则分批存储上述训练数据集和测试数据集,比如每100条数据分一个批次,如此当计算节点104~107从数据读取节点103上读取训练数据集和测试数据集时,数据读取节点103能够将训练数据集和测试数据集分批发送给计算节点104~107,提高数据读取效率。作为一个实施例,在实践中,数据读取节点103可采用内存存储器,以尽可能地加快数据的存储和读取。
计算节点104~107,用于执行机器学习模型训练任务,以及对训练好的机器学习模型进行测试,确定训练好的机器学习模型的模型评价指标值。基于此,作为一个实施例,在实践中,可在计算节点104~107上内置一系列的机器学习算法,比如线性回归算法、聚类算法等,上述机器学习算法可采用计算机程序设计语言,比如python语言、C语言等编写并封装在计算节点104~107上。作为一个实施例,在实践中,计算节点104~107可具有计算能力较强的处理器,比如GPU计算单元、DSP数字信号处理器等,以为执行机器学习模型训练任务提供硬件基础。
至此,完成图1所示系统架构的说明。
下面在图1所示系统架构的基础上,结合附图以具体实施例对本发明提供的机器学习模型选择方法做进一步的解释说明,实施例并不构成对本发明实施例的限定。
参见图2,为本发明实施例提供的一种机器学习模型选择方法的实施例流程图,作为一个实施例,该方法可应用于图1所示例的分布式计算系统100,包括以下步骤:
步骤201、Master节点在接收到机器学习算法选择任务后,从多个计算节点中确定N个可用的目标计算节点,以及向N个目标计算节点分别发送机器学习模型训练任务,其中,Master节点向不同的目标计算节点发送的机器学习模型训练任务对应的机器学习算法不同。
作为一个实施例,在应用中,可由用户根据实际业务需求,通过终端设备101上安装的客户端应用设置一个机器学习算法列表,该机器学习算法列表中可包括N(N为大于1的自然数)种机器学习算法,并针对该机器学习算法列表触发机器学习算法选择任务。终端设备101检测到机器学习算法选择任务后,可将该机器学习算法选择任务发送至Master节点102,以指示分布式计算系统100根据该机器学习算法选择任务执行利用N种机器学习算法训练N个机器学习模型的任务。
Master节点102接收到上述机器学习算法选择任务后,可从多个计算节点中确定N个可用的计算节点(为描述方便,以下称为目标计算节点),向N个目标计算节点分别下发一个机器学习模型训练任务,其中,不同的机器学习模型训练任务对应不同的机器学习算法,如此可实现一个目标计算节点接收到一个机器学习模型训练任务。
其中,作为一种优选的实现方式,Master节点102从多个计算节点中确定N个可用且当前处于空闲状态的计算节点。需要说明的是,若多个计算节点中,可用且当前处于空闲状态的计算节点的数量(记为M)小于N,则Master节点102选择所有的可用且当前处于空闲状态的计算节点,以及(N-M)个可用且当前处于激活状态的计算节点作为上述目标计算节点。在该实现方式中,通过优先选择当前处于空闲状态的计算节点可以提高效率。
此外,在应用中,可由用户通过终端设备101上安装的客户端应用设置上述机器学习算法选择任务对应的数据集,终端设备101在检测到上述机器学习算法选择任务后,可将该数据集发送至Master节点102,Master节点102可进一步将接收到数据集发送至数据读取节点103。需要说明的是,在分布式计算系统100中具有多个数据读取节点的情况下,Master节点102可优先选择一个可用且处于空闲状态的数据读取节点,将上述数据集发送至该被选择的数据读取节点上。
数据读取节点接收到数据集后,可将上述数据集划分为训练数据集和测试数据集,比如将数据集中80%的数据归入训练数据集,剩余20%的数据归入测试数据集。数据读取节点还可按照设定的分批规则,比如每100条数据分为一个批次,将训练数据集和测试数据集分别进行分批存储。
步骤202、目标计算节点执行机器学习模型训练任务,以及确定训练得到的机器学习模型的模型评价指标值,将模型评价指标值发送给Master节点。
目标计算节点接收到机器学习模型训练任务后,可从上述步骤201描述的存储有数据集的数据读取节点上获取数据集,然后利用其中的训练数据集和接收到的机器学习模型训练任务对应的机器学习算法训练一个机器学习模型。在完成机器学习模型训练后,进一步利用获取到的测试数据集对训练得到的机器学习模型进行测试,得到模型评价指标值。最后,目标计算节点将模型评价指标值发送给Master节点。
其中,在分布式计算系统100中具有一个数据读取节点的情况下,可将该数据读取节点的网络地址设置于各计算节点上,在分布式计算系统100中具有多个数据读取节点的情况下,Master节点可将上述被选择的数据读取节点的网络地址发送给目标计算节点,如此目标计算节点能够根据数据读取节点的网络地址获取数据集。
可以理解的是,在本步骤202中,若目标计算节点当前处于空闲状态,则目标计算节点接收到机器学习模型训练任务后,可直接执行上述操作;而若目标计算节点当前处于激活状态,则目标计算节点可待结束当前所执行的计算任务后,再执行上述操作。
步骤203、Master节点根据接收到的模型评价指标值展示所述机器学习算法选择任务的执行结果。
作为一个实施例,上述机器学习算法选择任务的执行结果指:N种机器学习算法及其对应的模型评价指标值,也即,Master节点可直接展示N种机器学习算法及其对应的模型评价指标值。作为一种优选的实现方式,Master节点可基于模型评价指标值对上述N种机器学习算法进行排序,比如按照准确率从高到低的顺序对上述N种机器学习算法进行排序,将排序后的机器学习算法和对应的模型评价指标值进行展示,以供用户从上述N种机器学习算法中确定目标机器学习算法。
作为另一个实施例,上述机器学习算法选择任务的执行结果指:N种机器学习算法中最优的机器学习算法及其对应的模型评价指标值。比如,Master节点可将N种机器学习算法中,准确率最高的机器学习算法确定为最优的机器学习算法;再比如,Master节点按照预设的加权求和策略和多个维度的模型评价指标值确定N种机器学习算法各自的总分值,将总分值中最高的机器学习算法确定为最优的机器学习算法。
此外,在应用中,Master节点还可将上述机器学习算法选择任务的执行结果发送给外部设备,比如终端设备101进行展示。
此外,还需要说明的是,若上述N个目标计算节点中包括可用且当前处于激活状态的计算节点,则Master节点可以每接收到一个机器学习算法对应的模型评价指标值则进行展示,也可以待接收到所有的机器学习算法对应的模型评价指标值之后再进行上述展示,本发明对此不做限制。
为便于理解上述步骤201~203,示出以下具体例子:
假设用户需要训练一个房价预测模型,通过终端设备101上安装的客户端应用设置了一个包括以下四种机器学习算法的机器学习算法列表:Linear Regression(线性回归算法)、XGBoost算法、RandomForest(随机森林)算法、Bagging算法,以及将美国KingCounty的房屋销售kc_house数据集设置为机器学习算法选择任务对应的数据集。
在用户针对上述机器学习算法列表触发机器学习算法选择任务后,终端设备102将该机器学习算法选择任务发送给Master节点102,Master节点102则基于该机器学习算法选择任务选择4个可用且处于空闲状态的目标计算节点,比如计算节点104~107,向该4个目标计算节点分别下发一个机器学习模型训练任务,比如向计算节点104下发用于指示利用Linear Regression算法训练机器学习模型的机器学习模型训练任务,向计算节点105下发用于指示利用XGBoost算法训练机器学习模型的机器学习模型训练任务,向计算节点106下发用于指示利用RandomForest算法训练机器学习模型的机器学习模型训练任务,向计算节点107下发用于指示利用Bagging算法训练机器学习模型的机器学习模型训练任务。
Master节点102还将上述数据集发送给数据读取节点103。数据读取节点103接收到上述数据集后,将其中80%的数据归入训练数据集,剩余20%的数据归入测试数据集。
计算节点104~107在接收到机器学习模型训练任务后,分别从数据读取节点103获取上述数据集,并基于获取到的数据集中的训练数据集执行接收到的机器学习模型训练任务,以及在训练结束后,基于获取到的数据集中的测试数据对训练得到的机器学习模型进行测试,得到模型评价指标值。进一步,计算节点104~107将各自得到的模型评价指标值发送给Master节点102。
Master节点102接收到上述模型评价指标值后,可基于模型评价指标值对上述四种机器学习算法进行排序,以模型评价指标值为准确率为例,可按照准确率从高到低的顺序对上述四种机器学习算法进行排序,假设排序结果如下:RandomForest:86.81%、XGBoost:86.39%、Bagging:84.85%、LinearRegression:69.05%。进一步,Master节点102将排序结果发送给终端设备101进行展示。
可以理解的是,准确率越高意味着机器学习模型的精度越高,训练得到该机器学习模型时所使用的机器学习算法相较于其他机器学习算法则更为适用,基于此,基于终端设备101展示的上述排序结果,用户可将RandomForest算法确定为最终的目标机器学习算法。可选的,用户还可将XGBoost算法确定为候选的机器学习算法。
由上述描述可见,本发明实施例提供的技术方案,通过Master节点在接收到机器学习算法选择任务后,从多个计算节点中确定N个可用的目标计算节点,以及向N个目标计算节点发送机器学习模型训练任务,其中,Master节点向不同的目标计算节点发送的机器学习模型训练任务对应的机器学习算法不同,实现了多个计算节点并行地执行不同的机器学习模型训练任务,这相较于现有技术中依次执行不同的机器学习模型训练任务而言,能够快速得到不同的机器学习模型,进而快速得到不同机器学习模型的模型评价指标值,以供用户基于不同机器学习模型的模型评价指标值选择目标机器学习算法,如此则节省了用户在选择机器学习算法时所花费的时间。
同时,上述N个目标计算节点在并行地执行机器学习模型训练任务时,可从同一数据读取节点获取数据集,如此能够提高数据获取效率,进而提高多个机器学习模型的训练效率。
再者,上述N个目标计算节点可利用统一的训练数据集执行各自的机器学习模型训练任务,并利用统一的测试数据集对训练得到的机器学习模型进行测试,得到模型评价指标值,如此可排除由于数据集不同而带来的训练结果差异,使得最终的机器学习算法选择结果更具说服力。
此外,作为一个实施例,Master节点102在从多个计算节点中确定N个可用且当前处于空闲状态的目标计算节点之后,将本地记录的该目标计算节点的工作状态从空闲状态更新为激活状态;在接收到目标计算节点发送的用于指示工作状态由激活状态切换为空闲状态的指示消息之后,将本地记录的该目标计算节点的工作状态从激活状态更新为空闲状态,如此可实现Master节点102对分布式计算系统100进行资源监控,并为上述步骤201中Master节点102在接收到机器学习算法选择任务后,从多个计算节点中确定N个可用且当前处于空闲状态的目标计算节点提供实现基础。
以下结合图2所示例的方法流程图,再对本发明实施例提供的分布式计算系统做进一步的解释说明:
Master节点,在接收到机器学习算法选择任务后,从多个计算节点中确定N个可用的目标计算节点,以及向N个所述目标计算节点发送机器学习模型训练任务,其中,Master节点向不同的目标计算节点发送的所述机器学习模型训练任务对应的机器学习算法不同,所述N为大于1的自然数;
所述目标计算节点,执行接收到的所述机器学习模型训练任务,以及确定训练得到的机器学习模型的模型评价指标值,将所述模型评价指标值发送给所述Master节点;
Master节点,根据接收到的所述模型评价指标值展示所述机器学习算法选择任务的执行结果。
在一个可能的实施方式中,所述分布式计算系统还包括:数据读取节点;
所述Master节点,在接收到所述机器学习算法选择任务后,向所述数据读取节点发送所述机器学习算法选择任务对应的数据集;
所述目标计算节点,在接收到所述机器学习模型训练任务后,从所述数据读取节点获取所述数据集,以基于所述数据集执行接收到的所述机器学习模型训练任务。
在一个可能的实施方式中,所述数据读取节点,在接收到所述数据集后,将所述数据集划分为训练数据集和测试数据集;
所述目标计算节点,在从所述数据读取节点获取到所述数据集后,基于所述训练数据集执行接收到的所述机器学习模型训练任务,以及基于所述测试数据集确定训练得到的机器学习模型的模型评价指标值。
在一个可能的实施方式中,所述数据读取节点,按照设定的分批规则将所述训练数据集和测试数据集分别进行分批存储,以在所述目标计算节点从所述数据读取节点获取所述数据集时,将所述训练数据集和测试数据集分批发送给所述目标计算节点。
在一个可能的实施方式中,所述Master节点,在接收到机器学习算法选择任务后,从多个所述计算节点中确定N个可用且当前处于空闲状态的目标计算节点;
所述Master节点,在从多个所述计算节点中确定N个可用且当前处于空闲状态的目标计算节点之后,将本地记录的所述目标计算节点的工作状态从空闲状态更新为激活状态;
在接收到所述目标计算节点发送的用于指示工作状态由激活状态切换为空闲状态的指示消息之后,将本地记录的所述目标计算节点的工作状态从激活状态更新为空闲状态。
图3为本发明实施例提供的一种机器学习算法选择装置的结构示意图,该图3所示装置应用于分布式计算系统中的Master节点,所述分布式计算系统还包括多个计算节点;所述装置包括:
任务接收模块31,用于接收机器学习算法选择任务;
节点选择模块32,用于从多个所述计算节点中确定N个可用的目标计算节点;
任务发送模块33,用于向N个所述目标计算节点发送机器学习模型训练任务,以使所述目标计算节点执行接收到的所述机器学习模型训练任务,确定训练得到的机器学习模型的模型评价指标值,以及将所述模型评价指标值发送给所述Master节点;
展示模块34,用于根据接收到的所述模型评价指标值展示所述机器学习算法选择任务的执行结果。
在一个可能的实施方式中,所述节点选择模块32,具体用于:在接收到机器学习算法选择任务后,从多个所述计算节点中确定N个可用且当前处于空闲状态的目标计算节点;
所述装置还包括(图3中未示出):
状态标记模块,用于在从多个所述计算节点中确定N个可用且当前处于空闲状态的目标计算节点之后,将本地记录的所述目标计算节点的工作状态从空闲状态更新为激活状态;在接收到所述目标计算节点发送的用于指示工作状态由激活状态切换为空闲状态的指示消息之后,将本地记录的所述目标计算节点的工作状态从激活状态更新为空闲状态。
图4为本发明实施例提供的另一种机器学习算法选择装置的结构示意图,该图4所示装置应用于应用于分布式计算系统中的任一计算节点,所述分布式计算系统还包括Master节点;所述装置包括:
任务执行模块41,用于执行接收到的所述机器学习模型训练任务;
指标值确定模块42,用于确定训练得到的机器学习模型的模型评价指标值;
指标值发送模块43,用于将所述模型评价指标值发送给所述Master节点。
本发明实施例还提供了一种存储介质(计算机可读存储介质)。这里的存储介质存储有一个或者多个程序。其中,存储介质可以包括易失性存储器,例如随机存取存储器;存储器也可以包括非易失性存储器,例如只读存储器、快闪存储器、硬盘或固态硬盘;存储器还可以包括上述种类的存储器的组合。
当存储介质中一个或者多个程序可被一个或者多个处理器执行,以实现上述机器学习算法选择方法。
所述处理器用于执行存储器中机器学习算法选择程序,以实现以下在电子设备侧执行的机器学习算法选择方法的步骤。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (11)

1.一种机器学习算法选择方法,其特征在于,应用于分布式计算系统,所述分布式计算系统至少包括Master节点、多个计算节点,所述机器学习算法选择方法包括:
所述Master节点在接收到机器学习算法选择任务后,从多个所述计算节点中确定N个可用的目标计算节点,以及向N个所述目标计算节点发送机器学习模型训练任务,其中,所述Master节点向不同的目标计算节点发送的所述机器学习模型训练任务对应的机器学习算法不同,所述N为大于1的自然数;
所述目标计算节点执行接收到的所述机器学习模型训练任务,以及确定训练得到的机器学习模型的模型评价指标值,将所述模型评价指标值发送给所述Master节点;
所述Master节点根据接收到的所述模型评价指标值展示所述机器学习算法选择任务的执行结果。
2.根据权利要求1所述的方法,其特征在于,所述分布式计算系统还包括:数据读取节点,所述方法还包括:
所述Master节点在接收到所述机器学习算法选择任务后,向所述数据读取节点发送所述机器学习算法选择任务对应的数据集;
所述目标计算节点在接收到所述机器学习模型训练任务后,从所述数据读取节点获取所述数据集,以基于所述数据集执行接收到的所述机器学习模型训练任务。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述数据读取节点在接收到所述数据集后,将所述数据集划分为训练数据集和测试数据集;
所述目标计算节点在从所述数据读取节点获取到所述数据集后,基于所述训练数据集执行接收到的所述机器学习模型训练任务,以及基于所述测试数据集确定训练得到的机器学习模型的模型评价指标值。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
所述数据读取节点按照设定的分批规则将所述训练数据集和测试数据集分别进行分批存储,以在所述目标计算节点从所述数据读取节点获取所述数据集时,将所述训练数据集和测试数据集分批发送给所述目标计算节点。
5.根据权利要求1所述的方法,其特征在于,所述Master节点在接收到机器学习算法选择任务后,从多个所述计算节点中确定N个可用的目标计算节点,包括:
所述Master节点在接收到机器学习算法选择任务后,从多个所述计算节点中确定N个可用且当前处于空闲状态的目标计算节点;
所述方法还包括:
所述Master节点在从多个所述计算节点中确定N个可用且当前处于空闲状态的目标计算节点之后,将本地记录的所述目标计算节点的工作状态从空闲状态更新为激活状态;
所述Master节点在接收到所述目标计算节点发送的用于指示工作状态由激活状态切换为空闲状态的指示消息之后,将本地记录的所述目标计算节点的工作状态从激活状态更新为空闲状态。
6.一种分布式计算系统,其特征在于,所述分布式计算系统至少包括Master节点、多个计算节点;
所述Master节点,在接收到机器学习算法选择任务后,从多个所述计算节点中确定N个可用的目标计算节点,以及向N个所述目标计算节点发送机器学习模型训练任务,其中,所述Master节点向不同的目标计算节点发送的所述机器学习模型训练任务对应的机器学习算法不同,所述N为大于1的自然数;
所述目标计算节点,执行接收到的所述机器学习模型训练任务,以及确定训练得到的机器学习模型的模型评价指标值,将所述模型评价指标值发送给所述Master节点;
所述Master节点,根据接收到的所述模型评价指标值展示所述机器学习算法选择任务的执行结果。
7.根据权利要求6所述的系统,其特征在于,所述分布式计算系统还包括:数据读取节点;
所述Master节点,在接收到所述机器学习算法选择任务后,向所述数据读取节点发送所述机器学习算法选择任务对应的数据集;
所述目标计算节点,在接收到所述机器学习模型训练任务后,从所述数据读取节点获取所述数据集,以基于所述数据集执行接收到的所述机器学习模型训练任务。
8.根据权利要求7所述的系统,其特征在于,
所述数据读取节点,在接收到所述数据集后,将所述数据集划分为训练数据集和测试数据集;
所述目标计算节点,在从所述数据读取节点获取到所述数据集后,基于所述训练数据集执行接收到的所述机器学习模型训练任务,以及基于所述测试数据集确定训练得到的机器学习模型的模型评价指标值。
9.一种机器学习算法选择装置,其特征在于,应用于分布式计算系统中的Master节点,所述分布式计算系统还包括多个计算节点;所述装置包括:
任务接收模块,用于接收机器学习算法选择任务;
节点选择模块,用于从多个所述计算节点中确定N个可用的目标计算节点;
任务发送模块,用于向N个所述目标计算节点发送机器学习模型训练任务,以使所述目标计算节点执行接收到的所述机器学习模型训练任务,确定训练得到的机器学习模型的模型评价指标值,以及将所述模型评价指标值发送给所述Master节点;
展示模块,用于根据接收到的所述模型评价指标值展示所述机器学习算法选择任务的执行结果。
10.一种机器学习算法选择装置,其特征在于,应用于分布式计算系统中的任一计算节点,所述分布式计算系统还包括Master节点;所述装置包括:
任务执行模块,用于执行接收到的所述机器学习模型训练任务;
指标值确定模块,用于确定训练得到的机器学习模型的模型评价指标值;
指标值发送模块,用于将所述模型评价指标值发送给所述Master节点。
11.一种存储介质,其特征在于,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现权利要求1~5中任一项所述的机器学习算法选择方法。
CN202110248656.5A 2021-03-05 2021-03-05 机器学习算法选择方法、分布式计算系统 Pending CN112966438A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110248656.5A CN112966438A (zh) 2021-03-05 2021-03-05 机器学习算法选择方法、分布式计算系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110248656.5A CN112966438A (zh) 2021-03-05 2021-03-05 机器学习算法选择方法、分布式计算系统

Publications (1)

Publication Number Publication Date
CN112966438A true CN112966438A (zh) 2021-06-15

Family

ID=76276901

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110248656.5A Pending CN112966438A (zh) 2021-03-05 2021-03-05 机器学习算法选择方法、分布式计算系统

Country Status (1)

Country Link
CN (1) CN112966438A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113392974A (zh) * 2021-07-07 2021-09-14 北京百度网讯科技有限公司 模型训练方法、装置、电子设备以及存储介质
CN113419837A (zh) * 2021-07-09 2021-09-21 支付宝(杭州)信息技术有限公司 调度机器学习任务的方法及装置
CN113626331A (zh) * 2021-08-12 2021-11-09 曙光信息产业(北京)有限公司 通信算法的选择方法、装置、计算机设备及存储介质
CN114610484A (zh) * 2022-03-02 2022-06-10 上海交通大学 一种用于分布式ai集群的网络仿真方法及装置
CN114780231A (zh) * 2022-03-24 2022-07-22 广西产研院人工智能与大数据应用研究所有限公司 基于物联网的目标需求的服务提供方法、系统及介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106250986A (zh) * 2015-06-04 2016-12-21 波音公司 用于机器学习的高级分析基础构架
CN106339351A (zh) * 2016-08-30 2017-01-18 浪潮(北京)电子信息产业有限公司 一种sgd算法优化系统及方法
CN110287031A (zh) * 2019-07-01 2019-09-27 南京大学 一种减少分布式机器学习通信开销的方法
CN110659741A (zh) * 2019-09-03 2020-01-07 浩鲸云计算科技股份有限公司 一种基于分片式自动学习的ai模型训练系统和方法
CN111414961A (zh) * 2020-03-18 2020-07-14 江苏鸿程大数据技术与应用研究院有限公司 一种基于任务并行的细粒度分布式深度森林训练方法
CN111783867A (zh) * 2020-06-28 2020-10-16 京东数字科技控股有限公司 机器学习算法选择方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106250986A (zh) * 2015-06-04 2016-12-21 波音公司 用于机器学习的高级分析基础构架
CN106339351A (zh) * 2016-08-30 2017-01-18 浪潮(北京)电子信息产业有限公司 一种sgd算法优化系统及方法
CN110287031A (zh) * 2019-07-01 2019-09-27 南京大学 一种减少分布式机器学习通信开销的方法
CN110659741A (zh) * 2019-09-03 2020-01-07 浩鲸云计算科技股份有限公司 一种基于分片式自动学习的ai模型训练系统和方法
CN111414961A (zh) * 2020-03-18 2020-07-14 江苏鸿程大数据技术与应用研究院有限公司 一种基于任务并行的细粒度分布式深度森林训练方法
CN111783867A (zh) * 2020-06-28 2020-10-16 京东数字科技控股有限公司 机器学习算法选择方法及装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113392974A (zh) * 2021-07-07 2021-09-14 北京百度网讯科技有限公司 模型训练方法、装置、电子设备以及存储介质
CN113392974B (zh) * 2021-07-07 2024-04-09 北京百度网讯科技有限公司 模型训练方法、装置、电子设备以及存储介质
CN113419837A (zh) * 2021-07-09 2021-09-21 支付宝(杭州)信息技术有限公司 调度机器学习任务的方法及装置
CN113626331A (zh) * 2021-08-12 2021-11-09 曙光信息产业(北京)有限公司 通信算法的选择方法、装置、计算机设备及存储介质
CN114610484A (zh) * 2022-03-02 2022-06-10 上海交通大学 一种用于分布式ai集群的网络仿真方法及装置
CN114610484B (zh) * 2022-03-02 2024-05-31 上海交通大学 一种用于分布式ai集群的网络仿真方法及装置
CN114780231A (zh) * 2022-03-24 2022-07-22 广西产研院人工智能与大数据应用研究所有限公司 基于物联网的目标需求的服务提供方法、系统及介质
CN114780231B (zh) * 2022-03-24 2023-03-14 广西产研院人工智能与大数据应用研究所有限公司 基于物联网的目标需求的服务提供方法、系统及介质

Similar Documents

Publication Publication Date Title
CN112966438A (zh) 机器学习算法选择方法、分布式计算系统
EP3874372B1 (en) Automatically performing and evaluating pilot testing of software
CN109034394B (zh) 一种机器学习模型的更新方法和装置
US9465724B2 (en) Method, program, and system for generating test cases
CN110619210A (zh) 一种模拟器检测方法及系统
CN108492005B (zh) 项目数据处理方法、装置、计算机设备和存储介质
CN110362492B (zh) 人工智能算法测试方法、装置、服务器、终端及存储介质
CN106155806A (zh) 一种多任务调度方法及服务器
US20220284374A1 (en) Skills gap management platform
CN103530107A (zh) 用于确定参数配置是否满足预定标准的系统、方法和产品
US11786823B2 (en) System and method for creating personalized game experiences
JP6123260B2 (ja) 抽出方法、抽出装置および抽出プログラム
CN114862140A (zh) 基于行为分析的潜力评估方法、装置、设备及存储介质
CN108875901B (zh) 神经网络训练方法以及通用物体检测方法、装置和系统
CN114237754A (zh) 一种数据加载方法、装置、电子设备以及存储介质
CN113827977A (zh) 一种基于bp神经网络的游戏流失用户预测方法和系统
US20210182701A1 (en) Virtual data scientist with prescriptive analytics
CN115238837B (zh) 一种数据处理方法、装置、电子设备及存储介质
CN114327779A (zh) 一种应用运行环境搭建方法、装置及存储介质
CN114416462A (zh) 一种机器行为识别方法及装置、电子设备、存储介质
CN114282940A (zh) 用于意图识别的方法及装置、存储介质及电子设备
CN113986488A (zh) 计算任务的调度方法、装置、计算机设备及存储介质
CN110147480A (zh) 一种数据拉取方法、设备及存储介质
US20140068562A1 (en) Application Review
JP7185093B1 (ja) 情報処理装置、情報処理方法及びプログラム

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