用于执行多机器学习任务的分布式系统及其方法技术方案

技术编号:35598997 阅读:19 留言:0更新日期:2022-11-16 15:19
提供了一种用于执行多机器学习任务的分布式系统及其方法。所述分布式系统包括:多个计算装置,被配置为分别获取指定数据集的不同部分数据,并共同执行多个机器学习任务;其中,每个计算装置被配置为:基于自身所获取的部分数据并行地执行所述多个机器学习任务,其中,所述多个机器学习任务为多个模型训练任务或多个模型预测任务。根据所述分布式系统及其方法,能够有效缩短完成多个机器学习任务所需的时间。时间。时间。

【技术实现步骤摘要】
用于执行多机器学习任务的分布式系统及其方法
[0001]本申请是申请日为2019年8月16日、申请号为201910759163.0、题为“用于执行多机器学习任务的分布式系统及其方法”的专利申请的分案申请。


[0002]本专利技术总体说来涉及人工智能领域,更具体地讲,涉及一种用于执行多机器学习任务的分布式系统及其方法。

技术介绍

[0003]一个机器学习训练任务的执行结果通常由大量的(例如,数十项)配置参数(即,超参数)的取值所决定。在自动机器学习等场景中,为了评估不同配置下机器学习训练任务的执行结果,常常需要对配置参数的取值进行不同尝试及不同组合,并对不同配置下的机器学习训练任务进行计算及评估。
[0004]在探索最佳的机器学习模型的过程中,所需执行的机器学习训练任务的数量,关于配置参数的数目及每项配置参数可能的取值数目呈指数增长,例如,对于一个仅有10项配置参数需要配置的机器学习训练任务,若每项配置参数存在3种可能的取值,则这10项配置参数将产生共计59049种可能的组合,将对应于59049个机器学习训练任务。
[0005]现有技术通常分别对不同配置下的机器学习训练任务进行独立执行,但存在显著的任务执行效率问题,这使得自动机器学习任务及其他需要对多个机器学习模型进行训练的任务常常无法在合理的时间内完成。

技术实现思路

[0006]本专利技术的示例性实施例在于提供一种用于执行多机器学习任务的分布式系统及其方法,其能够解决现有技术存在的多机器学习任务无法在合理的时间内完成的问题。
[0007]根据本专利技术的示例性实施例,提供一种用于执行多机器学习任务的分布式系统,包括:多个计算装置,被配置为分别获取指定数据集的不同部分数据,并共同执行多个机器学习任务;其中,每个计算装置被配置为:基于自身所获取的部分数据并行地执行所述多个机器学习任务,其中,所述多个机器学习任务为多个模型训练任务或多个模型预测任务。
[0008]可选地,每个计算装置被配置为:一方面从数据源请求所述指定数据集中的数据,并对请求到的数据进行预处理后保存在本地,另一方面读取本地保存的数据,并基于读取的数据执行所述多个机器学习任务。
[0009]可选地,每个计算装置被配置为:基于读取的每一条数据,并行地执行所述多个机器学习任务中需要使用该条数据的机器学习任务。
[0010]可选地,每个计算装置被配置为:基于读取的每一条数据,使用向量化指令并行地执行所述多个机器学习任务中需要使用该条数据的机器学习任务。
[0011]可选地,所述分布式系统还包括:参数服务器,被配置为维护所述多个机器学习任务所涉及的多个机器学习模型的参数,其中,机器学习模型的参数具有键值对的形式,其
中,参数服务器被配置为:按照单个键对应于多个值的形式对所述多个机器学习模型的参数进行相同键合并后保存,或者,按照单个键对应于多个值的形式对所述多个机器学习模型的参数进行相同键合并,并对合并后的结果按照第一压缩方式进行压缩后保存。
[0012]可选地,当所述多个机器学习任务为所述多个模型训练任务时,每个计算装置被配置为:将被合并了的训练所述多个机器学习模型所得到的结果提供给参数服务器,或者,将被合并且被按照第二压缩方式压缩了的训练所述多个机器学习模型所得到的结果提供给参数服务器,以使参数服务器更新所述多个机器学习模型的参数,其中,所述结果按照单个键对应于多个值的形式被合并。
[0013]可选地,参数服务器被配置为:将被合并了的每个计算装置所需的所述多个机器学习模型的参数提供给每个计算装置,或者,将被合并且被按照第三压缩方式压缩了的每个计算装置所需的所述多个机器学习模型的参数提供给每个计算装置。
[0014]可选地,当所述多个机器学习任务为所述多个模型训练任务时,参数服务器被配置为:在每个计算装置执行所述多个机器学习任务的过程中,对计算装置训练一个机器学习模型时产生的能够用于其他机器学习模型的中间计算结果进行保存,以将所述中间计算结果用于所述其他机器学习模型。
[0015]可选地,所述一个机器学习模型和所述其他机器学习模型所对应的超参数中仅训练轮数不同,其中,所述一个机器学习模型所对应的训练轮数大于所述其他机器学习模型所对应的训练轮数,其中,参数服务器被配置为:将计算装置在训练所述一个机器学习模型的过程中,训练轮数达到所述其他机器学习模型所对应的训练轮数时所得到的所述一个机器学习模型的参数,作为所述其他机器学习模型的参数。
[0016]可选地,每个计算装置被配置为:设置所述多个机器学习任务所使用的网络配置;和/或,参数服务器被配置为:设置针对所述多个机器学习任务的网络配置。
[0017]可选地,每个计算装置被配置为:针对所述多个机器学习任务使用零拷贝技术进行网络传输;和/或,针对所述多个机器学习任务设置网络传输中最大传输单元的大小;和/或,参数服务器被配置为:针对所述多个机器学习任务使用零拷贝技术进行网络传输;和/或,针对所述多个机器学习任务设置网络传输中最大传输单元的大小。
[0018]可选地,每个计算装置被配置为:配置所述多个机器学习任务所使用的内存;和/或,参数服务器被配置为:配置针对所述多个机器学习任务的内存。
[0019]可选地,每个计算装置被配置为:将所述多个机器学习任务与一组中央处理器CPU绑定,以使所述一组CPU使用与其邻近的内存来执行所述多个机器学习任务;和/或,针对所述多个机器学习任务配置内存管理单位,以使计算装置的操作系统和CPU以配置的内存管理单位来对所述多个机器学习任务所使用的内存进行管理;和/或,参数服务器被配置为:针对所述多个机器学习任务配置内存管理单位,以使参数服务器的操作系统和CPU以配置的内存管理单位来对与所述多个机器学习任务相关的任务所使用的内存进行管理;和/或,将与所述多个机器学习任务相关的任务与一组中央处理器CPU绑定,以使所述一组CPU使用与其邻近的内存来执行与所述多个机器学习任务相关的任务。
[0020]根据本专利技术的另一示例性实施例,提供一种利用分布式系统来执行多机器学习任务的方法,其中,所述分布式系统包括多个计算装置,其中,所述方法包括:所述多个计算装置分别获取指定数据集的不同部分数据;所述多个计算装置基于所获取的部分数据,共同
执行多个机器学习任务,其中,每个计算装置基于自身所获取的部分数据并行地执行所述多个机器学习任务,其中,所述多个机器学习任务为多个模型训练任务或多个模型预测任务。
[0021]可选地,所述多个计算装置分别获取指定数据集的不同部分数据的步骤包括:每个计算装置从数据源请求所述指定数据集中的数据;每个计算装置对请求到的数据进行预处理后保存在本地,其中,每个计算装置基于自身所获取的部分数据并行地执行所述多个机器学习任务的步骤包括:每个计算装置读取本地保存的数据,并基于读取的数据执行所述多个机器学习任务。
[0022]可选地,每个计算装置基于读取的数据执行所述多个机器学习任务的步骤包括:每个计算装置基于读取本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于执行多机器学习任务的分布式系统,包括:多个计算装置,被配置为分别获取指定数据集的不同部分数据,并共同执行多个机器学习任务;其中,每个计算装置被配置为:基于自身所获取的部分数据并行地执行所述多个机器学习任务,其中,所述多个机器学习任务为多个模型训练任务或多个模型预测任务。2.如权利要求1所述的分布式系统,其中,每个计算装置被配置为:一方面从数据源请求所述指定数据集中的数据,并对请求到的数据进行预处理后保存在本地,另一方面读取本地保存的数据,并基于读取的数据执行所述多个机器学习任务。3.如权利要求2所述的分布式系统,其中,每个计算装置被配置为:基于读取的每一条数据,并行地执行所述多个机器学习任务中需要使用该条数据的机器学习任务。4.如权利要求3所述的分布式系统,其中,每个计算装置被配置为:基于读取的每一条数据,使用向量化指令并行地执行所述多个机器学习任务中需要使用该条数据的机器学习任务。5.如权利要求1所述的分布式系统,还包括:参数服务器,被配置为维护所述多个机器学习任务所涉及的多个机器学习模型的参数,其中,机器学习模型的参数具有键值对的形式,其中,参数服务器被配置为:按照单个键对应于多个值的形式对所述多个机器学习模型的参数进行相同键合并后保存,或者,按照单个键对应于多个值的形式对所述多个机器学习模型的参数进行相同键合并,并对合并后的结果按照第一压缩方式进行压缩后保存。6.如权利要求5所述的分布式系统,其中,当所述多个机器学习任务为所述多个模型训练任务时,每个计算装置被配置为:将被合并了的训练所述多个机器学习模型所得到的结果提供给参数服务器,或者,将被合并且被按照第二压缩方式压缩了的训练所述多个机器学习模...

【专利技术属性】
技术研发人员:郑淇木焦英翔石光川
申请(专利权)人:第四范式北京技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1