多学习主体并行训练模型的方法、装置和系统的制作方法_5

文档序号:9263535阅读:来源:国知局
仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
【主权项】
1.一种多学习主体并行训练模型的方法,包括以下步骤: 通过单台机器中的多个训练的学习主体各自读取样本; 在同一时刻一个训练的学习主体从训练模型中获取当前的参数值; 根据所述当前的参数值对读取的样本进行训练得到新的参数值; 将所述新的参数值更新到所述训练模型中,所述训练模型中保存一个参数值。2.根据权利要求1所述的方法,其特征在于,无模型服务器的对等网络环境包括网络连接的多台机器,单台机器作为一个训练机器,单台机器内包括多个训练的学习主体、广播模型差的学习主体、收集模型差的学习主体,且单台机器内设有工作副本和基础副本,所述工作副本用于存储更新后的参数值;所述基础副本用于存储更新前的参数值; 所述方法还包括: 通过所述收集模型差的学习主体获取广播的模型差; 将所述工作副本中存储的参数值和基础副本中存储的参数值均加上获取的模型差得到更新后工作副本中存储的参数值和基础副本中存储的参数值; 通过所述训练的学习主体按照更新后工作副本中存储的参数值进行训练,并将更新后工作副本中存储的参数值和基础副本中存储的参数值之差作为自身的模型差,通过所述广播模型差的学习主体将自身的模型差广播出去; 将更新后的基础副本中存储的参数值再更新为更新后工作副本中存储的参数值。3.根据权利要求1所述的方法,其特征在于,存在模型服务器的环境包括与模型服务器网络连接的多台机器,单台机器作为一个训练机器,单台机器内包括多个训练的学习主体、拉取参数的学习主体、发送模型差的学习主体,且单台机器内设有工作副本和基础副本;所述基础副本用于存储更新前的参数值;所述工作副本用于存储更新后的参数值;所述模型服务器用于存储最新的参数值; 所述方法还包括: 通过所述拉取参数的学习主体从模型服务器获取最新的参数值; 将所述工作副本中存储的参数值更新为将工作副本中存储的参数值加上从模型服务器获取的参数值再减去基础副本中存储的参数值所得到的值,以及将基础副本中存储的参数值更新为从模型服务器获取的参数值; 根据更新后所述工作副本中存储的参数值进行训练; 将所述基础副本内存储的参数值更新为更新后工作副本中存储的参数值; 将更新前工作副本中的参数值与更新前基础副本中的参数值之差作为模型差通过发送模型差的学习主体发送给模型服务器,以使所述模型服务器根据所述模型差调整自身所存储的参数值。4.根据权利要求1所述的方法,其特征在于,所述学习主体为线程或进程。5.根据权利要求4所述的方法,其特征在于,所述线程为多核中央处理器上的物理线程,或者为基于英特尔Phi协处理器之上的多线程,或者为虚拟机提供的用户态线程。6.一种多学习主体并行训练模型的装置,其特征在于,包括: 读取模块,用于通过单台机器中的多个训练的学习主体各自读取样本; 获取模块,用于在同一时刻一个训练的学习主体从训练模型的获取当前的参数值; 训练模块,用于根据所述当前的参数值对读取的样本进行训练得到新的参数值; 更新模块,用于将所述新的参数值更新到所述训练模型中,所述训练模型中保存一个参数值。7.根据权利要求6所述的装置,其特征在于,无模型服务器的对等网络环境包括网络连接的多台机器,单台机器作为一个训练机器,单台机器内包括多个训练的学习主体、广播模型差的学习主体、收集模型差的学习主体,且单台机器内设有工作副本和基础副本,所述工作副本用于存储更新后的参数值;所述基础副本用于存储更新前的参数值; 所述装置还包括: 收集模块,用于通过所述收集模型差的学习主体获取广播的模型差; 所述更新模块还用于将所述工作副本中存储的参数值和基础副本中存储的参数值均加上获取的模型差得到更新后工作副本中存储的参数值和基础副本中存储的参数值; 所述训练模块还用于通过所述训练的学习主体按照更新后工作副本中存储的参数值进行训练; 广播模块,用于将更新后工作副本中存储的参数值和基础副本中存储的参数值之差作为自身的模型差,通过所述广播模型差的学习主体将自身的模型差广播出去; 所述更新模块还用于将更新后的基础副本中存储的参数值再更新为更新后工作副本中存储的参数值。8.根据权利要求6所述的装置,其特征在于,存在模型服务器的环境包括与模型服务器网络连接的多台机器,单台机器作为一个训练机器,单台机器内包括多个训练的学习主体、拉取参数的学习主体、发送模型差的学习主体,且单台机器内设有工作副本和基础副本;所述基础副本用于存储更新前的参数值;所述工作副本用于存储更新后的参数值;所述模型服务器用于存储最新的参数值; 所述装置还包括: 拉取模块,用于通过所述拉取参数的学习主体从模型服务器获取最新的参数值; 所述更新模块还用于将所述工作副本中存储的参数值更新为将工作副本中存储的参数值加上从模型服务器获取的参数值再减去基础副本中存储的参数值所得到的值,以及将基础副本中存储的参数值更新为从模型服务器获取的参数值; 所述训练模块还用于根据更新后所述工作副本中存储的参数值进行训练; 所述更新模块还用于将所述基础副本内存储的参数值更新为更新后工作副本中存储的参数值; 发送模块,用于将更新前工作副本中的参数值与更新前基础副本中的参数值之差作为模型差通过发送模型差的学习主体发送给模型服务器,以使所述模型服务器根据所述模型差调整自身所存储的参数值。9.根据权利要求6所述的装置,其特征在于,所述学习主体为线程或进程。10.根据权利要求9所述的装置,其特征在于,所述线程为多核中央处理器上的物理线程,或者为基于英特尔Phi协处理器之上的多线程,或者为虚拟机提供的用户态线程。11.一种多学习主体并行训练模型的系统,其特征在于,所述系统包括单台机器,所述单台机器中的多个训练的学习主体各自读取样本,在同一时刻一个训练的学习主体从训练模型中获取当前的参数值,根据所述当前的参数值对读取的样本进行训练得到新的参数值,将所述新的参数值更新到所述训练模型中,所述训练模型中保存一个参数值。12.根据权利要求11所述的系统,其特征在于,所述系统还包括无模型服务器的对等网络中网络连接的多台机器,单台机器作为一个训练机器,单台机器内包括多个训练的学习主体、广播模型差的学习主体、收集模型差的学习主体,且单台机器内设有工作副本和基础副本,所述工作副本用于存储更新后的参数值;所述基础副本用于存储更新前的参数值; 单台机器内的收集模型差的学习主体获取广播的模型差,以及将所述工作副本中存储的参数值和基础副本中存储的参数值均加上获取的模型差得到更新后工作副本中存储的参数值和基础副本中存储的参数值;所述训练的学习主体按照更新后工作副本中存储的参数值进行训练,并将更新后工作副本中存储的参数值和基础副本中存储的参数值之差作为自身的模型差,通过所述广播模型差的学习主体将自身的模型差广播出去;将更新后的基础副本中存储的参数值再更新为更新后工作副本中存储的参数值。13.根据权利要求11所述的系统,其特征在于,所述系统还包括模型服务器和与所述模型服务器网络连接的多台机器,单台机器作为一个训练机器,单台机器内包括多个训练的学习主体、拉取参数的学习主体、发送模型差的学习主体,且单台机器内设有工作副本和基础副本;所述基础副本用于存储更新前的参数值;所述工作副本用于存储更新后的参数值;所述模型服务器用于存储最新的参数值; 所述单台机器中的拉取参数的学习主体从所述模型服务器获取最新的参数值,将所述工作副本中存储的参数值更新为将工作副本中存储的参数值加上从模型服务器获取的参数值再减去基础副本中存储的参数值所得到的值,以及将基础副本中存储的参数值更新为从模型服务器获取的参数值; 所述多个训练的学习主体根据更新后所述工作副本中存储的参数值进行训练,将所述基础副本内存储的参数值更新为更新后工作副本中存储的参数值; 所述发送模型差的学习主体将更新前工作副本中的参数值与更新前基础副本中的参数值之差作为模型差发送给所述模型服务器; 所述模型服务器还用于根据所述模型差调整自身所存储的参数值。14.根据权利要求11所述的系统,其特征在于,所述学习主体为线程或进程。
【专利摘要】本发明涉及一种多学习主体并行训练模型的方法、装置和系统。所述方法包括以下步骤:通过单台机器中的多个训练的学习主体各自读取样本;在同一时刻一个训练的学习主体从训练模型中获取当前的参数值;根据所述当前的参数值对读取的样本进行训练得到新的参数值;将所述新的参数值更新到所述训练模型中,所述训练模型中保存一个参数值。上述多学习主体并行训练模型的方法、装置和系统,因模型只保存一个参数值,它的最新状态所有学习主体都能访问,任何学习主体更新了模型的状态,随后读取模型状态的学习主体都能看到最新的更新,大大减少了由于模型不共享,不同学习主体看到的模型状态有差异带来的影响,训练过程中,模型可以收敛很快。
【IPC分类】H04L29/08, G06F9/50, G06N5/02, G06F9/455
【公开号】CN104980518
【申请号】CN201510367503
【发明人】郭志懋, 金涬, 李毅, 邹永强, 薛伟, 肖磊
【申请人】深圳市腾讯计算机系统有限公司
【公开日】2015年10月14日
【申请日】2015年6月26日
当前第5页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1