CN107330516A - 模型参数训练方法、装置及系统 - Google Patents
模型参数训练方法、装置及系统 Download PDFInfo
- Publication number
- CN107330516A CN107330516A CN201610279143.XA CN201610279143A CN107330516A CN 107330516 A CN107330516 A CN 107330516A CN 201610279143 A CN201610279143 A CN 201610279143A CN 107330516 A CN107330516 A CN 107330516A
- Authority
- CN
- China
- Prior art keywords
- parameter
- gradient
- model
- server
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Abstract
本发明公开了一种模型参数训练方法、装置及系统,属于信息技术领域。所述方法包括:运行多个线程,由所述多个线程分别根据模型参数的初始参数值对不同的子集进行训练,得到所述模型参数的训练参数值;将所述多个线程训练得到的训练参数值进行合并,得到合并参数值;根据所述合并参数值和所述初始参数值,计算所述模型参数的统计梯度;向参数服务器发送所述统计梯度,使得所述参数服务器根据所述统计梯度对所述模型参数进行更新。本发明通过多个线程并行地对不同的子集进行训练并在合并后求取梯度,增加了训练数据的复杂度,能够将不同子集训练的梯度合并传输,而无需将不同子集训练的梯度分别传输,减少了梯度的传输,减小了网络开销。
Description
技术领域
本发明涉及信息技术领域,特别涉及一种模型参数训练方法、装置及系统。
背景技术
DistBelief是一种人工智能深度学习框架,可以用来训练大规模的神经网络模型,目前已广泛应用于文本处理、图像识别等多个领域。DistBelief提供了一种分布式训练模式:Downpour SGD(Downpour Stochastic Gradient Descent,异步随机梯度下降),该模式定义了一个参数服务器和多个计算节点,每个计算节点用于训练生成模型副本,该参数服务器用于为多个计算节点共享模型参数。
在训练开始之前,参数服务器向每个计算节点发送模型参数的初始参数值,并将训练数据集划分为多个样本集,分别分配给多个计算节点。在训练过程中,每个计算节点根据分配的样本集和模型参数当前的参数值进行训练,并计算得到模型参数的梯度,将梯度发送给参数服务器,参数服务器可以根据任一计算节点发送的梯度对模型参数进行更新,得到更新后的参数值,每个计算节点可以从参数服务器中获取更新后的参数值,根据更新后的参数值继续进行训练。其中,模型中包括多个模型参数,采用上述训练方式可以训练模型中的每个模型参数。
在实现本发明的过程中,发明人发现现有技术至少存在以下缺陷:参数服务器与多个计算节点之间需要传输模型参数的梯度,模型参数规模很大时该传输梯度的过程会带来巨大的网络开销。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种模型参数训练方法、装置及系统。所述技术方案如下:
第一方面,提供了一种模型参数训练方法,所述方法包括:
运行多个线程,由所述多个线程分别根据模型参数的初始参数值对不同的子集进行训练,得到所述模型参数的训练参数值;
将所述多个线程训练得到的训练参数值进行合并,得到合并参数值;
根据所述合并参数值和所述初始参数值,计算所述模型参数的统计梯度;
向参数服务器发送所述统计梯度,使得所述参数服务器根据所述统计梯度对所述模型参数进行更新。
第二方面,提供了一种模型参数训练装置,所述装置包括:
训练模块,用于运行多个线程,由所述多个线程分别根据模型参数的初始参数值对不同的子集进行训练,得到所述模型参数的训练参数值;
合并模块,用于将所述多个线程训练得到的训练参数值进行合并,得到合并参数值;
梯度计算模块,用于根据所述合并参数值和所述初始参数值,计算所述模型参数的统计梯度;
发送模块,用于向参数服务器发送所述统计梯度,使得所述参数服务器根据所述统计梯度对所述模型参数进行更新。
第三方面,提供了一种模型参数训练系统,所述系统包括参数服务器和多个计算节点;
每个计算节点用于运行多个线程,由所述多个线程分别根据模型参数的初始参数值对不同的子集进行训练,得到所述模型参数的训练参数值;将所述多个线程训练得到的训练参数值进行合并,得到合并参数值;根据所述合并参数值和所述初始参数值,计算所述模型参数的统计梯度;向参数服务器发送所述统计梯度;
所述参数服务器用于根据计算节点发送的统计梯度对所述模型参数进行更新。
本发明实施例提供的技术方案带来的有益效果是:
本发明实施例提供的方法、装置及系统,通过运行多个线程,由该多个线程分别根据模型参数的初始参数值对不同的子集进行训练,得到该模型参数的训练参数值,将该多个线程训练得到的训练参数值进行合并,得到合并参数值,根据该合并参数值和该初始参数值,计算该模型参数的统计梯度,向参数服务器发送该统计梯度。与单线程地训练并求取梯度相比,本发明通过多个线程并行地对不同的子集进行训练并在合并后求取梯度,增加了训练数据的复杂度,充分地利用了计算节点的计算资源,能够将不同子集训练的梯度合并传输,而无需将不同子集训练的梯度分别传输,减少了梯度的传输,减小了网络开销。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种模型参数训练系统的结构示意图;
图2是本发明实施例提供的一种参数服务器与计算节点的交互流程图;
图3是本发明实施例提供的一种模型参数训练方法的流程图;
图4是本发明实施例提供的一种模型参数训练方法的流程图;
图5是本发明实施例提供的计算节点的操作流程示意图;
图6是本发明实施例提供的二叉树示意图;
图7是本发明实施例提供的一种模型参数训练装置的结构示意图;
图8是本发明实施例提供的一种服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明实施例提供的一种模型参数训练系统的结构示意图,参见图1,该系统包括参数服务器和多个计算节点,该参数服务器与多个计算节点之间通过网络连接。计算节点可以为服务器,也可以为计算机或者具备数据计算功能的装置等,本发明实施例对计算节点不做限定。
该参数服务器用于共享模型中的模型参数,每个计算节点用于训练生成模型副本。如图2所示,该参数服务器与任一计算节点之间的交互流程可以包括如下步骤1-4:
1、该参数服务器存储模型参数的参数值,并为每个计算节点分配要训练的样本集和模型参数,向每个计算节点发送分配的样本集和模型参数的初始参数值。
可选地,不同计算节点训练的样本集不同,而训练的模型参数相同,也即是该参数服务器将模型中的所有模型参数均分配给每个计算节点进行训练,而将要训练的样本划分为多个样本集后,将每个样本集分别分配给相应的计算节点进行训练。
或者,不同计算节点训练的样本集相同,而训练的模型参数不同。也即是,该参数服务器将要训练的样本均分配给每个计算节点进行训练,并将模型中的模型参数划分为多份模型参数后,分别分配给相应的计算节点进行训练。
2、计算节点根据所分配的样本集和从参数服务器获取到的模型参数的初始值进行训练,并计算模型参数的梯度,向参数服务器发送该梯度。
在本发明实施例中,为了增加每次训练的数据量,以减少梯度的传输,计算节点可以将样本集划分为多个子集,分配给多个线程,在运行多个线程时,每个线程可以根据模型参数的初始值对分配的子集进行训练,得到模型参数的梯度,根据该梯度对模型参数的初始参数值进行更新,得到该模型参数的训练参数值,将多个线程得到的训练参数值进行合并,得到合并参数值,根据该合并参数值和初始参数值即可计算模型参数的统计梯度,向参数服务器发送该统计梯度。
与单线程地训练并求取梯度相比,本发明实施例通过多个线程并行地对不同的子集进行训练并在合并后求取梯度,能够将不同子集训练的梯度合并传输,而无需将不同子集训练的梯度分别传输,增加了每次训练数据的复杂度,减少了梯度的传输,减小了网络开销。
3、该参数服务器根据计算节点发送的统计梯度对模型参数进行更新,得到该模型参数更新后的参数值。
4、计算节点可以从参数服务器获取该模型参数更新后的参数值,根据更新后的参数值继续进行训练。
上述步骤2-4仅是以一个计算节点为例进行说明,实际上,该系统中的每个计算节点均会执行上述步骤2和4,且参数服务器可以接收任一计算节点发送的梯度,并根据接收到的梯度对模型参数进行更新,任一计算节点均可根据参数服务器更新后的参数值继续进行训练,本发明实施例对计算节点不做限定。
进一步地,该系统可以包括多个参数服务器,每个参数服务器用于共享不同的模型参数。也即是,模型中可以包括多个模型参数,则为了提高系统并行度,可以将模型中的多个模型参数划分为多份,分别分配给多个参数服务器,每个参数服务器可以存储相应的模型参数,并根据任一计算节点发送的模型参数的梯度对存储的模型参数进行更新。
其中,由于不同的模型参数的访问频率不同,每个参数服务器分配的模型参数的访问频率之和即可作为参数服务器的总访问频率。如果某一参数服务器的总访问频率过高,网络传输过多,则很容易成为系统热点,导致系统整体的并行效率低,分布式性能差。
为了保证参数服务器之间的平衡,可以根据每个模型参数的访问频率为多个参数服务器分配模型参数,使得任两个参数服务器的总访问频率之间的差值小于预设差值,即将模型参数按照访问频率均匀分布在多个参数服务器上,保证多个参数服务器的总访问频率近似相等,从而将网络传输也分布在多个参数服务器上,避免了网络尖峰,避免由于某一参数服务器的总访问频率过高而影响系统的分布式性能,提高了并行效率。
其中,该预设差值可以由参数服务器预先根据性能需求和参数服务器的硬件配置确定,本发明实施例对此不做限定。
图3是本发明实施例提供的一种模型参数训练方法的流程图。该发明实施例的执行主体为计算节点,参见图3,该方法包括:
301、运行多个线程,由该多个线程分别根据模型参数的初始参数值对不同的子集进行训练,得到该模型参数的训练参数值。
302、将该多个线程训练得到的训练参数值进行合并,得到合并参数值。
303、根据该合并参数值和该初始参数值,计算该模型参数的统计梯度。
304、向参数服务器发送该统计梯度,使得该参数服务器根据该统计梯度对该模型参数进行更新。
本发明实施例提供的方法,通过运行多个线程,由该多个线程分别根据模型参数的初始参数值对不同的子集进行训练,得到该模型参数的训练参数值,将该多个线程训练得到的训练参数值进行合并,得到合并参数值,根据该合并参数值和该初始参数值,计算该模型参数的统计梯度,向参数服务器发送该统计梯度。与单线程地训练并求取梯度相比,本发明通过多个线程并行地对不同的子集进行训练并在合并后求取梯度,增加了训练数据的复杂度,充分地利用了计算节点的计算资源,能够将不同子集训练的梯度合并传输,而无需将不同子集训练的梯度分别传输,减少了梯度的传输,减小了网络开销。
该根据模型参数的初始参数值对不同的子集进行训练,得到该模型参数的训练参数值,包括:
根据该模型参数的初始参数值对分配的子集进行训练,得到该模型参数的梯度;
根据该梯度对该初始参数值进行更新,得到该训练参数值。
可选地,该将该多个线程训练得到的训练参数值进行合并,得到合并参数值,包括:
将该多个线程训练得到的训练参数值之和作为合并参数值。
可选地,该向参数服务器发送该统计梯度,包括:
如果该统计梯度的绝对值大于0,则向该参数服务器发送该统计梯度;
如果该统计梯度的绝对值等于0,则不再向该参数服务器发送该统计梯度。
可选地,所训练的模型包括输入层、隐层和输出层,该输出层包括由多个树节点构成的二叉树,模型参数包括该二叉树中任两个树节点之间的路径参数;
对于该二叉树中的叶子节点,每当该叶子节点的迭代次数达到预设次数时,将该叶子节点的路径参数的统计梯度发送给该参数服务器。
可选地,不同参数服务器存储的模型参数不同;
该向参数服务器发送该统计梯度,包括:向该模型参数对应的参数服务器发送该统计梯度,使得该模型参数对应的参数服务器根据该统计梯度对该模型参数进行更新。
上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。
图4是本发明实施例提供的一种模型参数训练方法的流程图。该发明实施例的交互主体为参数服务器和计算节点,参见图4,该方法包括:
401、参数服务器为每个计算节点分配样本集和模型参数,并向每个计算节点发送所分配的样本集以及模型参数的初始参数值。
本发明实施例应用于训练目标模型的场景下,该目标模型可以为人脸识别模型、Word2Vec(词转化成向量)模型等,目标模型中可以包括多个模型参数,且不同类型的目标模型中模型参数的类型也不同,本发明实施例对该目标模型和该目标模型中的模型参数均不做限定。
该参数服务器可以获取要训练的样本集和目标模型中的多个模型参数,此时,该参数服务器可以为每个计算节点分配样本集和模型参数,也即是确定每个节点要训练的样本集和模型参数。
在一种可能实现方式中,该参数服务器可以采用数据并行而模型不并行的方式进行分配,使得不同计算节点训练的样本集不同,而训练的模型参数相同。也即是,该参数服务器将模型中的所有模型参数均分配给每个计算节点进行训练,而将要训练的样本划分为多个样本集后,将每个样本集分别分配给每个计算节点进行训练。
在另一种可能实现方式中,该参数服务器可以采用模型并行而数据不并行的方式进行分配,使得不同计算节点训练的样本集相同,而训练的模型参数不同。也即是,该参数服务器将要训练的样本均分配给每个计算节点进行训练,并将模型中的模型参数划分为多份模型参数后,分别分配给每个计算节点进行训练。
分配好之后,参数服务器即可向每个计算节点发送为相应计算节点分配的样本集和模型参数的初始参数值,由计算节点根据样本集和初始参数值进行训练。
其中,针对该样本集,参数服务器可以在训练开始之前,向每个计算节点发送为相应计算节点分配的样本集,之后在训练过程中将不再发送样本集。而针对模型参数的参数值,在训练开始之前,参数服务器可以向每个计算节点发送所有模型参数的初始参数值,并通知每个计算节点所分配的模型参数,在训练过程中,该参数服务器可能会对模型参数的参数值进行更新,则每次更新之后可以向每个计算节点发送模型参数更新后的参数值,或者由要更新该模型参数的计算节点从参数服务器拉取该模型参数更新后的参数值。本发明实施例对该参数服务器发送样本集和参数值的时机不做限定。
402、计算节点将分配的样本集划分为多个子集,并运行多个线程,由每个线程分别根据模型参数的初始参数值对不同的子集进行训练,得到该模型参数的训练参数值。
本发明实施例中采用多线程并行训练的方式来减小梯度的传输,参见图5,当计算节点获取到分配的样本集时,可以将该样本集划分为多个子集,并运行多个线程,每个线程对一个子集进行训练。
对于每个线程,该线程根据模型参数的初始参数值对分配的子集进行训练,得到模型参数的梯度,根据该梯度对初始参数值进行更新,得到训练参数值。
其中,该线程可以采用SGD(Stochastic Gradient Descent,随机梯度下降)算法进行训练,得到更新的训练参数值,当然也可以采用其他算法进行训练,本发明实施例对此不做限定。
具体地,目标模型中包括多个模型参数,该参数服务器向计算节点发送多个模型参数的初始参数值,该线程可以根据多个模型参数的初始参数值构成模型副本,将从子集中提取的样本输入到模型副本中进行计算,得到目标函数的值,根据目标函数对需要训练的模型参数求取偏导即可得到模型参数的梯度,根据该梯度对模型参数的初始参数值进行更新,即可得到模型参数更新后的参数值,作为训练参数值。
其中,样本集可以包括多个样本,该计算节点可以对多个样本进行分组,得到多个子集,每个子集中包括至少一个样本。另外,针对不同的目标模型,样本的形式也不同。例如,目标模型为Word2Vec模型时,样本集中可以包括多个语句,计算节点划分得到的多个子集中包括至少一个语句,对至少一个语句进行分词可以得到多个词组,该多个词组可以作为样本,对目标模型的模型参数进行训练。
进一步地,该线程要训练的子集中可能包括多个样本,对多个样本一起进行训练会造成数据量过大,因此,每次训练时,该线程可以从子集中提取预设数目的样本来进行训练。在后续从参数服务器获取到模型参数更新后的参数值后,可以再次从子集剩余的样本中提取预设数目的样本继续进行训练。该预设数目可以根据子集中的样本数目和对训练速度的需求确定,且不同线程所确定的预设数目可以相同,也可以不同,本发明实施例对此不做限定。
例如,目标模型为Word2Vec模型时,该线程的子集中包括多个语句,该线程从子集中提取的词组数目为M,根据提取的M个词组进行训练,并记录下当前提取词组的语句所在的位置、该语句的上下文窗口以及当前提取的最后一个词组的位置,对这M个词组训练完成时,该线程可以根据记录的语句所在位置、上下文窗口和上次提取的最后一个词组的位置,从子集中上次提取的最后一个词组的下一个词组开始,继续提取M个词组进行训练,以此类推。
403、计算节点将多个线程训练得到的训练参数值之和作为合并参数值,根据该合并参数值和该初始参数值计算模型参数的统计梯度。
参见图5,每个线程均可训练得到训练参数值,此时计算节点可以将多个线程训练得到的训练参数值进行合并,合并后的参数值即可作为合并参数值,之后,即可根据该合并参数值和该初始参数值计算模型参数的梯度,该梯度即是对多个线程的训练结果进行合并统计后得到的统计梯度。
其中,该线程可以在一次迭代得到合并参数值之后,计算合并参数值与该初始参数值之间的差值,作为统计梯度,或者,也可以在多次迭代之后,计算多次迭代后得到的合并参数值与该初始参数值之间的变化率,作为统计梯度,该变化率用于表示参数值的变化程度,可以为该合并参数值与该初始参数值之间的差值与迭代次数的商。本发明实施例对计算统计梯度的具体方式不做限定。
404、计算节点向参数服务器发送该模型参数的统计梯度。
发送统计梯度时,该计算节点可以采用KLV(Key-Length-Value,键-长度-值)的格式发送。如发送统计梯度的协议为参数总长度+参数下标(Key)+参数值(Value),不同的模型参数具有不同的下标(Key),该计算节点可以获取每个模型参数的下标和统计梯度以及参数总长度,根据该协议向参数服务器发送不同模型参数的统计梯度。
本发明实施例仅是以该计算节点计算得到统计梯度后即向参数服务器发送该统计梯度为例。实际上,为了进一步减小网络开销,该计算节点可以采用增量更新梯度的方式,仅向参数服务器发送绝对值大于0的统计梯度,而不再发送绝对值等于0的统计梯度。
由于统计梯度用于体现模型参数的变化情况,当统计梯度的绝对值大于0时,表示本次训练时该模型参数发生变化,即该模型参数增大或减小,需要在参数服务器对该模型参数进行更新,而当统计梯度的绝对值等于0,即该统计梯度为0时,表示本次训练时该模型参数未发生变化,无需在参数服务器对该模型参数进行更新,将该统计梯度0发送给参数服务器会造成网络开销的浪费。
因此,计算节点每次计算得到统计梯度时,可以先获取该统计梯度的绝对值,判断该绝对值是否等于0,如果该绝对值大于0,则向该参数服务器发送该统计梯度,如果该绝对值等于0,则不再向该参数服务器发送该统计梯度。
需要说明的是,目标模型中可以包括多个模型参数,计算节点采用上述步骤402-404进行训练时,可以得到为该计算节点所分配的每个模型参数的统计梯度。此时可以确定绝对值大于0的统计梯度,发送给参数服务器,至于为0的统计梯度,则不再发送给参数服务器。
例如,模型参数原始的统计梯度为[0 0 0 0],而本次训练得到的统计梯度为[0 1 0 1],也即是第二个和第四个模型参数的统计梯度的绝对值大于0,则采用KLV的方式,向参数服务器发送第二个和第四个模型参数的统计梯度,发送的数据中包括第二个和第四个模型参数的下标和统计梯度。
目标模型中通常包括大量的模型参数,每次根据样本进行训练时大量模型参数中可能只有小部分的模型参数发生变化,也即是只有小部分的模型参数计算出的统计梯度绝对值大于0,而其他大部分的模型参数未发生变化,计算出的统计梯度均为0。与向参数服务器发送所有模型参数的统计梯度相比,本实施例仅发送绝对值大于0的统计梯度会大大节省网络开销。
需要说明的是,该目标模型可以为神经网络模型,该目标模型可以包括输入层、隐层和输出层,其中输出层包括由多个树节点构成的二叉树,那么,目标模型的模型参数中包括二叉树中任两个树节点之间的路径参数,每次更新时需要对任两个树节点之间的路径参数进行更新。如图6所示,二叉树中包括多个节点N0-N6,任两个树节点之间的路径参数包括W(N0-N1)、W(N0-N2)、W(N1-N3)、W(N1-N4)、W(N2-N5)、W(N2-N6)。
其中,二叉树中包括叶子节点,叶子节点是指二叉树中没有下一层节点的底层节点,即整个目标模型的底层节点。由于二叉树的深度越大,节点数目越多,更新的参数量也越大,相应的单个叶子节点的梯度变化也越小,因此,为了进一步减小网络开销,对于该二叉树中的叶子节点,每当该叶子节点的迭代次数达到预设次数时,将该叶子节点的路径参数的统计梯度发送给该参数服务器,并将迭代次数置0,重新开始统计迭代次数。而当叶子节点的迭代次数还未达到预设次数时,不再向参数服务器发送该叶子节点的路径参数的统计梯度。
如图6所示,叶子节点N3-N6的路径参数分别为W(N1-N3)、W(N1-N4)、W(N2-N5)、W(N2-N6),针对这些路径参数,在叶子节点的迭代次数未达到预设次数时,不会将该叶子节点的路径参数的统计梯度发送给该参数服务器,则也无需计算该路径参数的统计梯度。而当叶子节点的迭代次数达到预设次数时,再计算该路径参数的统计梯度,发送给该参数服务器。
而关于该目标模型中除叶子节点的路径参数以外的参数,仍可以在每次迭代时计算统计梯度,并发送给参数服务器。通过这种分层更新的方式,将底层的路径参数的统计梯度按照迭代次数发送,既能够保证训练精确度,也能够避免不必要的计算量,尽可能地减小网络开销。
另外,上述增量梯度更新的方式与上述分层更新的方式可以结合,也即是,对于叶子节点,可以在叶子节点的迭代次数达到预设次数,且叶子节点的路径参数的统计梯度绝对值大于0时,向参数服务器发送该路径参数的统计梯度,而当叶子节点的迭代次数未达到预设次数,或者叶子节点的路径参数的统计梯度为0时,不再向参数服务器发送该路径参数的统计梯度,进一步减小了网络开销。
405、参数服务器接收到该统计梯度时,根据该统计梯度对模型参数进行更新,得到更新后的参数值。
其中,该参数服务器根据该统计梯度对模型参数进行更新时,可以采用相同的学习率对模型参数进行更新,或者也可以对学习率进行调整,每次采用不同的模型参数进行更新。其中,对学习率进行调整时可以采用多种调整算法进行,如AdaGrad自适应学习率调整算法等,本发明实施例对调整算法不做限定。
406、计算节点从该参数服务器获取模型参数更新后的参数值,将更新后的参数值作为本次训练的初始参数值,继续执行步骤402。
计算节点对本次的样本训练完成后,可以从子集中继续提取样本,继续对提取的样本进行训练。由于该参数服务器可能已经对目标模型中的某些模型参数进行了更新,则该计算节点可以从该参数服务器获取模型参数更新后的参数值,将更新后的参数值作为本次训练的初始参数值,根据该初始参数值和本次提取的样本执行步骤402,继续进行训练。
在训练过程中,每个计算节点可以将根据样本训练得到的输出结果与样本的实际结果进行对比,得到训练误差,并发送给该参数服务器,该参数服务器可以获取到不同计算节点所发送的训练误差,当确定训练误差小于预设误差时,表示该目标模型的准确率已符合要求,此时即可根据模型参数当前的参数值构成目标模型,并通知计算节点停止训练,至此训练过程完成。
需要说明的是,本发明实施例仅以一个参数服务器为例,实际上可以设置多个参数服务器,由多个参数服务器分别共享不同的模型参数,存储不同模型参数的参数值,并对存储的模型参数的参数值进行更新。
则针对计算节点来说,当计算节点得到模型参数的统计梯度时,确定该模型参数对应的参数服务器,即用于存储该模型参数的参数服务器,向确定的参数服务器发送该统计梯度,以便该参数服务器接收到该统计梯度时,根据该统计梯度对该模型参数进行更新。而且,该计算节点可以从不同的参数服务器上获取更新的参数分片,避免了对某一参数服务器的集中访问,避免了网络传输尖峰。
其中,多个参数服务器在分配模型参数时可以按照在目标模型中所在的层进行划分,例如第一参数服务器用于存储目标模型中隐藏层的模型参数,第二参数服务器用于存储目标模型中输出层的模型参数。
或者,可以按照多个模型参数的访问频率进行分配,使得任两个参数服务器的总访问频率之间的差值小于预设差值,即将模型参数按照访问频率均匀分布在多个参数服务器上,保证多个参数服务器的总访问频率近似相等,从而将网络传输也分布在多个参数服务器上,避免了网络尖峰,避免由于某一参数服务器的总访问频率过高而影响系统的分布式性能,提高了并行效率。
本发明实施例提供的方法,通过运行多个线程,由该多个线程分别根据模型参数的初始参数值对不同的子集进行训练,得到该模型参数的训练参数值,将该多个线程训练得到的训练参数值进行合并,得到合并参数值,根据该合并参数值和该初始参数值,计算该模型参数的统计梯度,向参数服务器发送该统计梯度。与单线程地训练并求取梯度相比,本发明通过多个线程并行地对不同的子集进行训练并在合并后求取梯度,增加了训练数据的复杂度,充分地利用了计算节点的计算资源,能够将不同子集训练的梯度合并传输,而无需将不同子集训练的梯度分别传输,减少了梯度的传输,减小了网络开销。
进一步地,采用增量梯度更新的方式,仅在统计梯度的绝对值大于0时才向参数服务器发送统计梯度,减少了梯度的传输,进一步减小了网络开销。
进一步地,针对于二叉树中的叶子节点,当迭代次数达到预设次数时才发送统计梯度,减少了梯度的传输,进一步减小了网络开销。
进一步地,采用多个参数服务器来存储不同的模型参数,对不同的模型参数进行更新,提高了系统并行度。且按照模型参数的访问频率进行分配,保证了多个参数服务器之间的平衡,避免了网络尖峰,避免由于某一参数服务器的总访问频率过高而影响系统的分布式性能,提高了并行效率。
相关技术中的Downpour SGD训练模式每次训练都需要将计算节点得到的梯度发送给参数服务器,并从参数服务器获取更新后的参数值,随着模型参数规模的上升,该传输过程会带来巨大的网络开销。在参数计算量较大且计算耗时相对于网络传输耗时较大的应用场景下,计算占比很高,该训练模式可以发挥明显的分布式性能的优势,但是,对于Word2Vec等轻计算类型的模型,参数计算量较小,计算耗时相对于网络传输耗时较小,导致计算占比很低,系统整体的并行效率偏低,将无法发挥分布式性能的优势。
本发明实施例针对轻计算类型的模型,采用多线程并行训练的方式,充分利用了计算节点的单机计算性能,提高了CPU(Central Processing Unit,中央处理器)的资源利用率,多线程每次训练的样本数目越大,CPU利用越充分。并采用增量梯度更新、分层梯度更新的方式尽可能地降低网络开销,可以解决轻计算场景下计算占比偏低、分布式性能受限的问题。
通过实验表明,采用增量梯度更新的方式,计算节点需要发送到参数服务器的参数量压缩为0.87%,参数服务器需要发送到计算节点的参数量压缩为2.83%,网络传输量实现了一个数量级的下降,系统的整体计算占比提升了3%。
图7是本发明实施例提供的一种模型参数训练装置的结构示意图,参加图7,该装置包括:
训练模块701,用于运行多个线程,由该多个线程分别根据模型参数的初始参数值对不同的子集进行训练,得到该模型参数的训练参数值;
合并模块702,用于将该多个线程训练得到的训练参数值进行合并,得到合并参数值;
梯度计算模块703,用于根据该合并参数值和该初始参数值,计算该模型参数的统计梯度;
发送模块704,用于向参数服务器发送该统计梯度,使得该参数服务器根据该统计梯度对该模型参数进行更新。
本发明实施例提供的装置,通过运行多个线程,由该多个线程分别根据模型参数的初始参数值对不同的子集进行训练,得到该模型参数的训练参数值,将该多个线程训练得到的训练参数值进行合并,得到合并参数值,根据该合并参数值和该初始参数值,计算该模型参数的统计梯度,向参数服务器发送该统计梯度。与单线程地训练并求取梯度相比,本发明通过多个线程并行地对不同的子集进行训练并在合并后求取梯度,增加了训练数据的复杂度,充分地利用了计算节点的计算资源,能够将不同子集训练的梯度合并传输,而无需将不同子集训练的梯度分别传输,减少了梯度的传输,减小了网络开销。
可选地,该训练模块701用于根据该模型参数的初始参数值对分配的子集进行训练,得到该模型参数的梯度;根据该梯度对该初始参数值进行更新,得到该训练参数值。
可选地,该合并模块702用于将该多个线程训练得到的训练参数值之和作为合并参数值。
可选地,该发送模块704用于如果该统计梯度的绝对值大于0,则向该参数服务器发送该统计梯度;
该发送模块704还用于如果该统计梯度的绝对值等于0,则不再向该参数服务器发送该统计梯度。
可选地,所训练的模型包括输入层、隐层和输出层,该输出层包括由多个树节点构成的二叉树,模型参数包括该二叉树中任两个树节点之间的路径参数;
该发送模块704还用于对于该二叉树中的叶子节点,每当该叶子节点的迭代次数达到预设次数时,将该叶子节点的路径参数的统计梯度发送给该参数服务器。
可选地,不同参数服务器存储的模型参数不同;
该发送模块704还用于向该模型参数对应的参数服务器发送该统计梯度,使得该模型参数对应的参数服务器根据该统计梯度对该模型参数进行更新。
需要说明的是:上述实施例提供的模型参数训练装置在训练模型参数时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将计算节点的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的模型参数训练装置与模型参数训练方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图8是本发明实施例提供的一种服务器的结构示意图,该服务器800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)822(例如,一个或一个以上处理器)和存储器832,一个或一个以上存储应用程序842或数据844的存储介质830(例如一个或一个以上海量存储设备)。其中,存储器832和存储介质830可以是短暂存储或持久存储。存储在存储介质830的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器822可以设置为与存储介质830通信,在服务器800上执行存储介质830中的一系列指令操作。
服务器800还可以包括一个或一个以上电源826,一个或一个以上有线或无线网络接口850,一个或一个以上输入输出接口858,一个或一个以上键盘856,和/或,一个或一个以上操作系统841,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
该服务器800可以用于执行上述实施例中参数服务器或者计算节点所执行的步骤。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (14)
1.一种模型参数训练方法,其特征在于,所述方法包括:
运行多个线程,由所述多个线程分别根据模型参数的初始参数值对不同的子集进行训练,得到所述模型参数的训练参数值;
将所述多个线程训练得到的训练参数值进行合并,得到合并参数值;
根据所述合并参数值和所述初始参数值,计算所述模型参数的统计梯度;
向参数服务器发送所述统计梯度,使得所述参数服务器根据所述统计梯度对所述模型参数进行更新。
2.根据权利要求1所述的方法,其特征在于,所述根据模型参数的初始参数值对不同的子集进行训练,得到所述模型参数的训练参数值,包括:
根据所述模型参数的初始参数值对分配的子集进行训练,得到所述模型参数的梯度;
根据所述梯度对所述初始参数值进行更新,得到所述训练参数值。
3.根据权利要求1所述的方法,其特征在于,所述将所述多个线程训练得到的训练参数值进行合并,得到合并参数值,包括:
将所述多个线程训练得到的训练参数值之和作为合并参数值。
4.根据权利要求1所述的方法,其特征在于,所述向参数服务器发送所述统计梯度,包括:
如果所述统计梯度的绝对值大于0,则向所述参数服务器发送所述统计梯度;
如果所述统计梯度的绝对值等于0,则不再向所述参数服务器发送所述统计梯度。
5.根据权利要求1所述的方法,其特征在于,所训练的模型包括输入层、隐层和输出层,所述输出层包括由多个树节点构成的二叉树,模型参数包括所述二叉树中任两个树节点之间的路径参数;
向参数服务器发送所述统计梯度,包括:对于所述二叉树中的叶子节点,每当所述叶子节点的迭代次数达到预设次数时,将所述叶子节点的路径参数的统计梯度发送给所述参数服务器。
6.根据权利要求1所述的方法,其特征在于,不同参数服务器存储的模型参数不同;
所述向参数服务器发送所述统计梯度,包括:向所述模型参数对应的参数服务器发送所述统计梯度,使得所述模型参数对应的参数服务器根据所述统计梯度对所述模型参数进行更新。
7.一种模型参数训练装置,其特征在于,所述装置包括:
训练模块,用于运行多个线程,由所述多个线程分别根据模型参数的初始参数值对不同的子集进行训练,得到所述模型参数的训练参数值;
合并模块,用于将所述多个线程训练得到的训练参数值进行合并,得到合并参数值;
梯度计算模块,用于根据所述合并参数值和所述初始参数值,计算所述模型参数的统计梯度;
发送模块,用于向参数服务器发送所述统计梯度,使得所述参数服务器根据所述统计梯度对所述模型参数进行更新。
8.根据权利要求7所述的装置,其特征在于,所述训练模块用于根据所述模型参数的初始参数值对分配的子集进行训练,得到所述模型参数的梯度;根据所述梯度对所述初始参数值进行更新,得到所述训练参数值。
9.根据权利要求7所述的装置,其特征在于,所述合并模块用于将所述多个线程训练得到的训练参数值之和作为合并参数值。
10.根据权利要求7所述的装置,其特征在于,所述发送模块用于如果所述统计梯度的绝对值大于0,则向所述参数服务器发送所述统计梯度;
所述发送模块还用于如果所述统计梯度的绝对值等于0,则不再向所述参数服务器发送所述统计梯度。
11.根据权利要求7所述的装置,其特征在于,所训练的模型包括输入层、隐层和输出层,所述输出层包括由多个树节点构成的二叉树,模型参数包括所述二叉树中任两个树节点之间的路径参数;
所述发送模块还用于对于所述二叉树中的叶子节点,每当所述叶子节点的迭代次数达到预设次数时,将所述叶子节点的路径参数的统计梯度发送给所述参数服务器。
12.根据权利要求7所述的装置,其特征在于,不同参数服务器存储的模型参数不同;
所述发送模块还用于向所述模型参数对应的参数服务器发送所述统计梯度,使得所述模型参数对应的参数服务器根据所述统计梯度对所述模型参数进行更新。
13.一种模型参数训练系统,其特征在于,所述系统包括参数服务器和多个计算节点;
每个计算节点用于运行多个线程,由所述多个线程分别根据模型参数的初始参数值对不同的子集进行训练,得到所述模型参数的训练参数值;将所述多个线程训练得到的训练参数值进行合并,得到合并参数值;根据所述合并参数值和所述初始参数值,计算所述模型参数的统计梯度;向参数服务器发送所述统计梯度;
所述参数服务器用于根据计算节点发送的统计梯度对所述模型参数进行更新。
14.根据权利要求13所述的系统,其特征在于,所述系统包括多个参数服务器,不同参数服务器存储的模型参数不同。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610279143.XA CN107330516B (zh) | 2016-04-29 | 2016-04-29 | 模型参数训练方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610279143.XA CN107330516B (zh) | 2016-04-29 | 2016-04-29 | 模型参数训练方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107330516A true CN107330516A (zh) | 2017-11-07 |
CN107330516B CN107330516B (zh) | 2021-06-25 |
Family
ID=60192384
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610279143.XA Active CN107330516B (zh) | 2016-04-29 | 2016-04-29 | 模型参数训练方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107330516B (zh) |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107992906A (zh) * | 2018-01-02 | 2018-05-04 | 联想(北京)有限公司 | 一种模型处理方法、系统、终端设备及服务器 |
CN108287763A (zh) * | 2018-01-29 | 2018-07-17 | 中兴飞流信息科技有限公司 | 参数交换方法、工作节点以及参数服务器系统 |
CN108304918A (zh) * | 2018-01-18 | 2018-07-20 | 中兴飞流信息科技有限公司 | 一种数据并行的深度学习的参数交换方法和系统 |
CN108446173A (zh) * | 2018-02-27 | 2018-08-24 | 华为技术有限公司 | 一种基于Tensorflow的训练模型保存方法及驱动器、计算服务器 |
CN108491928A (zh) * | 2018-03-29 | 2018-09-04 | 腾讯科技(深圳)有限公司 | 模型参数训练方法、装置、服务器及存储介质 |
CN109145984A (zh) * | 2018-08-20 | 2019-01-04 | 联想(北京)有限公司 | 用于机器训练的方法和装置 |
CN109600255A (zh) * | 2018-12-04 | 2019-04-09 | 中山大学 | 一种去中心化的参数服务器优化算法 |
CN109635948A (zh) * | 2018-12-19 | 2019-04-16 | 北京达佳互联信息技术有限公司 | 在线训练方法、装置、系统及计算机可读存储介质 |
CN109948632A (zh) * | 2017-12-19 | 2019-06-28 | 杭州海康威视数字技术股份有限公司 | 数据训练方法、装置及系统、计算机设备 |
CN110490316A (zh) * | 2019-08-21 | 2019-11-22 | 腾讯科技(深圳)有限公司 | 基于神经网络模型训练系统的训练处理方法、训练系统 |
CN110633796A (zh) * | 2019-09-05 | 2019-12-31 | 北京达佳互联信息技术有限公司 | 模型更新方法、装置、电子设备及存储介质 |
CN110929878A (zh) * | 2019-10-30 | 2020-03-27 | 同济大学 | 一种分布式随机梯度下降方法 |
CN110995488A (zh) * | 2019-12-03 | 2020-04-10 | 电子科技大学 | 一种基于分层参数服务器的多机构协同学习系统及方法 |
CN111047050A (zh) * | 2019-12-17 | 2020-04-21 | 苏州浪潮智能科技有限公司 | 一种分布式并行训练方法、设备以及存储介质 |
WO2020114184A1 (zh) * | 2018-12-07 | 2020-06-11 | 深圳前海微众银行股份有限公司 | 联合建模方法、装置、设备以及计算机可读存储介质 |
CN111325356A (zh) * | 2019-12-10 | 2020-06-23 | 四川大学 | 一种基于演化计算的神经网络搜索分布式训练系统及训练方法 |
CN112434323A (zh) * | 2020-12-01 | 2021-03-02 | Oppo广东移动通信有限公司 | 模型参数获取方法、装置、计算机设备及存储介质 |
CN112528108A (zh) * | 2019-09-17 | 2021-03-19 | 华为技术有限公司 | 一种模型训练系统、模型训练中梯度聚合的方法及装置 |
CN112884159A (zh) * | 2019-11-30 | 2021-06-01 | 华为技术有限公司 | 模型更新系统、模型更新方法及相关设备 |
CN112884157A (zh) * | 2019-11-29 | 2021-06-01 | 北京达佳互联信息技术有限公司 | 一种模型训练方法、模型训练节点及参数服务器 |
CN112988366A (zh) * | 2019-12-12 | 2021-06-18 | 中科寒武纪科技股份有限公司 | 参数服务器、主从客户机、权值参数的处理方法及系统 |
CN114298329A (zh) * | 2021-08-05 | 2022-04-08 | 腾讯科技(深圳)有限公司 | 一种模型训练方法、装置、设备及存储介质 |
WO2022111398A1 (zh) * | 2020-11-26 | 2022-06-02 | 华为技术有限公司 | 数据模型训练方法及装置 |
CN114842837A (zh) * | 2022-07-04 | 2022-08-02 | 成都启英泰伦科技有限公司 | 一种快速声学模型训练方法 |
WO2024017283A1 (zh) * | 2022-07-22 | 2024-01-25 | 华为技术有限公司 | 一种模型训练系统、方法及相关设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1655149A (zh) * | 2004-01-23 | 2005-08-17 | 微软公司 | 经由支点数据的数据库的选择性多级扩展 |
US20130212109A1 (en) * | 2011-08-18 | 2013-08-15 | Audax Health Solutions, Inc. | Methods and apparatus for classifying content |
CN103605493A (zh) * | 2013-11-29 | 2014-02-26 | 哈尔滨工业大学深圳研究生院 | 基于图形处理单元的并行排序学习方法及系统 |
CN104463324A (zh) * | 2014-11-21 | 2015-03-25 | 长沙马沙电子科技有限公司 | 一种基于大规模高性能集群的卷积神经网络并行处理方法 |
CN104765769A (zh) * | 2015-03-06 | 2015-07-08 | 大连理工大学 | 一种基于词矢量的短文本查询扩展及检索方法 |
CN105005911A (zh) * | 2015-06-26 | 2015-10-28 | 深圳市腾讯计算机系统有限公司 | 深度神经网络的运算系统及运算方法 |
CN105184367A (zh) * | 2014-06-09 | 2015-12-23 | 讯飞智元信息科技有限公司 | 深度神经网络的模型参数训练方法及系统 |
WO2016037351A1 (en) * | 2014-09-12 | 2016-03-17 | Microsoft Corporation | Computing system for training neural networks |
-
2016
- 2016-04-29 CN CN201610279143.XA patent/CN107330516B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1655149A (zh) * | 2004-01-23 | 2005-08-17 | 微软公司 | 经由支点数据的数据库的选择性多级扩展 |
US20130212109A1 (en) * | 2011-08-18 | 2013-08-15 | Audax Health Solutions, Inc. | Methods and apparatus for classifying content |
CN103605493A (zh) * | 2013-11-29 | 2014-02-26 | 哈尔滨工业大学深圳研究生院 | 基于图形处理单元的并行排序学习方法及系统 |
CN105184367A (zh) * | 2014-06-09 | 2015-12-23 | 讯飞智元信息科技有限公司 | 深度神经网络的模型参数训练方法及系统 |
WO2016037351A1 (en) * | 2014-09-12 | 2016-03-17 | Microsoft Corporation | Computing system for training neural networks |
CN104463324A (zh) * | 2014-11-21 | 2015-03-25 | 长沙马沙电子科技有限公司 | 一种基于大规模高性能集群的卷积神经网络并行处理方法 |
CN104765769A (zh) * | 2015-03-06 | 2015-07-08 | 大连理工大学 | 一种基于词矢量的短文本查询扩展及检索方法 |
CN105005911A (zh) * | 2015-06-26 | 2015-10-28 | 深圳市腾讯计算机系统有限公司 | 深度神经网络的运算系统及运算方法 |
Non-Patent Citations (5)
Title |
---|
RIE JOHNSON等: "Effective Use ofWord Order for Text Categorization with Convolutional Neural Networks", 《ARXIV:1412.1058V2》 * |
凡保磊: "卷积神经网络的并行化研究", 《中国优秀硕士学位论文全文数据库_信息科技辑》 * |
周练: "Word2vec的工作原理及应用探究", 《科技情报开发与经济》 * |
李洪图: "中文短文本主题分类方法研究", 《中国优秀硕士学位论文全文数据库_信息科技辑》 * |
贺勇: "基于染色传播的关键词聚类算法研究", 《中国优秀硕士学位论文全文数据库_信息科技辑》 * |
Cited By (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109948632A (zh) * | 2017-12-19 | 2019-06-28 | 杭州海康威视数字技术股份有限公司 | 数据训练方法、装置及系统、计算机设备 |
CN109948632B (zh) * | 2017-12-19 | 2021-03-26 | 杭州海康威视数字技术股份有限公司 | 数据训练方法、装置及系统、计算机设备 |
CN107992906A (zh) * | 2018-01-02 | 2018-05-04 | 联想(北京)有限公司 | 一种模型处理方法、系统、终端设备及服务器 |
CN108304918B (zh) * | 2018-01-18 | 2020-08-28 | 中兴飞流信息科技有限公司 | 一种数据并行的深度学习的参数交换方法和系统 |
CN108304918A (zh) * | 2018-01-18 | 2018-07-20 | 中兴飞流信息科技有限公司 | 一种数据并行的深度学习的参数交换方法和系统 |
CN108287763A (zh) * | 2018-01-29 | 2018-07-17 | 中兴飞流信息科技有限公司 | 参数交换方法、工作节点以及参数服务器系统 |
CN108446173B (zh) * | 2018-02-27 | 2022-04-05 | 华为技术有限公司 | 一种基于Tensorflow的训练模型保存方法及驱动器、计算服务器 |
CN108446173A (zh) * | 2018-02-27 | 2018-08-24 | 华为技术有限公司 | 一种基于Tensorflow的训练模型保存方法及驱动器、计算服务器 |
CN108491928A (zh) * | 2018-03-29 | 2018-09-04 | 腾讯科技(深圳)有限公司 | 模型参数训练方法、装置、服务器及存储介质 |
CN109145984A (zh) * | 2018-08-20 | 2019-01-04 | 联想(北京)有限公司 | 用于机器训练的方法和装置 |
CN109145984B (zh) * | 2018-08-20 | 2022-03-25 | 联想(北京)有限公司 | 用于机器训练的方法和装置 |
CN109600255A (zh) * | 2018-12-04 | 2019-04-09 | 中山大学 | 一种去中心化的参数服务器优化算法 |
WO2020114184A1 (zh) * | 2018-12-07 | 2020-06-11 | 深圳前海微众银行股份有限公司 | 联合建模方法、装置、设备以及计算机可读存储介质 |
CN109635948A (zh) * | 2018-12-19 | 2019-04-16 | 北京达佳互联信息技术有限公司 | 在线训练方法、装置、系统及计算机可读存储介质 |
CN110490316B (zh) * | 2019-08-21 | 2023-01-06 | 腾讯科技(深圳)有限公司 | 基于神经网络模型训练系统的训练处理方法、训练系统 |
CN110490316A (zh) * | 2019-08-21 | 2019-11-22 | 腾讯科技(深圳)有限公司 | 基于神经网络模型训练系统的训练处理方法、训练系统 |
CN110633796A (zh) * | 2019-09-05 | 2019-12-31 | 北京达佳互联信息技术有限公司 | 模型更新方法、装置、电子设备及存储介质 |
CN110633796B (zh) * | 2019-09-05 | 2022-04-08 | 北京达佳互联信息技术有限公司 | 模型更新方法、装置、电子设备及存储介质 |
CN112528108B (zh) * | 2019-09-17 | 2023-02-07 | 华为技术有限公司 | 一种模型训练系统、模型训练中梯度聚合的方法及装置 |
CN112528108A (zh) * | 2019-09-17 | 2021-03-19 | 华为技术有限公司 | 一种模型训练系统、模型训练中梯度聚合的方法及装置 |
CN110929878B (zh) * | 2019-10-30 | 2023-07-04 | 同济大学 | 一种分布式随机梯度下降方法 |
CN110929878A (zh) * | 2019-10-30 | 2020-03-27 | 同济大学 | 一种分布式随机梯度下降方法 |
CN112884157B (zh) * | 2019-11-29 | 2024-03-26 | 北京达佳互联信息技术有限公司 | 一种模型训练方法、模型训练节点及参数服务器 |
CN112884157A (zh) * | 2019-11-29 | 2021-06-01 | 北京达佳互联信息技术有限公司 | 一种模型训练方法、模型训练节点及参数服务器 |
CN112884159A (zh) * | 2019-11-30 | 2021-06-01 | 华为技术有限公司 | 模型更新系统、模型更新方法及相关设备 |
WO2021103823A1 (zh) * | 2019-11-30 | 2021-06-03 | 华为技术有限公司 | 模型更新系统、模型更新方法及相关设备 |
CN110995488A (zh) * | 2019-12-03 | 2020-04-10 | 电子科技大学 | 一种基于分层参数服务器的多机构协同学习系统及方法 |
CN110995488B (zh) * | 2019-12-03 | 2020-11-03 | 电子科技大学 | 一种基于分层参数服务器的多机构协同学习系统及方法 |
CN111325356A (zh) * | 2019-12-10 | 2020-06-23 | 四川大学 | 一种基于演化计算的神经网络搜索分布式训练系统及训练方法 |
CN112988366A (zh) * | 2019-12-12 | 2021-06-18 | 中科寒武纪科技股份有限公司 | 参数服务器、主从客户机、权值参数的处理方法及系统 |
CN111047050A (zh) * | 2019-12-17 | 2020-04-21 | 苏州浪潮智能科技有限公司 | 一种分布式并行训练方法、设备以及存储介质 |
WO2022111398A1 (zh) * | 2020-11-26 | 2022-06-02 | 华为技术有限公司 | 数据模型训练方法及装置 |
CN112434323A (zh) * | 2020-12-01 | 2021-03-02 | Oppo广东移动通信有限公司 | 模型参数获取方法、装置、计算机设备及存储介质 |
CN114298329A (zh) * | 2021-08-05 | 2022-04-08 | 腾讯科技(深圳)有限公司 | 一种模型训练方法、装置、设备及存储介质 |
CN114842837B (zh) * | 2022-07-04 | 2022-09-02 | 成都启英泰伦科技有限公司 | 一种快速声学模型训练方法 |
CN114842837A (zh) * | 2022-07-04 | 2022-08-02 | 成都启英泰伦科技有限公司 | 一种快速声学模型训练方法 |
WO2024017283A1 (zh) * | 2022-07-22 | 2024-01-25 | 华为技术有限公司 | 一种模型训练系统、方法及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN107330516B (zh) | 2021-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107330516A (zh) | 模型参数训练方法、装置及系统 | |
CN106297774B (zh) | 一种神经网络声学模型的分布式并行训练方法及系统 | |
CN109951438A (zh) | 一种分布式深度学习的通信优化方法及系统 | |
CN110533183A (zh) | 一种流水线分布式深度学习中异构网络感知的模型划分与任务放置方法 | |
US20200090073A1 (en) | Method and apparatus for generating machine learning model | |
CN108268638A (zh) | 一种基于Spark框架的生成对抗网络分布式实现方法 | |
CN112784968A (zh) | 一种加速分布式深度神经网络训练的混合流水线并行方法 | |
CN109492753A (zh) | 一种去中心化的随机梯度下降的方法 | |
CN103150596A (zh) | 一种反向传播神经网络dnn的训练系统 | |
CN107085743A (zh) | 一种基于国产众核处理器的深度学习算法实现方法与平台 | |
CN106445915A (zh) | 一种新词发现方法及装置 | |
CN110187965A (zh) | 神经网络的运行优化及数据处理方法、设备及存储介质 | |
CN109635922A (zh) | 一种分布式深度学习参数量化通信优化方法及系统 | |
CN115437795B (zh) | 一种异构gpu集群负载感知的显存重计算优化方法及系统 | |
CN108984483B (zh) | 基于dag及矩阵重排的电力系统稀疏矩阵求解方法和系统 | |
CN103020258A (zh) | 一种采用多核集群的lda模型的训练方法及系统 | |
CN110942138A (zh) | 一种混合内存环境下深度神经网络的训练方法和系统 | |
CN113469372A (zh) | 强化学习训练方法、装置、电子设备以及存储介质 | |
CN115085202A (zh) | 电网多区域智能功率协同优化方法、装置、设备及介质 | |
CN115437760A (zh) | 计算资源分配方法、电子设备、存储介质及程序产品 | |
CN106845991A (zh) | 一种规则处理方法和设备 | |
Guo et al. | AccUDNN: A GPU memory efficient accelerator for training ultra-deep neural networks | |
CN111695701B (zh) | 基于联邦学习实现数据集构建处理的系统及其构建生成方法 | |
CN104731709B (zh) | 一种基于jcudasa_bp算法的软件缺陷预测方法 | |
CN105335135B (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 |