CN106815644A - 机器学习方法和从节点 - Google Patents

机器学习方法和从节点 Download PDF

Info

Publication number
CN106815644A
CN106815644A CN201710061671.2A CN201710061671A CN106815644A CN 106815644 A CN106815644 A CN 106815644A CN 201710061671 A CN201710061671 A CN 201710061671A CN 106815644 A CN106815644 A CN 106815644A
Authority
CN
China
Prior art keywords
node
model parameter
parameter
value
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.)
Granted
Application number
CN201710061671.2A
Other languages
English (en)
Other versions
CN106815644B (zh
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.)
Beihang University
Original Assignee
Beihang University
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 Beihang University filed Critical Beihang University
Priority to CN201710061671.2A priority Critical patent/CN106815644B/zh
Publication of CN106815644A publication Critical patent/CN106815644A/zh
Application granted granted Critical
Publication of CN106815644B publication Critical patent/CN106815644B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供一种机器学习方法和从节点。本发明提供的机器学习方法,应用于机器学习系统,所述机器学习系统包括分布式共享内存的参数服务器、主节点和多个从节点;所述参数服务器用于存储全局模型参数和全局训练数据;所述主节点用于根据全局数据处理任务,确定每个从节点的数据处理任务,所述方法包括:从节点从所述参数服务器中获取所述从节点的数据处理任务对应的第一训练数据块,并按照所述从节点的数据处理任务对所述第一训练数据块进行处理,得到第一处理数据块。本发明提供的机器学习方法和从节点,无需借助外部其他设备,就可以对训练数据进行全局数据处理。

Description

机器学习方法和从节点
技术领域
本发明涉及机器学习技术,尤其涉及一种机器学习方法和从节点。
背景技术
机器学习方法是计算机利用已有的训练数据,经过训练得出某种模型,并利用此模型预测未来的一种方法。目前,机器学习方法已被广泛地应用于各个方面,例如,应用于互联网行业。
现有的机器学习系统,包括:多个计算节点和一个参数服务器,该参数服务器包括多个子服务器,其中,每个计算节点主要负责执行具体的训练任务;每个子服务器存储全局参数的一部分,所有的子服务器共同维护全局参数。现有技术的机器学习系统,训练数据存储在各个计算节点上,每个计算节点利用存储在其上的训练数据、全局参数以及相应的训练任务进行模型训练。
现有的机器学习方法,训练数据分布的存储在各个计算节点上,每个计算节点仅对存储在该计算节点上的训练数据进行数据处理,进而根据处理后的数据进行模型训练,一旦机器学习方法需要对存储在各个计算节点上的所有训练数据进行全局数据处理时,需要借助额外的数据处理设备对所有的训练数据进行数据处理,这样,不能充分利用计算节点的计算资源。
发明内容
本发明提供一种机器学习方法和从节点,无需借助外部其他设备,就可以利用从节点对训练数据进行全局数据处理,可充分利用从节点的计算资源。
本发明第一方面提供一种机器学习方法,应用于机器学习系统,所述机器学习系统包括分布式共享内存的参数服务器、主节点和多个从节点;所述参数服务器用于存储全局模型参数和全局训练数据;所述主节点用于根据全局数据处理任务,确定每个从节点的数据处理任务,所述方法包括:
从节点从所述参数服务器中获取所述从节点的数据处理任务对应的第一训练数据块,并按照所述从节点的数据处理任务对所述第一训练数据块进行处理,得到第一处理数据块;
所述从节点获取当前训练任务对应的模型参数;
所述从节点根据所述第一处理数据块、所述模型参数和所述当前训练任务训练模型。
进一步地,所述从节点获取当前训练任务对应的模型参数,具体包括:
所述从节点判断本地缓存中是否存在所述当前训练任务对应的模型参数;其中,所述模型参数携带的迭代伦次值为所述从节点从所述参数服务器获取到所述模型参数时所述机器学习系统的迭代伦次值;所述机器学习系统的迭代伦次值为同一时刻下所有从节点的迭代轮次值的最小值;所述从节点的迭代轮次值为同一时刻下所述从节点上所有的训练任务的迭代轮次值的最小值;
若存在所述当前训练任务对应的模型参数,则所述从节点判断所述当前训练任务的迭代轮次值与所述模型参数携带的迭代轮次值的差值是否小于或者等于预设阈值;
若所述当前训练任务的迭代轮次值与所述模型参数携带的迭代轮次值的差值小于或者等于所述预设阈值,则所述从节点从所述本地缓存中获取所述当前训练任务对应的模型参数;
若所述当前训练任务的迭代轮次值与所述模型参数携带的迭代轮次值的差值大于所述预设阈值,则所述从节点从所述参数服务器中获取所述当前训练任务对应的新的模型参数,所述新的模型参数的标识信息与所述模型参数的标识信息相同。
进一步地,所述从节点从所述参数服务器中获取新的模型参数,具体包括:
所述从节点根据所述新的模型参数的标识信息、不同的模型参数的标识信息和不同的子服务器的对应关系,确定存储所述新的模型参数的第一子服务器;
所述从节点向所述第一子服务器发送参数获取请求,所述参数获取请求用于指示所述第一子服务器根据所述新的模型参数的标识信息获取所述新的模型参数;其中,所述新的模型参数携带的迭代伦次值与所述当前训练任务的迭代轮次值的差值的绝对值小于或者等于所述预设阈值;
所述从节点接收所述第一子服务器发送的所述新的模型参数。
进一步地,所述从节点接收所述第一子服务器发送的所述新的模型参数之后,所述方法还包括:
所述从节点将所述本地缓存中存储的所述模型参数更新为所述新的模型参数。
进一步地,所述新的模型参数中还携带所述第一子服务器中存储的所述从节点的第一版本号,所述从节点将本地缓存中存储的所述模型参数更新为所述新的模型参数之后,所述方法还包括:
所述从节点判断所述本地缓存中是否存储有所述新的模型参数的增量信息;
若是,则所述从节点判断所述增量信息携带的所述从节点的第二版本号是否大于所述第一版本号;
若所述从节点判断所述第二版本号大于所述第一版本号,则所述从节点根据所述增量信息更新所述新的模型参数,得到第一模型参数。
进一步地,所述方法还包括:
在所述从节点根据所述第一模型参数执行当前训练任务的过程中,将所得到的第二模型参数的更新值存储至所述本地缓存中,并将所述第二模型参数的增量信息以及所述从节点的当前版本号存储到所述本地缓存中;
所述从节点将所述第二模型参数的增量信息上报给所述参数服务器;
所述从节点更新所述从节点的版本号。
进一步地,所述从节点获取当前训练任务对应的模型参数之前,所述方法还包括:
所述从节点将所述第一处理数据块上报给所述参数服务器。
进一步地,所述从节点从所述参数服务器中获取所述从节点的数据处理任务对应的第一训练数据块,具体包括:
所述从节点根据所述第一训练数据块的标识信息、不同的训练数据块的标识信息与不同的子服务器的对应关系,确定存储所述第一训练数据块的第二子服务器;
所述从节点向所述第二子服务器发送数据获取请求,所述数据获取请求携带所述第一训练数据块的标识信息;
所述从节点接收所述第二子服务器发送的所述第一训练数据块。
本发明第二方面提供一种从节点,应用于机器学习系统,所述机器学习系统包括分布式共享内存的参数服务器、主节点和多个所述从节点;所述参数服务器用于存储全局模型参数和全局训练数据;所述主节点用于根据全局数据处理任务,确定每个从节点的数据处理任务,所述从节点包括:获取模块和处理模块,其中,
所述获取模块,用于从所述参数服务器中获取所述从节点的数据处理任务对应的第一训练数据块;
所述处理模块,用于按照所述从节点的数据处理任务对所述第一训练数据块进行处理,得到第一处理数据块;
所述获取模块,还用于获取当前训练任务对应的模型参数;
所述处理模块,还用于根据所述第一处理数据块、所述模型参数和所述当前训练任务训练模型。
进一步地,所述获取模块,具体用于判断本地缓存中是否存在所述当前训练任务对应的模型参数;并在判断所述本地缓存中存在所述当前训练任务对应的模型参数时,判断所述当前训练任务的迭代轮次值与所述模型参数携带的迭代轮次值的差值是否小于或者等于预设阈值;并在判断当前训练任务的迭代轮次值与所述模型参数携带的迭代轮次值的差值小于或者等于所述预设阈值,从所述本地缓存中获取所述当前训练任务对应的模型参数;以及在判断当前训练任务的迭代轮次值与所述模型参数携带的迭代轮次值的差值大于所述预设阈值,从所述参数服务器中获取所述当前训练任务对应的新的模型参数;其中,所述模型参数携带的迭代伦次值为所述从节点从所述参数服务器获取到所述模型参数时机器学习系统的迭代伦次值;所述机器学习系统的迭代伦次值为同一时刻下所有从节点的迭代轮次值的最小值;所述从节点的迭代轮次值为同一时刻下所述从节点上所有的训练任务的迭代轮次值的最小值;所述新的模型参数的标识信息与所述模型参数的标识信息相同。
进一步地,所述获取模块,还具体用于根据所述新的模型参数的标识信息、不同的模型参数的标识信息和不同的子服务器的对应关系,确定存储所述新的模型参数的第一子服务器;向所述第一子服务器发送参数获取请求;接收所述第一子服务器发送的所述新的模型参数;其中,所述参数获取请求用于指示所述第一子服务器根据所述新的模型参数的标识信息获取所述新的模型参数;所述新的模型参数携带的迭代伦次值与所述当前训练任务的迭代轮次值的差值的绝对值小于或者等于所述预设阈值。
进一步地,所述处理模块,还具体用于在所述获取模块接收到第一子服务器发送的所述新的模型参数之后,将所述本地缓存中存储的所述模型参数更新为所述新的模型参数。
进一步地,所述新的模型参数中还携带所述第一子服务器中存储的所述从节点的第一版本号,所述处理模块,还具体用于在将所述本地缓存中存储的所述模型参数更新为所述新的模型参数之后,判断所述本地缓存中是否存储有所述新的模型参数的增量信息;并在判断所述本地缓存中存储有所述新的模型参数的增量信息时,判断所述增量信息携带的所述从节点的第二版本号是否大于所述第一版本号;以及在判断所述第二版本号大于所述第一版本号,根据所述增量信息更新所述新的模型参数,得到第一模型参数。
进一步地,所述处理模块,还具体用于在所述处理模块根据所述第一模型参数执行当前训练任务的过程中,将所得到的第二模型参数的更新值存储至到所述本地缓存中,并将所述第二模型参数的增量信息以及所述从节点的当前版本号存储到所述本地缓存中;
所述获取模块,还具体用于将所述第二模型参数的增量信息上报给所述参数服务器;
所述处理模块,还具体用于更新所述从节点的版本号。
进一步地,所述获取模块,还具体用于在获取当前训练任务对应的模型参数之前,将所述第一处理数据块上报给所述参数服务器。
进一步地,所述获取模块,还具体用于根据所述第一训练数据块的标识信息、不同的训练数据块的标识信息与不同的子服务器的对应关系,确定存储所述第一训练数据块的第二子服务器;向所述第二子服务器发送数据获取请求;接收所述第二子服务器发送的所述第一训练数据块;其中,所述数据获取请求携带所述第一训练数据块的标识信息。
本实施例提供的机器学习方法和从节点,由于参数服务器中存储有全局训练数据,这样,从节点根据其对应的数据处理任务,可以从参数服务器中获取需要的训练数据块,因此,不需要借助外部的设备,从节点通过从参数服务器中获取所述从节点的数据处理任务对应的第一训练数据块,并按照所述从节点的数据处理任务对所述第一训练数据块进行处理,所有从节点协同合作,便可以利用参数服务器中存储的全局训练数据对全局训练数据进行全局处理,这样,可充分利用从节点的计算资源。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的机器学习系统的结构示意图;
图2为本发明实施例一提供的机器学习方法的流程图
图3为本发明实施例二提供的机器学习方法的流程图
图4为本发明实施例三提供的机器学习方法的流程图
图5为本发明实施例四提供的机器学习方法的流程图
图6为本发明实施例五提供的机器学习方法的流程图;
图7为本发明实施例六提供的从节点的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供一种机器学习方法和从节点,无需借助外部其他设备,就可以利用从节点对训练数据进行全局数据处理,可充分利用从节点的计算资源。
本发明提供的机器学习方法和从节点,可应用于机器学习系统,该机器学习系统包括分布式共享内存的参数服务器、主节点和多个从节点;其中,参数服务器用于存储全局模型参数和全局训练数据;主节点用于根据全局数据处理任务,确定每个从节点的数据处理任务。
下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
在介绍本发明提供的机器学习方法和从节点之前,先介绍一下本发明提供的机器学习系统。具体地,图1为本发明提供的机器学习系统的结构示意图,请参照图1,本发明实施例提供的机器学习系统,包括:分布式共享内存的参数服务器、主节点和多个从节点;其中,所述参数服务器用于存储全局模型参数和全局训练数据;所述主节点用于根据全局数据处理任务,确定每个从节点的数据处理任务。
需要说明的是,参数服务器包括多个子服务器,全局模型参数和全局训练数据分布的存储在各个子服务器中。下面举例说明机器学习系统的具体组成。例如,在一种可能的实现方式中,机器学习系统包括2个从节点:从节点1和从节点2;参数服务器包括3个子服务器:子服务器1、子服务器2、子服务器3;全局模型参数包括5个模型参数:模型参数a、模型参数b、模型参数c、模型参数d、模型参数e,其中,a、b、c、d、e为模型参数的标识信息;全局训练数据包括5个训练数据块:训练数据块1、训练数据块2、训练数据3、训练数据块4、训练数据块5,其中,1、2、3、4、5为训练数据块的标识信息。更具体地,全局模型参数和全局训练数据分布的存储在各个子服务器中,例如,模型参数a、模型参数b和训练数据块1、训练数据块2存储在子服务器1中;模型参数c和训练数据块3存储在子服务器2中;模型参数d、模型参数e和训练数据4、训练数据5存储在子服务器3中。
此外,主节点主要用于根据全局数据处理任务,确定每个从节点的数据处理任务,并将每个从节点的数据处理任务下发给对应的从节点。例如,全局数据处理任务包括两个子任务:子任务1和子任务2,主节点确定从节点1的数据处理任务为子任务1、从节点2的数据处理任务为子任务2,这样,以使从节点1和从节点2协同配合,实现全局训练数据的全局处理。
需要说明的是,在本发明一种可能的实现方式中,主节点还用于根据全局训练任务,确定每个从节点的训练任务。
再介绍了本发明提供的机器学习系统之后,下面详细介绍本发明提供的机器学习方法和从节点。
图2为本发明实施例一提供的机器学习方法的流程图。本发明实施例的执行主体为从节点,该从节点可以是单独的机器学习装置,还可以是集成了机器学习装置的其他设备,例如,可以是集成了机器学习装置的计算机。如图1所示,本实施例提供的机器学习方法,可以包括:
S101、从节点从参数服务器中获取所述从节点的数据处理任务对应的第一训练数据块,并按照所述从节点的数据处理任务对所述第一训练数据块进行处理,得到第一处理数据块。
需要说明的是,本实施例的执行主体为从节点,该从节点为上述机器学习系统的多个从节点中的其中一个。结合上面的例子,本发明中,以执行主体为从节点1为例进行详细介绍。
具体地,在本步骤中,从节点1根据主节点下发给其的数据处理任务(为方便介绍,将从节点1的数据处理任务称为第一数据处理任务),从参数服务器中获取上述第一数据处理任务对应的第一训练数据块。例如,结合上面的例子,此时,从节点1的数据处理任务为子任务1,且子任务1对应的第一训练数据块为训练数据块5,因此,本步骤中,从节点1需要从参数服务器中获取训练数据块5。
可选地,在本发明一种可能的实现方式中,从节点从所述参数服务器中获取所述从节点的数据处理任务对应的第一训练数据块的具体过程,可以包括如下步骤:
(1)所述从节点根据所述第一训练数据块的标识信息、不同的训练数据块的标识信息与不同的子服务器的对应关系,确定存储所述第一训练数据块的第二子服务器。
结合上面的例子,从节点1需要获取的第一训练数据块为训练数据块5,此时,从节点1首先根据该第一训练数据块的标识信息(5)、不同的训练数据块的标识信息与不同的子服务器的对应关系(结合上面的例子可知,训练数据块5与子服务器3对应),确定存储第一训练数据块的第二子服务器为子服务器3。
(2)从节点向所述第二子服务器发送数据获取请求,所述数据获取请求携带所述第一训练数据块的标识信息。
当经过步骤(1)确定了存储训练数据块5的第二子服务器为子服务器3时,此时,从节点1向子服务器3发送数据获取请求。这样,当子服务器3接收到上述数据获取请求时,便将训练数据块5发送给从节点1。
(3)从节点接收所述第二子服务器发送的所述第一训练数据块。
这样,经过上面3个步骤,从节点1便从参数服务器上获取到该从节点1的数据处理任务对应的第一训练数据块。进一步地,当从节点1获取到第一训练数据块后,就按照从节点1的数据处理任务对上述第一训练数据进行处理,得到第一处理数据块。
S102、所述从节点获取当前训练任务对应的模型参数。
例如,当前训练任务对应的模型参数为模型参数a,此时,从节点1就去获取模型参数a。在具体的实现方式中,从节点1可以从参数服务器中获取模型参数a。本实施例中,不对模型参数的具体获取方法进行限定。
S103、所述从节点根据所述第一处理数据块、所述模型参数和所述当前训练任务训练模型。
具体地,从节点根据所述第一处理数据块、所述模型参数和所述当前训练任务训练模型的具体过程及具体原理可以参见现有技术中的描述,此处不再赘述。
本实施例提供的机器学习方法,由于参数服务器中存储有全局训练数据,这样,从节点根据其对应的数据处理任务,可以从参数服务器中获取需要的训练数据块,因此,不需要借助外部的设备,从节点通过从参数服务器中获取所述从节点的数据处理任务对应的第一训练数据块,并按照所述从节点的数据处理任务对所述第一训练数据块进行处理,所有从节点协同合作,便可以利用参数服务器中存储的全局训练数据对全局训练数据进行全局处理,这样,可充分利用从节点的计算资源。
进一步地,在本发明一种可能的实现方式中,所述从节点获取当前训练任务对应的模型参数之前,所述方法还包括:
所述从节点将所述第一处理数据块上报给所述参数服务器。
具体地,例如,当从节点1对训练数据块5进行处理后,得到训练数据块5对应的第一处理数据块后,就将该第一处理数据块上报给参数服务器。具体地,从节点1可以将该第一处理数据块上报给子服务器3(结合上面的介绍可知,子服务器3为存储训练数据块5的子服务器)。这样,从节点1将第一处理数据块上报给参数服务器后,参数服务器上便存储有第一训练数据块经过第一数据处理任务处理后得到的第一处理数据块,这样,其他从节点便可以利用参数服务器上存储的第一处理数据块,可避免其他从节点对第一训练数据块进行相同处理的过程,可提高数据处理的效率。
本实施例提供的机器学习方法,从节点在获取当前训练任务对应的模型参数之前,将第一处理数据块上报给参数服务器,这样,参数服务器中便存储有第一训练数据块对应的第一处理数据块,其他从节点便可以从参数服务器中获取到上述第一处理数据块。这样,可避免其他从节点对第一训练数据块进行相同处理的过程,可提高数据处理的效率。
图3为本发明实施例二提供的机器学习方法的流程图。本实施例涉及的是获取当前训练任务对应的模型参数的具体过程。请参照图3,在上述实施例的基础上,本实施例提供的机器学习方法,步骤S102具体包括:
S201、所述从节点判断本地缓存中是否存在所述当前训练任务对应的模型参数;其中,所述模型参数携带的迭代伦次值为所述从节点从所述参数服务器获取到所述模型参数时机器学习系统的迭代伦次值;所述机器学习系统的迭代伦次值为同一时刻下所有从节点的迭代轮次值的最小值;所述从节点的迭代轮次值为同一时刻下所述从节点上所有的训练任务的迭代轮次值的最小值。
具体地,例如,从节点1需要获取当前任务对应的模型参数为模型参数c,此时,从节点1首先判断本地缓存中是否存在模型参数c。
需要说明的是,本实施例提供的机器学习方法,当从节点从参数服务器上获取到模型参数后,将就模型参数存储在本地缓存中。进一步地,从节点从参数服务器中获取到的模型参数携带有迭代轮次值,其中,模型参数携带的迭代伦次值为从节点从参数服务器获取到所述模型参数时机器学习系统的迭代伦次值。例如,从节点1上存储有模型参数a,且模型参数a携带的迭代轮次值为1,此时,模型参数a携带的迭代轮次值1表示:从节点1从参数服务器获取到模型参数a时,机器学习系统的迭代轮次值为1。再例如,从节点1上存储有模型参数b,且该模型参数携带的迭代轮次值为2,此时,模型参数b携带的迭代轮值2表示:从节点1从参数服务器获取到模型参数b时,机器学习系统的迭代轮次值为2。
需要说明的是,机器学习系统的迭代伦次值为同一时刻下所有从节点的迭代轮次值的最小值。结合上面的例子,例如,在T1时刻,从节点1的迭代轮次值为2,从节点2的迭代轮次信息为3,则T1时刻,机器学习系统的迭代轮次值为2。在例如,在T2时刻,从节点1的迭代轮次值为3,从节点2的迭代轮次信息为4,则T2时刻,机器学习系统的迭代轮次值为3。进一步地,从节点的迭代轮次值为同一时刻下所述从节点上所有的训练任务的迭代轮次值的最小值。例如,从节点1上共有3个训练任务:训练任务1、训练任务2、训练任务3;从节点2上共有两个训练任务:训练任务4、训练任务5。T2时刻,训练任务1的迭代轮次值为3,训练任务2的迭代轮次值为4,训练任务3的迭代轮次值为5,训练任务4的迭代轮次信息为4,训练任务5的迭代轮次信息为5,此时,从节点1确定从节点1在T2时刻的迭代轮次信息为3;从节点2确定从节点2的迭代轮次信息为4。更具体地,本发明提供的机器学习方法,从节点1和从节点2会将自己的迭代轮次值通过广播的方式发送出去,以使参数服务器根据所有的从节点在同一时刻的迭代轮次值,确定机器学习系统在该时刻的迭代轮次值。
需要说明的是,训练任务的迭代轮次值是从节点在执行训练任务的过程中更新的,具体地,训练任务每执行完一轮迭代处理,从节点就更新一下该训练任务的迭代轮次值。例如,在从节点1执行训练任务1的过程中,当训练任务1完成一轮迭代处理后,从计算节点1就更新一下训练任务1的迭代轮次值,相应地,在从节点1更新了训练任务1的迭代轮次值后,就去更新从计算节点1的迭代轮次值(此时,从节点1的迭代轮次值可能变了,也可能没变(从节点1根据从节点1上的3个训练任务的迭代轮次值确定从节点1的迭代轮次值)),若从节点1的迭代轮次值发生变化,则从节点1将变化后的从节点1的迭代轮次值通过广播发送出去,以使参数服务器根据所有从节点的迭代轮次值更新机器学习系统的迭代轮次值。
S202、若存在所述当前训练任务对应的模型参数,则所述从节点判断所述当前训练任务的迭代轮次值与所述模型参数携带的迭代轮次值的差值是否小于或者等于预设阈值。
需要说明的是,预设阈值可以为2,本实施例中,不对预设阈值的具体值进行限定。
例如,经过判断,确定本地缓存中存储有模型参数c,且该模型参数c携带的迭代轮次值为2。此时,进一步判断当前训练任务的迭代轮次值与模型参数c携带的迭代轮次值(2)的差值是否小于或者等于2。例如,当前训练任务的迭代轮次值为5,此时,经过判断,确定当前训练任务的迭代轮次值与模型参数c携带的迭代轮次值(2)的差值为3,大于预设阈值2。
S203、若所述当前训练任务的迭代轮次值与所述模型参数携带的迭代轮次值的差值小于或者等于所述预设阈值,则所述从节点从所述本地缓存中获取所述当前训练任务对应的模型参数。
例如,确定本地缓存中存储有模型参数c,且该模型参数c携带的迭代轮次值为3,且当前训练任务的迭代轮次值为5,此时,经过判断,确定当前训练任务的迭代轮次值与模型参数c携带的迭代轮次值(3)的差值为2,等于预设阈值2,此时,则直接从本地缓存中获取模型参数c。
S204、若所述当前训练任务的迭代轮次值与所述模型参数携带的迭代轮次值的差值大于所述预设阈值,则所述从节点从所述参数服务器中获取所述当前训练任务对应的新的模型参数,所述新的模型参数与所述模型参数的标识信息相同。
结合步骤S202中的例子,若判断当前训练任务的迭代轮次值与模型参数携带的迭代轮次值的差值大于预设阈值时,则说明此时从节点1上存储的模型参数c已经太旧,已经不能利用从节点1上存储的模型参数c进行模型训练,需要从参数服务器中获取比较新的模型参数c。
本实施例提供的机器学习方法,从节点获取当前训练任务对应的模型参数时,所述从节点首先判断本地缓存中是否存在所述当前训练任务对应的模型参数,若存在所述当前任务对应的模型参数,则判断所述当前训练任务的迭代轮次值与所述模型参数携带的迭代轮次值的差值是否小于或者等于预设阈值,若进一步判断所述当前训练任务的迭代轮次值与所述模型参数携带的迭代轮次值的差值小于或者等于所述预设阈值,则直接从所述本地缓存中获取所述当前训练任务对应的模型参数,若判断所述当前训练任务的迭代轮次值与所述模型参数携带的迭代轮次值的差值大于所述预设阈值,才从所述参数服务器中获取所述当前训练任务对应的新的模型参数,所述新的模型参数与所述模型参数的标识信息相同。这样,从节点可利用本地缓存中存储的符合条件的模型参数进行模型训练,在获取模型参数时可避免频繁的请求参数服务器,可节约网络开销。
进一步地,在本发明一种可能的实现方式中,若在步骤S201中判断本地缓存中不存在所述当前训练任务对应的模型参数,则直接从所述参数服务器中获取所述当前训练任务对应的模型参数。
图4为本发明实施例三提供的机器学习方法的流程图。本实施例涉及的是从节点从所述参数服务器中获取新的模型参数的具体过程。请参照图4,在上述实施例的基础上,步骤S204具体包括:
S301、所述从节点根据所述新的模型参数的标识信息、不同的模型参数的标识信息和不同的子服务器的对应关系,确定存储所述新的模型参数的第一子服务器。
结合上面的例子,当判断当前训练任务的迭代轮次值与模型参数c携带的迭代轮次值的差值大于预设阈值时,此时,从节点1需要从参数服务器上获取新的模型参数c。此时,从节点1首先根据不同的模型参数的标识信息和不同的子服务器的对应关系(结合前面的例子,模型参数c与子服务器2对应),确定存储新的模型参数的第一子服务器为子服务器2。
S302、所述从节点向所述第一子服务器发送参数获取请求,所述参数获取请求用于指示所述第一子服务器根据所述新的模型参数的标识信息获取所述新的模型参数;其中,所述新的模型参数携带的迭代伦次值与所述当前训练任务的迭代轮次值的差值的绝对值小于或者等于所述预设阈值。
当从节点1确定存储新的模型参数c的第一子服务器为子服务器2时,就向子服务器2发送参数获取请求。需要说明的是,参数获取请求可以携带当前训练任务的迭代轮次值和所述预设阈值。
需要说明的是,当子服务器2在Ta时刻接收到从节点1发送给其的参数获取请求时,此时,子服务器2首先判断机器学习系统当前(Ta时刻)的迭代轮次值与所述当前训练任务的迭代轮次值的差值的绝对值是否小于或者等于所述预设阈值;若是,子服务器2就将子服务器2上存储的上述新的模型参数c发送给从节点1。若子服务器2判断机器学习系统当前(Ta时刻)的迭代轮次值与所述当前训练任务的迭代轮次值的差值的绝对值大于所述预设阈值,则子服务器2将所述参数获取请求加入到请求队列,以在机器学习系统的迭代轮次值(机器学习系统在Ta+b时刻的迭代轮次值)与所述当前训练任务的迭代轮次值的差值的绝对值小于或者等于所述预设阈值,将所述新的模型参数发送给从节点1。这样,可保证当前训练任务与机器学习系统上执行最慢的训练任务之间的迭代轮次值相差不大,实现全局同步。
需要说明的是,本实施例提供的机器学习方法,当子服务2判断机器学习系统当前(Ta时刻)的迭代轮次值与所述当前训练任务的迭代轮次值的差值的绝对值大于所述预设阈值,则子服务器2将所述参数获取请求加入到请求队列,以在机器学习系统的迭代轮次值(机器学习系统在Ta+b时刻的迭代轮次值)与所述当前训练任务的迭代轮次值的差值的绝对值小于或者等于所述预设阈值,将所述新的模型参数发送给从节点1。此时,在b这一时间段内中,由于子服务器2没有给从节点1返回新的模型参数c,此时,从节点1上的当前训练任务进行等待状态。进一步地,本发明提供的机器学习方法,还包括:
判断所述当前训练任务是否进入等待状态;
若是,则执行第二训练任务;其中,第二训练任务是与所述当前训练任务不同的训练任务。
例如,结合上面的例子,当从节点1判断当前任务(训练任务1)进入等待状态,就执行训练任务2或训练任务3。这样,可充分利用从节点的计算能力。
S303、所述从节点接收所述第一子服务器发送的所述新的模型参数。
S304、所述从节点将所述本地缓存中存储的所述模型参数更新为所述新的模型参数。
本步骤中,当从节点获取到新的模型参数时,就将本地缓存中存储的所述模型参数更新为所述新的模型参数。例如,将本地缓存中存储的模型参数c(模型参数c携带的迭代轮次值与当前训练任务的迭代轮次值的差值的绝对值大于所述预设阈值)替换为新的模型参数c(新的模型参数c携带的迭代轮次值与当前训练任务的迭代轮次值的差值的绝对值小于或者等于所述预设阈值)。
本实施例提供的机器学习方法,在从节点从所述参数服务器中获取新的模型参数时,首先根据所述新的模型参数的标识信息、不同的模型参数的标识信息和不同的子服务器的对应关系,确定存储所述新的模型参数的第一子服务器,进而向所述第一子服务器发送参数获取请求,所述参数获取请求用于指示所述第一子服务器根据所述新的模型参数的标识信息获取所述新的模型参数;其中,所述新的模型参数携带的迭代伦次值与所述当前训练任务的迭代轮次值的差值的绝对值小于或者等于所述预设阈值,接收所述第一子服务器发送的所述新的模型参数。这样,通过从节点与参数服务器的协作,可实现全局同步。
图5为本发明实施例四提供的机器学习方法的流程图。本实施例提供的机器学习方法,新的模型参数中还携带所述第一子服务器中存储的所述从节点的第一版本号,步骤S304之后,所述方法还包括:
S401、所述从节点判断本地缓存中是否存储有所述新的模型参数的增量信息。
S402、若是,则所述从节点判断所述增量信息携带的所述从节点的第二版本号是否大于所述第一版本号。
S403、若所述从节点判断所述第二版本号大于所述第一版本号,则所述从节点根据所述增量信息更新所述新的模型参数,得到第一模型参数。
再详细介绍上述各个步骤的具体实现过程之前,先介绍一下第一子服务器中存储的所述从节点的第一版本号以及增量信息携带的所述从节点的第二版本号。
具体地,子服务器中存储有从节点的第一版本号,该第一版本号用于表征该子服务器已经接收到上述从节点上报的模型参数的增量信息的次数。例如,T1时刻,子服务器2中存储有从节点1的第一版本号为3,此时,表明子服务器2已经接收到从节点1上报的三次模型参数的增量信息。需要说明的是,子服务器每接收到从节点1上报的一次模型参数的增量信息,该子服务器中存储的从节点1的版本号就更新一次。结合上面的例子,T1时刻,子服务器2中存储有从节点1的第一版本号为3,假设T1+a时刻,子服务器2接收到从节点1上报的模型参数的增量信息,此时,子服务器2中存储的从节点1的第一版本号更新为4。
进一步地,本实施例提供的机器学习方法,在从节点进行模型训练的过程中,若得到某一模型参数的增量信息,则将该模型参数的增量信息存储在本地缓存中,其中模型参数的增量信息还携带从节点的当前版本号(即本实施例所说的第二版本号)。例如,T5时刻,从节点1当前的版本号为1,在从节点1进行模型训练的过程中,得到模型参数d的增量信息,此时,从节点1就将模型参数d的增量信息存储到本地缓存中,并且,该模型参数d携带的从节点1的版本号为1。需要说明的是,从节点1每向参数服务器上报一次模型参数的增量信息,从节点1的版本号就更新一次。例如,结合上面的例子,当从节点1将模型参数d的增量信息存储到本地缓存之后,从节点1就将模型参数d的增量信息上报给参数服务器,此时,从节点1的版本号就更新一次,变为2。
再介绍了第一子服务器中存储的所述从节点的第一版本号以及增量信息携带的所述从节点的第二版本号之后,下面详细介绍一下上面各个步骤的具体实现过程。
具体地,结合上面的介绍,例如,新的模型参数携带的第一子服务器中存储的从节点1的第一版本号为2(表明子服务器2接收到从节点1上报的两次模型参数的增量信息)。当从节点1获取到新的模型参数c后,就判断本地缓存中是否存储有新的模型参数c的增量信息。例如,本地缓存中存储有新的模型参数c的增量信息,且该模型参数c的增量信息携带的第二版本号为3(第二版本号3表明:从节点1在从节点1的版本号为3的时候,得到新的模型参数c的增量信息)。则在步骤S402中,从节点1进一步判断所述第二版本号大于所述第一版本号,例如,结合上面的例子,通过判断确定第二版本号3大于第一版本号2,此时,第二版本号3大于第一版本号2说明,从节点1在版本号为3的时候向子服务器2上报的那次模型参数的增量信息,子服务器2还没有收到,因此,子服务器2也没有根据相应的增量信息更新相应的模型参数,因此,为避免更新丢失,在步骤S403,需要根据所述增量信息更新所述新的模型参数,得到第一模型参数。
本实施例提供的机器学习方法,当新的模型参数中还携带第一子服务器中存储的从节点的第一版本号时,在所述从节点将本地缓存中存储的所述模型参数更新为所述新的模型参数之后,从节点通过判断本地缓存中是否存储有所述新的模型参数的增量信息,进而在判断本地缓存中存储有所述新的模型参数的增量信息之后,继续判断所述增量信息携带的所述从节点的第二版本号是否大于所述第一版本号,以在所述第二版本号大于所述第一版本号,则所述从节点根据所述增量信息更新所述新的模型参数,得到第一模型参数。这样,可避免更新丢失,进而可利用最新的模型参数训练模型,可提高模型的训练效率。
图6为本发明实施例五提供的机器学习方法的流程图。在上述实施例的基础上,本实施例提供的机器学习方法,还包括:
S501、在所述从节点根据所述第一模型参数执行当前训练任务的过程中,将所得到的第二模型参数的更新值存储至到所述本地缓存中,并将所述第二模型参数的增量信息以及所述从节点的当前版本号存储到所述本地缓存中。
结合实施例四中的介绍,当从节点进行模型训练的过程中,若得到某一模型参数的增量信息,则将该模型参数的增量信息以及从节点的当前版本号存储在本地缓存中。
S502、所述从节点将所述第二模型参数的增量信息上报给所述参数服务器。
具体地,从节点可以在第二模型参数的增量信息存储到一定量时,将第二模型参数的增量信息上报给参数服务器,也可以在得到第二模型参数的增量信息时,就将第二模型参数的增量信息上报给参数服务器。
需要说明的是,当参数服务器接收到从节点上报的第二模型参数的增量信息时,就根据第二模型参数的增量信息更新第二模型参数。
S503、所述从节点更新所述从节点的版本号。
具体地,结合上面的介绍,当从节点向参数服务器上报一次模型参数的增量信息后,从节点就更新所述从节点的版本号。
本实施例提供的机器学习方法,从节点在根据所述第一模型参数执行当前训练任务的过程中,将所得到的第二模型参数的更新值存储至到所述本地缓存中,并将所述第二模型参数的增量信息存储到所述本地缓存中。这样,当该从节点下次需要获取模型参数时,可以先从本地缓存中查找获取,进而在本地缓存中存在符合条件的模型参数值,直接从本地缓存中获取模型参数进行模型训练,可避免在获取模型参数时,频繁的请求参数服务器,可节约网络开销。
图7为本发明实施例六提供的从节点的结构示意图。该从节点可以通过软件、硬件或者软硬结合的方式实现,且该从节点可以是单独的机器学习装置,也可以是集成机器学习装置的其他设备,例如,可以是集成了机器学习装置的计算机。本实施例提供的从节点,应用于如图1所示的机器学习系统,所述机器学习系统包括分布式共享内存的参数服务器、主节点和多个所述从节点;所述参数服务器用于存储全局模型参数和全局训练数据;所述主节点用于根据全局数据处理任务,确定每个从节点的数据处理任务。
如图7所示,本实施例提供的从节点,包括:获取模块100和处理模块200,其中,
获取模块100,用于从所述参数服务器中获取所述从节点的数据处理任务对应的第一训练数据块;
处理模块200,用于按照所述从节点的数据处理任务对所述第一训练数据块进行处理,得到第一处理数据块;
获取模块100,还用于获取当前训练任务对应的模型参数;
处理模块200,还用于根据所述第一处理数据块、所述模型参数和所述当前训练任务训练模型。
本实施例的从节点,可以用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
进一步地,获取模块100,还具体用于在获取当前训练任务对应的模型参数之前,将所述第一处理数据块上报给所述参数服务器。
进一步地,获取模块100,还具体用于根据所述第一训练数据块的标识信息、不同的训练数据块的标识信息与不同的子服务器的对应关系,确定存储所述第一训练数据块的第二子服务器;向所述第二子服务器发送数据获取请求;接收所述第二子服务器发送的所述第一训练数据块;其中,所述数据获取请求携带所述第一训练数据块的标识信息。
进一步地,获取模块100,具体用于判断本地缓存中是否存在所述当前训练任务对应的模型参数;并在判断所述本地缓存中存在所述当前训练任务对应的模型参数时,判断所述当前训练任务的迭代轮次值与所述模型参数携带的迭代轮次值的差值是否小于或者等于预设阈值;并在判断当前训练任务的迭代轮次值与所述模型参数携带的迭代轮次值的差值小于或者等于所述预设阈值,从所述本地缓存中获取所述当前训练任务对应的模型参数;以及在判断当前训练任务的迭代轮次值与所述模型参数携带的迭代轮次值的差值大于所述预设阈值,从所述参数服务器中获取所述当前训练任务对应的新的模型参数;其中,所述模型参数携带的迭代伦次值为所述从节点从所述参数服务器获取到所述模型参数时机器学习系统的迭代伦次值;所述机器学习系统的迭代伦次值为同一时刻下所有从节点的迭代轮次值的最小值;所述从节点的迭代轮次值为同一时刻下所述从节点上所有的训练任务的迭代轮次值的最小值;所述新的模型参数的标识信息与所述模型参数的标识信息相同。
本实施例的从节点,可以用于执行图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
进一步地,获取模块100,还具体用于根据所述新的模型参数的标识信息、不同的模型参数的标识信息和不同的子服务器的对应关系,确定存储所述新的模型参数的第一子服务器;向所述第一子服务器发送参数获取请求;接收所述第一子服务器发送的所述新的模型参数;其中,所述参数获取请求用于指示所述第一子服务器根据所述新的模型参数的标识信息获取所述新的模型参数;所述新的模型参数携带的迭代伦次值与所述当前训练任务的迭代轮次值的差值的绝对值小于或者等于所述预设阈值。
本实施例的从节点,可以用于执行图3所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
进一步地,所述处理模块,还具体用于在所述获取模块接收到第一子服务器发送的所述新的模型参数之后,将所述本地缓存中存储的所述模型参数更新为所述新的模型参数。
进一步地,所述新的模型参数中还携带所述第一子服务器中存储的所述从节点的第一版本号,处理模块200,还具体用于在将所述本地缓存中存储的所述模型参数更新为所述新的模型参数之后,判断所述本地缓存中是否存储有所述新的模型参数的增量信息;并在判断所述本地缓存中存储有所述新的模型参数的增量信息时,判断所述增量信息携带的所述从节点的第二版本号是否大于所述第一版本号;以及在判断所述第二版本号大于所述第一版本号,根据所述增量信息更新所述新的模型参数,得到第一模型参数。
本实施例的从节点,可以用于执行图4所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
进一步地,处理模块100,还具体用于在根据所述第一模型参数执行当前训练任务的过程中,将所得到的第二模型参数的更新值存储至到所述本地缓存中,并将所述第二模型参数的增量信息以及所述从节点的当前版本号存储到所述本地缓存中;
获取模块100,还具体用于将所述第二模型参数的增量信息上报给所述参数服务器;
处理模块200,还具体用于更新所述从节点的版本号。
本实施例的从节点,可以用于执行图5所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种机器学习方法,其特征在于,应用于机器学习系统,所述机器学习系统包括分布式共享内存的参数服务器、主节点和多个从节点;所述参数服务器用于存储全局模型参数和全局训练数据;所述主节点用于根据全局数据处理任务,确定每个从节点的数据处理任务,所述方法包括:
从节点从所述参数服务器中获取所述从节点的数据处理任务对应的第一训练数据块,并按照所述从节点的数据处理任务对所述第一训练数据块进行处理,得到第一处理数据块;
所述从节点获取当前训练任务对应的模型参数;
所述从节点根据所述第一处理数据块、所述模型参数和所述当前训练任务训练模型。
2.根据权利要求1所述的方法,其特征在于,所述从节点获取当前训练任务对应的模型参数,具体包括:
所述从节点判断本地缓存中是否存在所述当前训练任务对应的模型参数;其中,所述模型参数携带的迭代伦次值为所述从节点从所述参数服务器获取到所述模型参数时所述机器学习系统的迭代伦次值;所述机器学习系统的迭代伦次值为同一时刻下所有从节点的迭代轮次值的最小值;所述从节点的迭代轮次值为同一时刻下所述从节点上所有的训练任务的迭代轮次值的最小值;
若存在所述当前训练任务对应的模型参数,则所述从节点判断所述当前训练任务的迭代轮次值与所述模型参数携带的迭代轮次值的差值是否小于或者等于预设阈值;
若所述当前训练任务的迭代轮次值与所述模型参数携带的迭代轮次值的差值小于或者等于所述预设阈值,则所述从节点从所述本地缓存中获取所述当前训练任务对应的模型参数;
若所述当前训练任务的迭代轮次值与所述模型参数携带的迭代轮次值的差值大于所述预设阈值,则所述从节点从所述参数服务器中获取所述当前训练任务对应的新的模型参数,所述新的模型参数的标识信息与所述模型参数的标识信息相同。
3.根据权利要求2所述的方法,其特征在于,所述从节点从所述参数服务器中获取新的模型参数,具体包括:
所述从节点根据所述新的模型参数的标识信息、不同的模型参数的标识信息和不同的子服务器的对应关系,确定存储所述新的模型参数的第一子服务器;
所述从节点向所述第一子服务器发送参数获取请求,所述参数获取请求用于指示所述第一子服务器根据所述新的模型参数的标识信息获取所述新的模型参数;其中,所述新的模型参数携带的迭代伦次值与所述当前训练任务的迭代轮次值的差值的绝对值小于或者等于所述预设阈值;
所述从节点接收所述第一子服务器发送的所述新的模型参数。
4.根据权利要求3所述的方法,其特征在于,所述从节点接收所述第一子服务器发送的所述新的模型参数之后,所述方法还包括:
所述从节点将所述本地缓存中存储的所述模型参数更新为所述新的模型参数。
5.根据权利要求4所述的方法,其特征在于,所述新的模型参数中还携带所述第一子服务器中存储的所述从节点的第一版本号,所述从节点将本地缓存中存储的所述模型参数更新为所述新的模型参数之后,所述方法还包括:
所述从节点判断所述本地缓存中是否存储有所述新的模型参数的增量信息;
若是,则所述从节点判断所述增量信息携带的所述从节点的第二版本号是否大于所述第一版本号;
若所述从节点判断所述第二版本号大于所述第一版本号,则所述从节点根据所述增量信息更新所述新的模型参数,得到第一模型参数。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在所述从节点根据所述第一模型参数执行当前训练任务的过程中,将所得到的第二模型参数的更新值存储至所述本地缓存中,并将所述第二模型参数的增量信息以及所述从节点的当前版本号存储到所述本地缓存中;
所述从节点将所述第二模型参数的增量信息上报给所述参数服务器;
所述从节点更新所述从节点的版本号。
7.根据权利要求1所述的方法,其特征在于,所述从节点获取当前训练任务对应的模型参数之前,所述方法还包括:
所述从节点将所述第一处理数据块上报给所述参数服务器。
8.根据权利要求1或2所述的方法,其特征在于,所述从节点从所述参数服务器中获取所述从节点的数据处理任务对应的第一训练数据块,具体包括:
所述从节点根据所述第一训练数据块的标识信息、不同的训练数据块的标识信息与不同的子服务器的对应关系,确定存储所述第一训练数据块的第二子服务器;
所述从节点向所述第二子服务器发送数据获取请求,所述数据获取请求携带所述第一训练数据块的标识信息;
所述从节点接收所述第二服务器发送的所述第一训练数据块。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
判断所述当前训练任务是否进入等待状态;
若是,则执行第二训练任务;其中,第二训练任务是与所述当前训练任务不同的训练任务。
10.一种从节点,应用于机器学习系统,所述机器学习系统包括分布式共享内存的参数服务器、主节点和多个所述从节点;所述参数服务器用于存储全局模型参数和全局训练数据;所述主节点用于根据全局数据处理任务,确定每个从节点的数据处理任务,所述从节点包括:获取模块和处理模块,其中,
所述获取模块,用于从所述参数服务器中获取所述从节点的数据处理任务对应的第一训练数据块;
所述处理模块,用于按照所述从节点的数据处理任务对所述第一训练数据块进行处理,得到第一处理数据块;
所述获取模块,还用于获取当前训练任务对应的模型参数;
所述处理模块,还用于根据所述第一处理数据块、所述模型参数和所述当前训练任务训练模型。
CN201710061671.2A 2017-01-26 2017-01-26 机器学习方法和系统 Active CN106815644B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710061671.2A CN106815644B (zh) 2017-01-26 2017-01-26 机器学习方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710061671.2A CN106815644B (zh) 2017-01-26 2017-01-26 机器学习方法和系统

Publications (2)

Publication Number Publication Date
CN106815644A true CN106815644A (zh) 2017-06-09
CN106815644B CN106815644B (zh) 2019-05-03

Family

ID=59111917

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710061671.2A Active CN106815644B (zh) 2017-01-26 2017-01-26 机器学习方法和系统

Country Status (1)

Country Link
CN (1) CN106815644B (zh)

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107622310A (zh) * 2017-08-30 2018-01-23 第四范式(北京)技术有限公司 用于执行机器学习的分布式系统及其方法
CN107944566A (zh) * 2017-11-28 2018-04-20 杭州云脑科技有限公司 一种机器学习方法、主节点、工作节点及系统
CN108009089A (zh) * 2017-12-01 2018-05-08 中南大学 一种基于透明计算的增量机器学习方法及系统
CN108280522A (zh) * 2018-01-03 2018-07-13 北京大学 一种插件式分布式机器学习计算框架及其数据处理方法
CN108446173A (zh) * 2018-02-27 2018-08-24 华为技术有限公司 一种基于Tensorflow的训练模型保存方法及驱动器、计算服务器
CN108829441A (zh) * 2018-05-14 2018-11-16 中山大学 一种分布式深度学习的参数更新优化系统
CN109445953A (zh) * 2018-08-30 2019-03-08 北京大学 一种面向大规模机器学习系统的机器学习模型训练方法
CN109543726A (zh) * 2018-11-06 2019-03-29 联动优势科技有限公司 一种训练模型的方法及装置
CN109543725A (zh) * 2018-11-06 2019-03-29 联动优势科技有限公司 一种获取模型参数的方法及装置
CN109558894A (zh) * 2018-11-06 2019-04-02 联动优势科技有限公司 一种确定模型参数的方法及客户端设备
CN109558950A (zh) * 2018-11-06 2019-04-02 联动优势科技有限公司 一种确定模型参数的方法及装置
CN109948632A (zh) * 2017-12-19 2019-06-28 杭州海康威视数字技术股份有限公司 数据训练方法、装置及系统、计算机设备
WO2019128752A1 (zh) * 2017-12-29 2019-07-04 北京中科寒武纪科技有限公司 神经网络处理方法、计算机系统及存储介质
CN110019830A (zh) * 2017-09-20 2019-07-16 腾讯科技(深圳)有限公司 语料处理、词向量获取方法及装置、存储介质及设备
CN110309367A (zh) * 2018-03-05 2019-10-08 腾讯科技(深圳)有限公司 信息分类的方法、信息处理的方法和装置
CN110333994A (zh) * 2019-07-08 2019-10-15 深圳乐信软件技术有限公司 一种数据集匹配的模型确定方法、装置、设备及存储介质
CN110490316A (zh) * 2019-08-21 2019-11-22 腾讯科技(深圳)有限公司 基于神经网络模型训练系统的训练处理方法、训练系统
CN110851265A (zh) * 2018-07-25 2020-02-28 华为技术有限公司 一种数据处理方法、相关设备及系统
WO2020113782A1 (zh) * 2018-12-05 2020-06-11 清华大学深圳研究生院 基于数据分布的联合深度学习方法
CN111611077A (zh) * 2020-05-20 2020-09-01 北京字节跳动网络技术有限公司 任务参数处理方法、终端和存储介质
CN112925558A (zh) * 2019-12-09 2021-06-08 支付宝(杭州)信息技术有限公司 模型联合训练方法及装置
CN114139723A (zh) * 2021-11-30 2022-03-04 支付宝(杭州)信息技术有限公司 用于深度学习模型训练的方法、装置及系统
WO2022161081A1 (zh) * 2021-01-28 2022-08-04 华为技术有限公司 集成学习模型的训练方法、装置、系统和相关设备
EP4145359A4 (en) * 2020-04-28 2023-10-18 Datang Mobile Communications Equipment Co., Ltd. METHOD AND DEVICE FOR TRANSMITTING MACHINE LEARNING MODEL PARAMETERS

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105575389A (zh) * 2015-12-07 2016-05-11 百度在线网络技术(北京)有限公司 模型训练方法、系统和装置
CN105894087A (zh) * 2015-01-26 2016-08-24 华为技术有限公司 用于神经网络中训练参数集的系统和方法
CN106156810A (zh) * 2015-04-26 2016-11-23 阿里巴巴集团控股有限公司 通用机器学习算法模型训练方法、系统和计算节点

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105894087A (zh) * 2015-01-26 2016-08-24 华为技术有限公司 用于神经网络中训练参数集的系统和方法
CN106156810A (zh) * 2015-04-26 2016-11-23 阿里巴巴集团控股有限公司 通用机器学习算法模型训练方法、系统和计算节点
CN105575389A (zh) * 2015-12-07 2016-05-11 百度在线网络技术(北京)有限公司 模型训练方法、系统和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ERIC P. XING ET AL.: "Petuum:A New Platform for Distributed Machine Learning on Big Data", 《IEEE TRANSACTIONS ON BIG DATA》 *

Cited By (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107622310A (zh) * 2017-08-30 2018-01-23 第四范式(北京)技术有限公司 用于执行机器学习的分布式系统及其方法
CN109447274A (zh) * 2017-08-30 2019-03-08 第四范式(北京)技术有限公司 用于执行机器学习的分布式系统及其方法
CN107622310B (zh) * 2017-08-30 2019-03-26 第四范式(北京)技术有限公司 用于执行机器学习的分布式系统及其方法
CN110019830A (zh) * 2017-09-20 2019-07-16 腾讯科技(深圳)有限公司 语料处理、词向量获取方法及装置、存储介质及设备
CN110019830B (zh) * 2017-09-20 2022-09-23 腾讯科技(深圳)有限公司 语料处理、词向量获取方法及装置、存储介质及设备
CN107944566A (zh) * 2017-11-28 2018-04-20 杭州云脑科技有限公司 一种机器学习方法、主节点、工作节点及系统
WO2019104713A1 (zh) * 2017-11-28 2019-06-06 杭州云脑科技有限公司 一种机器学习方法、主节点、工作节点及系统
CN108009089A (zh) * 2017-12-01 2018-05-08 中南大学 一种基于透明计算的增量机器学习方法及系统
CN108009089B (zh) * 2017-12-01 2021-02-02 中南大学 一种基于透明计算的增量机器学习方法及系统
CN109948632B (zh) * 2017-12-19 2021-03-26 杭州海康威视数字技术股份有限公司 数据训练方法、装置及系统、计算机设备
CN109948632A (zh) * 2017-12-19 2019-06-28 杭州海康威视数字技术股份有限公司 数据训练方法、装置及系统、计算机设备
WO2019128752A1 (zh) * 2017-12-29 2019-07-04 北京中科寒武纪科技有限公司 神经网络处理方法、计算机系统及存储介质
CN108280522B (zh) * 2018-01-03 2021-08-20 北京大学 一种插件式分布式机器学习计算框架及其数据处理方法
CN108280522A (zh) * 2018-01-03 2018-07-13 北京大学 一种插件式分布式机器学习计算框架及其数据处理方法
CN108446173B (zh) * 2018-02-27 2022-04-05 华为技术有限公司 一种基于Tensorflow的训练模型保存方法及驱动器、计算服务器
CN108446173A (zh) * 2018-02-27 2018-08-24 华为技术有限公司 一种基于Tensorflow的训练模型保存方法及驱动器、计算服务器
CN110309367B (zh) * 2018-03-05 2022-11-08 腾讯科技(深圳)有限公司 信息分类的方法、信息处理的方法和装置
CN110309367A (zh) * 2018-03-05 2019-10-08 腾讯科技(深圳)有限公司 信息分类的方法、信息处理的方法和装置
CN108829441A (zh) * 2018-05-14 2018-11-16 中山大学 一种分布式深度学习的参数更新优化系统
CN110851265B (zh) * 2018-07-25 2023-09-08 华为云计算技术有限公司 一种数据处理方法、相关设备及系统
CN110851265A (zh) * 2018-07-25 2020-02-28 华为技术有限公司 一种数据处理方法、相关设备及系统
CN109445953A (zh) * 2018-08-30 2019-03-08 北京大学 一种面向大规模机器学习系统的机器学习模型训练方法
CN109558950A (zh) * 2018-11-06 2019-04-02 联动优势科技有限公司 一种确定模型参数的方法及装置
CN109558894A (zh) * 2018-11-06 2019-04-02 联动优势科技有限公司 一种确定模型参数的方法及客户端设备
CN109543725A (zh) * 2018-11-06 2019-03-29 联动优势科技有限公司 一种获取模型参数的方法及装置
CN109543726A (zh) * 2018-11-06 2019-03-29 联动优势科技有限公司 一种训练模型的方法及装置
WO2020113782A1 (zh) * 2018-12-05 2020-06-11 清华大学深圳研究生院 基于数据分布的联合深度学习方法
CN110333994A (zh) * 2019-07-08 2019-10-15 深圳乐信软件技术有限公司 一种数据集匹配的模型确定方法、装置、设备及存储介质
CN110333994B (zh) * 2019-07-08 2023-06-06 深圳乐信软件技术有限公司 一种数据集匹配的模型确定方法、装置、设备及存储介质
CN110490316B (zh) * 2019-08-21 2023-01-06 腾讯科技(深圳)有限公司 基于神经网络模型训练系统的训练处理方法、训练系统
CN110490316A (zh) * 2019-08-21 2019-11-22 腾讯科技(深圳)有限公司 基于神经网络模型训练系统的训练处理方法、训练系统
CN112925558B (zh) * 2019-12-09 2022-05-17 支付宝(杭州)信息技术有限公司 模型联合训练方法及装置
CN112925558A (zh) * 2019-12-09 2021-06-08 支付宝(杭州)信息技术有限公司 模型联合训练方法及装置
EP4145359A4 (en) * 2020-04-28 2023-10-18 Datang Mobile Communications Equipment Co., Ltd. METHOD AND DEVICE FOR TRANSMITTING MACHINE LEARNING MODEL PARAMETERS
CN111611077A (zh) * 2020-05-20 2020-09-01 北京字节跳动网络技术有限公司 任务参数处理方法、终端和存储介质
WO2022161081A1 (zh) * 2021-01-28 2022-08-04 华为技术有限公司 集成学习模型的训练方法、装置、系统和相关设备
CN114139723A (zh) * 2021-11-30 2022-03-04 支付宝(杭州)信息技术有限公司 用于深度学习模型训练的方法、装置及系统

Also Published As

Publication number Publication date
CN106815644B (zh) 2019-05-03

Similar Documents

Publication Publication Date Title
CN106815644A (zh) 机器学习方法和从节点
Hunsberger et al. A combinatorial auction for collaborative planning
Aydın et al. Multi-objective temporal bin packing problem: An application in cloud computing
CN109144696A (zh) 一种任务调度方法、装置、电子设备及存储介质
Zhang et al. Bottleneck machine identification method based on constraint transformation for job shop scheduling with genetic algorithm
CN106874094A (zh) 定时任务处理方法、装置及计算设备
CN108009642A (zh) 分布式机器学习方法和系统
CN111143039B (zh) 一种虚拟机的调度方法、装置及计算机存储介质
CN107918558A (zh) 基于状态机的业务流程控制方法、装置及设备
CN104182283B (zh) 一种任务同步方法
CN108416843A (zh) 三维场景构建方法、装置、设备及计算机可读存储介质
CN110941251B (zh) 基于数字孪生体的生产控制方法、装置、设备及介质
CN110991871A (zh) 风险监测方法、装置、设备与计算机可读存储介质
CN109144697A (zh) 一种任务调度方法、装置、电子设备及存储介质
CN109800144A (zh) 应用程序的测试方法、系统及装置
CN109214512A (zh) 一种深度学习的参数交换方法、装置、服务器及存储介质
US7451445B1 (en) Mechanism for tracking the execution progress of a parent task which spawns one or more concurrently executing child tasks
CN109885580A (zh) 一种热点账户批量更新方法、装置、服务器和存储介质
Kamali et al. An immune-based multi-agent system for flexible job shop scheduling problem in dynamic and multi-objective environments
CN109241042A (zh) 数据处理方法、装置以及电子设备
CN116187738B (zh) 一种基于执行顺序和位置分布的工作包自动生成方法
CN111597035A (zh) 基于多线程的仿真引擎时间推进方法及系统
CN111079974A (zh) 一种信息处理方法、电子设备和计算机存储介质
CN110175073A (zh) 数据交换作业的调度方法、发送方法、装置及相关设备
CN112418349A (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
GR01 Patent grant
GR01 Patent grant