基于机器学习的任务处理方法、装置和终端设备制造方法及图纸

技术编号:19638407 阅读:28 留言:0更新日期:2018-12-01 18:42
本发明专利技术提出一种基于机器学习的任务处理方法、装置和终端设备,其中,方法包括:根据机器学习模型的任务处理请求的类型,将任务处理请求加入对应的任务处理队列中;其中,任务处理队列包括合并请求队列和有序请求队列;合并请求队列包括参数更新请求,有序请求队列包括参数获取请求;在满足合并条件的情况下,将合并请求队列中的各参数更新请求合并,并根据合并后的参数更新请求更新机器学习模型的模型参数;根据有序请求队列中参数获取请求排列的先后顺序,依次获取机器学习模型的模型参数,并返回给相应的客户端。采用本发明专利技术,能分类处理机器学习的任务处理请求,避免不同类型请求之间的相互依赖,提高机器学习过程的任务处理效率。

【技术实现步骤摘要】
基于机器学习的任务处理方法、装置和终端设备
本专利技术涉及计算机
,尤其涉及一种基于机器学习的任务处理方法、装置和终端设备。
技术介绍
机器学习(MachineLearning,ML)主要是通过学习训练数据中的特征,以调整其自身的模型结构或模型参数的过程。其中,机器学习在训练的过程中会对模型中大量的参数进行训练更新。训练数据可以包括文本格式的数据。这些文本中的一行是一条训练样本,训练样本的总条目数(也就是行数)会达到万亿级别的数量级,样本中的特征也会达到千亿级别的数量级。随着特征的数量的上升,机器学习的训练过程的速度也会随之变得缓慢。如图1所示,传统的机器学习的训练任务为多机处理,基本角色分为两种,包括客户端和服务端。其中,客户端用于训练数据,主要根据单条训练样本或者一小批训练样本对梯度值(delta)进行计算,梯度值的格式是一个kv对数据(参数关键字key及其赋值value的组合)。服务端会不断接受客户端(worker)发送的梯度值的kv对数据,接受客户端的获取参数请求。服务端会根据客户端提供的梯度值对模型参数的赋值进行更新,根据客户端要求获取的模型参数提取相应的参数值返回给客户端。机器学习模型的模型参数在服务端中是由多台机器共同存储。服务端在收到参数更新请求之后,根据收到的参数更新请求的请求顺序依次更新服务端的多台机器。对于任一个请求,更新完服务端中的所有机器的梯度值之后,再发送回包给客户端。在这种传统的处理架构下,服务端由于计算能力有限,在接收到的任务处理请求过多的情况下,服务器中的任务容易堆积或拥堵,处理效率低下。
技术实现思路
本专利技术实施例提供一种基于机器学习的任务处理方法、装置、存储介质和终端设备,以解决或缓解现有技术中的以上一个或多个技术问题。第一方面,本专利技术实施例提供了一种基于机器学习的任务处理方法,包括:根据机器学习模型的任务处理请求的类型,将所述任务处理请求加入对应的任务处理队列中;其中,所述任务处理队列包括合并请求队列和有序请求队列;如果所述任务处理请求的类型为参数更新请求,则加入所述合并请求队列,如果所述任务处理请求的类型为参数获取请求,则加入所述有序请求队列;在满足合并条件的情况下,将所述合并请求队列中的各参数更新请求合并,并根据合并后的参数更新请求更新所述机器学习模型的模型参数;根据所述有序请求队列中参数获取请求排列的先后顺序,依次获取所述机器学习模型的模型参数,并返回给相应的客户端。结合第一方面,在第一方面的第一种实施方式中,所述根据机器学习模型的任务处理请求的类型,将所述任务处理请求加入对应的任务处理队列中,包括:判断所述任务处理请求的类型;如果所述任务处理请求的类型为参数获取请求,则将所述参数获取请求按照请求时间的先后顺序依次排列在有序请求队列中;如果所述任务处理请求的类型为参数更新请求,则根据所述参数更新请求中请求更新的模型参数所属范围,将所述参数更新请求加入到与所述模型参数所属范围相符的合并请求队列中。结合第一方面,在第一方面的第二种实施方式中,所述在满足合并条件的情况下,将所述合并请求队列中的各参数更新请求合并,包括以下任意一种方式:判断所述合并请求队列包含的参数更新请求的数量是否达到数量阈值,当所述合并请求队列包含的参数更新请求的数量达到所述数量阈值时,将所述合并请求队列中的各参数更新请求合并;判断所述合并请求队列距离上一次执行合并请求的操作的时长是否达到时长阈值,当所述合并请求队列距离上一次执行合并请求的操作的时长达到所述时长阈值时,将所述合并请求队列中的各参数更新请求合并;判断所述合并请求队列包含的参数更新请求的数量是否达到数量阈值,以及,判断所述合并请求队列距离上一次执行合并请求的操作的时长是否达到时长阈值,当所述合并请求队列包含的参数更新请求的数量达到所述数量阈值时,且当所述合并请求队列距离上一次执行合并请求的操作的时长达到所述时长阈值时,将所述合并请求队列中的各参数更新请求合并。结合第一方面及其任一种实施方式,在第一方面的第三种实施方式中,所述将所述合并请求队列中的各参数更新请求合并,包括:对所述合并请求队列中的各参数更新请求包括模型参数的赋值分别进行赋值合并,获得各模型参数的唯一赋值,以组成参数更新组,并将所述参数更新组加入合并后的参数更新请求中。结合第一方面的第三种实施方式,在第一方面的第四种实施方式中,所述根据合并后的参数更新请求更新所述机器学习模型的模型参数,包括:根据合并后的参数更新请求的生成时间或当前时间,计算所述合并后的参数更新请求的哈希值;根据所述合并后的参数更新请求的哈希值,确定所述机器学习模型的更新参数的初始位置;根据所述合并后的参数更新请求,从所述更新参数的初始位置开始,逐个地更新所述参数更新组的各参数对应的参数位置的模型参数的赋值。结合第一方面及其任一种实施方式,在第一方面的第五种实施方式中,所述参数获取请求包括多个请求获取的模型参数,根据所述有序请求队列中参数获取请求排列的先后顺序,依次获取所述机器学习模型的模型参数,包括:对于所述有序请求队列中的每个参数获取请求,根据当前时间计算所述参数获取请求的哈希值;根据所述参数获取请求的哈希值,确定所述机器学习模型的获取参数的初始位置;根据所述参数获取请求,从所述获取参数的初始位置开始,逐个地从所述请求获取的模型参数对应的参数位置获取模型参数的赋值。结合第一方面及其任一种实施方式,在第一方面的第七种实施方式中,所述任务处理方法还包括:判断所述参数位置的写参数位置与读参数位置是否满足同步条件;所述写参数位置包括用于更新参数的位置,所述读参数位置包括用于获取参数的位置;当所述写参数位置与所述读参数位置满足所述同步条件时,将所述写参数位置中的模型参数同步到所述读参数位置。结合第一方面及其任一种实施方式,在第一方面的第八种实施方式中,在根据合并后的参数更新请求更新所述机器学习模型的模型参数之后,所述方法包括:向所述合并请求队列中的各参数更新请求对应的客户端发送回包信息;所述回包信息用于向接收到所述回包信息的客户端提示已完成参数更新。第二方面,本专利技术实施例提供一种基于机器学习的任务处理装置,包括:任务分类模块,用于根据机器学习模型的任务处理请求的类型,将所述任务处理请求加入对应的任务处理队列中;其中,所述任务处理队列包括合并请求队列和有序请求队列;如果所述任务处理请求的类型为参数更新请求,则加入所述合并请求队列,如果所述任务处理请求的类型为参数获取请求,则加入所述有序请求队列;合并更新模块,用于在满足合并条件的情况下,将所述合并请求队列中的各参数更新请求合并,并根据合并后的参数更新请求更新所述机器学习模型的模型参数;以及参数获取模块,用于根据所述有序请求队列中参数获取请求排列的先后顺序,依次获取所述机器学习模型的模型参数,并返回给相应的客户端。所述装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。在一个可能的设计中,基于机器学习的任务处理结构中包括处理器和存储器,所述存储器用于基于机器学习的任务处理装置执行上述第一方面中基于机器学习的任务处理程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述基于机器学习的任务本文档来自技高网...

【技术保护点】
1.一种基于机器学习的任务处理方法,其特征在于,包括:根据机器学习模型的任务处理请求的类型,将所述任务处理请求加入对应的任务处理队列中;其中,所述任务处理队列包括合并请求队列和有序请求队列;如果所述任务处理请求的类型为参数更新请求,则加入所述合并请求队列,如果所述任务处理请求的类型为参数获取请求,则加入所述有序请求队列;在满足合并条件的情况下,将所述合并请求队列中的各参数更新请求合并,并根据合并后的参数更新请求更新所述机器学习模型的模型参数;根据所述有序请求队列中参数获取请求排列的先后顺序,依次获取所述机器学习模型的模型参数,并返回给相应的客户端。

【技术特征摘要】
1.一种基于机器学习的任务处理方法,其特征在于,包括:根据机器学习模型的任务处理请求的类型,将所述任务处理请求加入对应的任务处理队列中;其中,所述任务处理队列包括合并请求队列和有序请求队列;如果所述任务处理请求的类型为参数更新请求,则加入所述合并请求队列,如果所述任务处理请求的类型为参数获取请求,则加入所述有序请求队列;在满足合并条件的情况下,将所述合并请求队列中的各参数更新请求合并,并根据合并后的参数更新请求更新所述机器学习模型的模型参数;根据所述有序请求队列中参数获取请求排列的先后顺序,依次获取所述机器学习模型的模型参数,并返回给相应的客户端。2.如权利要求1所述的基于机器学习的任务处理方法,其特征在于,所述根据机器学习模型的任务处理请求的类型,将所述任务处理请求加入对应的任务处理队列中,包括:判断所述任务处理请求的类型;如果所述任务处理请求的类型为参数获取请求,则将所述参数获取请求按照请求时间的先后顺序依次排列在有序请求队列中;如果所述任务处理请求的类型为参数更新请求,则根据所述参数更新请求中请求更新的模型参数所属范围,将所述参数更新请求加入到与所述模型参数所属范围相符的合并请求队列中。3.如权利要求1所述的基于机器学习的任务处理方法,其特征在于,所述在满足合并条件的情况下,将所述合并请求队列中的各参数更新请求合并,包括以下任意一种方式:判断所述合并请求队列包含的参数更新请求的数量是否达到数量阈值,当所述合并请求队列包含的参数更新请求的数量达到所述数量阈值时,将所述合并请求队列中的各参数更新请求合并;判断所述合并请求队列距离上一次执行合并请求的操作的时长是否达到时长阈值,当所述合并请求队列距离上一次执行合并请求的操作的时长达到所述时长阈值时,将所述合并请求队列中的各参数更新请求合并;判断所述合并请求队列包含的参数更新请求的数量是否达到数量阈值,以及,判断所述合并请求队列距离上一次执行合并请求的操作的时长是否达到时长阈值,当所述合并请求队列包含的参数更新请求的数量达到所述数量阈值时,且当所述合并请求队列距离上一次执行合并请求的操作的时长达到所述时长阈值时,将所述合并请求队列中的各参数更新请求合并。4.如权利要求1至3任一项所述的基于机器学习的任务处理方法,其特征在于,所述将所述合并请求队列中的各参数更新请求合并,包括:对所述合并请求队列中的各参数更新请求包括模型参数的赋值分别进行赋值合并,获得各模型参数的唯一赋值,以组成参数更新组,并将所述参数更新组加入合并后的参数更新请求中。5.如权利要求4所述的基于机器学习的任务处理方法,其特征在于,所述根据合并后的参数更新请求更新所述机器学习模型的模型参数,包括:根据合并后的参数更新请求的生成时间或当前时间,计算所述合并后的...

【专利技术属性】
技术研发人员:秦铎浩
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京,11

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

1