CN107784364A - 机器学习模型的异步训练 - Google Patents
机器学习模型的异步训练 Download PDFInfo
- Publication number
- CN107784364A CN107784364A CN201610730381.8A CN201610730381A CN107784364A CN 107784364 A CN107784364 A CN 107784364A CN 201610730381 A CN201610730381 A CN 201610730381A CN 107784364 A CN107784364 A CN 107784364A
- Authority
- CN
- China
- Prior art keywords
- value
- parameter set
- rate
- currency
- working machine
- 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
-
- 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
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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
-
- 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/04—Architecture, e.g. interconnection topology
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开的实施例涉及机器学习模型的异步训练。服务器从工作机接收通过对机器学习模型进行训练而生成的反馈数据。这些反馈数据是工作机利用自己的训练数据获得的,并且与该机器学习模型的参数集在这个特定工作机处的先前值相关联。服务器确定所述先前值与参数集在服务器处的当前值之间的差异。这个当前值可能是由于其他工作机的操作而经过了一次或多次的更新。继而,服务器可以基于反馈数据和参数集的值之间的差异,来更新参数集的当前值。由此,这种更新不仅考虑了每个工作机的训练结果,还对不同工作机之间的延迟做出了适当的补偿。
Description
背景技术
机器学习在诸如语音识别、计算机视觉和自然语言处理等诸多领域具有广泛的应用。例如,深度神经网络(Deep Neural Networks,DNN)在大数据和强大的计算资源的基础上,能够并行训练具有多个层级、多个参数的机器学习模型。在训练阶段,需要根据给定的训练数据集和优化目标,对模型的一个或多个参数进行训练。例如,对于神经网络的训练而言,可以采用随机梯度下降方法。
已知可以将训练数据集分布在多个工作机之间。这些工作机利用各自的训练数据对模型参数进行优化,并且将其结果返回给一个中央服务器。然而,分布式或者说异步模型训练的核心问题在于各个工作机之间的不匹配。例如,当一个工作机返回其参数更新时,服务器处的模型参数可能已经被其他工作机更新了一次或多次。因此,在机器学习模型的异步训练中,期望降低或者消除这种延迟或失配。
发明内容
传统的所有方案均基于这样的理论认识,即,各个工作机之间的延迟或不匹配是由不同工作机之间的性能和/或服务器与不同工作机之间通信不完全一致等原因所导致。因此,传统方案的关注点都在于通过优化调度等方法减小延迟。然而发明人通过研究发现,这种延迟实际上是异步架构所固有的,不可能通过优化调度而被消除。因此,本公开的实施例旨在对不同工作机之间的延迟进行适当的补偿,而不是去尝试消除这种延迟,这从工作原理和机制上都显著不同于任何已知方案。
总体上,根据本公开的实施例,服务器从工作机接收通过对机器学习模型进行训练而生成的反馈数据。这些反馈数据是工作机利用自己的训练数据获得的,并且与该机器学习模型的参数集在这个特定工作机处的先前值相关联。服务器确定所述先前值与参数集在服务器处的当前值之间的差异。将会理解,这个当前值可能是由于其他工作机的操作而经过了一次或多次的更新。继而,服务器可以基于反馈数据和参数集的值之间的差异,来更新参数集的当前值。由此,这种更新不仅考虑了每个工作机的训练结果,还对不同工作机之间的延迟做出了适当的补偿。实践已经证明,与强行试图消除延迟的传统方案相比,本公开的实施例能够显著降低不同工作机之间的不匹配,实现对机器学习模型的有效而高效的异步训练。
提供发明内容部分是为了简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识要求保护的主题的关键特征或主要特征,也无意限制要求保护的主题的范围。
附图说明
图1示出了能够实施本公开的实施例的环境的方框图;
图2示出了根据本公开的实施例的用于训练模型的方法的流程图;
图3A-图3D示出了根据本公开的实施例的方案与传统方案之间的性能比较图;
图4A-图4D示出了根据本公开的实施例的方案与传统方案之间的性能比较图;以及
图5示出了其中可以实施本公开的一个或多个实施例的计算系统/服务器的框图。
这些附图中,相同或相似参考符号用于表示相同或相似元素。
具体实施方式
现在将参照若干实施例来论述本公开。应当理解,论述了这些实施例仅是为了使得本领域普通技术人员能够更好地理解且因此实现本公开,而不是暗示对本公开的范围的任何限制。
如本文中所使用的,术语“包括”及其变体要被解读为意味着“包括但不限于”的开放式术语。术语“基于”要被解读为“至少部分地基于”。术语“实施例”和“一个实施例”要被解读为“至少一个实施例”。术语“另一个实施例”要被解读为“至少一个其他实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
异步训练架构
图1示出了能够在其中实施本公开的实施例的并行计算环境100的框图。要理解的是,仅出于示例性的目的描述环境100的结构和功能而不是暗示对于本公开的范围的任何限制。本公开可以被体现在不同的结构和/或功能中。
并行计算环境100包括服务器102、工作机(worker)104和工作机106。应当理解,图1所示的服务器和工作机的数目仅仅是出于说明之目的而无意于限制,可以存在任意适当数目的服务器和工作机。例如,在参数服务器框架中,服务器102可以由多个服务器分布式实现。在一些实施例中,工作机104和106等可以由一个或者多个图形处理单元(GPU)或GPU集群来实现。
在操作中,每个工作机具有各自的训练数据。例如,每个工作的训练数据可以是训练数据全集的一个子集。对于每个工作机而言,训练数据的子集可以通过从训练数据全集随机取样获得。根据预先设定的优化目标,各个工作机独立地对模型进行训练,并且将其结果返回给服务器102。服务器102根据各个工作机104、106的反馈结果来更新模型的参数,最终使其满足优化目标。如上所述,在这个过程中,不同工作机104、106之间的延迟和不匹配,是制约训练效果的主要瓶颈。
基本原理
为了更清楚地描述本公开,以下结合基于神经网络模型的多分类学习进行描述。然而,应当理解,本公开的概念可以应用于各种适当的机器学习模型中,特别是神经网络模型。
在多分类问题中,可以使用表示输入空间,使用表示输出空间,使用表示空间上的联合底层分布,其中,d表示输入空间的维度,表示实数集,而K表示输出空间的类别的数量。
在训练过程中,通常需要提供包括多个数据的训练集{(x1,y1),...,(xS,yS)},其中S表示训练集的元素的数目。训练集中的每个元素包括一对输入和输出,其可以视为从分布中通过独立同分布(i.i.d.)采样获得的,例如,元素(x1,y1)表示由输入x1和输出y1组成的数据。训练的总体目标是基于训练集来学习神经网络模型其中表示从空间到实数的映射空间。然而,应当理解,此处所使用的术语“训练”还可以指代训练过程的一部分。该模型的参数集可以由n维的实向量表示,即其中n为自然数。也就是说,参数集中可以包括一个或者多个参数。为了简单起见,有时也可以将参数集称为参数或参数向量。
神经网络模型通常具有层级结构,其中每个节点对上一层的连接节点进行线性组合和非线性激活。模型参数表示两层之间的边的权重。神经网络模型对于每个输入产生输出向量,即:表示该输入属于不同类别的可能性。
因为底层分布是未知的,常见的用于学习或训练模型的方法是最小化损失函数。损失函数是优化目标的一种形式。备选地,也可以通过最大化效用函数来训练模型。效用函数通常具有其等价的损失函数的形式,例如,可以由损失函数的相反数表示。因此,为了简化起见,以下主要结合损失函数来描述本公开的实施例。
损失函数可以表示用于模型优化的整体的损失的度量,其中损失可以表示误分类误差等各种因素。深度神经网络常用的损失函数是交叉熵损失函数,其被定义为:
其中,I表示指示函数,log表示对数函数,表示Softmax运算。Softmax操作是本领域中公知的,其被广泛应用在多类别学习问题中常见的操作,因而不再赘述。
在最小化经验损失函数的过程中,通常需要对w设置初始值,然后根据训练数据迭代地改变w,直到收敛到使得损失函数最小化的参数值w。
如上所述,在同步随机梯度下降方法中,各个工作机(例如,工作机104和106)基于各自小批量(mini-batch)的数据计算梯度,并且将这些梯度添加到全局模型中。通过设置屏障,各个局部工作机彼此等待直到来自所有局部工作机的梯度都被添加到全局模型。然而,由于屏障的设置,模型的训练速度由最慢的工作机决定。为了改进训练效率,可以使用异步随机梯度下降方法。在异步随机梯度下降方法中,不使用屏障,在一个工作机在向全局模型添加其梯度之后,继续训练过程,而无需等待。因此,异步随机梯度下降方法由于没有等待时间而具有比同步随机梯度下降方法更高的效率。
图1所示的计算环境100可以用于实施异步随机梯度下降方法。在时间t,工作机104从服务器102接收模型参数wt。例如,工作机104可以向服务器102发送针对当前的模型参数的请求。服务器102在接收到该请求之后,向工作机104发送模型参数wt。然后,工作机104根据数据xt计算局部梯度g(wt)。工作机可以从其他服务器接收数据xt,数据xt可以从训练集中随机采样而获得。数据xt的数目可以是一个或多个,本公开在此不受限制。应当理解,术语“随机梯度”不仅包含针对一个数据xt进行训练的情形,而且还包括针对多个数据xt进行训练的情形,后者有时也称为小批量(mini-batch)梯度。
在工作机104处,通过计算可以获得局部梯度g(wt)。例如,可以通过将数据xt输入梯度g(wt)的表达式即可获得g(wt)的值。工作机104然后将该梯度发送到服务器102,由服务器102将局部梯度g(wt)添加到全局模型参数。然而,如图1所示,在此之前,另外个工作机可能已经将其局部梯度加到全局模型参数中,使得全局模型参数已经被更新了次,已经变为传统的异步随机梯度下降算法忽视了这个问题,简单地将局部梯度g(wt)添加到全局模型参数
其中η表示学习率,该等式通常称为更新规则。可以看出,异步随机梯度下降方法的更新规则与顺序随机梯度下降方法(也称为,单机版随机梯度下降方法)的更新规则不等价。在异步随机梯度下降方法中,实际上将“延迟”或“过期”的局部梯度g(wt)添加到当前的全局模型参数而在顺序随机梯度下降方法中,应当基于相对于的梯度来更新全局模型参数
传统理论认为,异步随机梯度下降方法需要更多的迭代来达到与顺序随机梯度下降方法相同的精度。甚至在一些情况下,异步随机梯度下降方法无法获得与顺序随机梯度方法相同的精度,特别是当工作机的数目很大时。现在存在多种方法来解决异步随机梯度下降方法中的问题。在一些方案中,通过设置各种调度策略来减少局部梯度的延迟。在一些方案中,向延迟较大的局部梯度设置较小的权重,向延迟较小的局部梯度设置较大的权重。作为另一示例,将延迟大于一定阈值的局部梯度抛弃,等等。然而,这些方法都没有充分利用各个局部梯度,一定程度地浪费了计算资源。
传统的理解认为这种延迟是由不同工作机之间的性能和/或服务器与不同工作机之间通信不完全一致所导致的,因此通过优化调度等方法减小延迟。然而,发明人认识到这种理解是不确切的。延迟是异步架构所固有的,不可能被完全消除。如图1所示,在将局部梯度g(wt)添加到全局模型参数时,必定存在次延迟。因此,根据本公开的实施例,在异步模型训练中,不同工作机的延迟(例如,梯度的延迟)被适当地补偿,而不是去尝试减小延迟。
示例过程
以上结合图1描述了根据本公开的实施例的原理。应当理解,该原理可以很容易地扩展到应用异步随机梯度下降方法的任何适当的模型和场景。下面将参考图2来描述本公开实施例的示例过程。为描述方便起见,对图2的描述仍将结合图1的计算环境100来展开。
在202,服务器102在时间t从工作机104接收针对模型参数的当前值wt的请求。由于模型参数通常由多个参数表示,因而也可以称为参数集。响应于该请求,服务器102向工作机104发送模型参数的当前值wt。在一些实施例中,时间t可以由计数表示,例如,全局模型参数wt每更新一次,时间t递增一个计数。
因而,工作机104在从服务器102获取全局模型参数的当前值wt。此外,工作机104还可以从托管数据集的服务器等设备接收一个或多个训练数据xt。训练数据的数目也称为小批量的大小,取决于用户设置。在一些实施例中,训练数据可以从数据集随机采样获得。
工作机104通过对模型进行训练而生成反馈数据。该反馈数据与模型参数的当前值wt相关联。工作机104所执行的训练过程可以只是模型的整个训练过程的一部分。作为示例,在一些实施例中,反馈数据指示该模型的优化目标相对于模型参数的当前值wt的显著变化趋势。例如,在一些实施例中,显著变化趋势可以是最大的变化趋势,并且由此可以由优化目标相对于模型参数的当前值wt的梯度g(wt)来表示。
特别地,应当注意,本公开的范围并不限于对“显著变化趋势”或者其他任何物理量的数学表征方式。所采用的数学表征(例如,数学量、表达式、公式等等)都仅仅是作为示例被加以描述,其唯一目的是帮助本领域技术人员理解本公开的思想和实现方式。
如上所述,优化目标可以由损失函数表示,因此,为了讨论方便,仍然参考损失函数来加以讨论。工作机104可以根据训练数据集来计算损失函数在参数的当前值wt处的局部梯度g(wt)。对于很多常见的损失函数,局部梯度g(wt)具有显式表达式,因而将训练数据输入该表达式即可获得局部梯度g(wt)的值。在这种情况下,由工作机104所执行的训练过程仅仅是基于该显式表达式确定局部g(wt),也即模型的整个训练过程的一部分。
然后,工作机104将该反馈数据(例如,局部梯度g(wt))发送回服务器102。在一些实施例中,当工作机104从服务器102获取全局模型参数的当前值wt时,服务器102存储模型参数的当前值wt作为备份模型参数wbak(m),其中m表示工作机104的标识。
如图1所示,在时间t+τ,服务器104从工作机104接收到通过对模型进行训练而生成的反馈数据,例如局部梯度g(wt)。此时,模型参数的当前值已经更新为因而该反馈数据在一些实施例中实质上表示模型的优化目标相对于模型参数的先前值wt的显著变化趋势。
仍然参考图2,在204,服务器102可以确定模型参数的先前值wt与当前值之间的差异。在206,服务器102基于反馈数据和该差异来更新模型参数的当前值从而获得模型参数的更新值wt+τ+1。
在一些实施例中,先前的模型参数可以是如上所述的作为备份模型参数wbak(m)存储的模型参数wt。模型参数的更新量,即参数的更新值wt+τ+1与当前值之间的差量,可以视为模型参数的当前值与先前值wt之间的差异的变换。在一些实施例中,可以基于显著变化趋势来确定这一变换的系数,并且通过向该差异应用这一变换而确定模型参数的当前值与更新值之间的差量,即,模型参数的更新量。通过在当前值上应用这一更新量,就可以获得参数集的更新值wt+τ+1。例如,该变换可以是线性变换,并且该变换的系数可以是线性变化率。当然其他任何适当的变换也都是可行的。
为了讨论方便,下面仍然参考异步随机梯度下降方法来加以讨论。但请再一次注意,这仅仅是为了阐释本公开的原理和思想,无意以任何方式限制本公开的范围。
在理想情况下,异步随机梯度下降方法应当与顺序随机梯度下降方法相同将梯度添加到全局模型参数然而,异步随机梯度下降方法将延迟梯度g(wt)添加到全局模型参数
可以通过泰勒展开来阐述这一差距。例如,在wt处的泰勒展开可以表示为:
其中 In表示n维单位向量,并且使用花写O符号表示2阶以上的高阶项。
从等式(3)可以看出,异步随机梯度方法使用泰勒展开的零阶项作为梯度的近似,而忽略了其他所有项。因此,如果弥补延迟梯度g(wt)与梯度之间的差距,则可以将所有其他项考虑在内,并分别进行计算。然而,这是不切实际的,因为其涉及计算无穷多个项的和。根据本公开的实施例,只保留泰勒展开的零阶和一阶项,仅对延迟梯度进行最简单的补偿:
梯度的一阶导数反映了梯度的变化率,并且对应于损失函数(例如,由等式(1)所表示的交叉熵损失函数)的二阶导数。梯度的一阶导数可以由黑塞(Hessian)矩阵表示。黑塞矩阵可以如下定义:Hf(w)=[hij]i,j=1,…,n,其中
由此,通过将公式(4)与公式(2)的更新规则相结合,就可以确定对参数的更新量。该更新量有两项组成,第一项是延迟梯度与学习率的乘积,第二项是补偿项。因此,参数的更新量可以视为参数集的当前值与先前值wt之间的差异的线性变换,而线性变化率为学习率与黑塞矩阵的乘积。由于学习率是可以预定义的经验参数,因而线性变化率可以认为与黑塞矩阵等价。
然而,尽管在某些实施例中可以直接计算黑塞矩阵,但这个过程可能是困难的。例如,对于具有一百万个参数的神经网络模型,相应的黑塞矩阵将具有一万亿个元素。因此,获得如此巨大矩阵的计算复杂度非常高,并且这样的矩阵也需要占据较大的存储空间。因而,在另一些实施例中,使用相对容易计算和/或存储的近似来近似黑塞矩阵,使得延迟补偿更容易实施。
例如,在一些实施例中,期望可以基于反馈数据(例如,梯度g(wt))来获得其一阶导数(例如,黑塞矩阵Hf(w))的近似。以这种方式,不会显著增加计算复杂度。
为了讨论方便,假设该模型是神经网络模型,并且其优化目标由神经网络模型中常见的交叉熵损失函数表示。由此,对于交叉熵损失函数假设Y是满足分布的离散随机变量,其中k∈{1,2,...,K},则可以证明:
其中表示向量的外积(outer product)或称张量积,表示在Y满足分布的情况下损失函数相对于模型参数的二阶导数的期望值,表示在在Y满足分布的情况下,损失函数相对于模型参数的一阶导数的外积的期望值。为了简洁起见,具体的证明过程不再详细描述。
对于交叉熵损失函数,由于 因此Gf(x,y,w)是Hf(x,Y,w)的无偏估计,其中Gf(w)表示梯度向量g(w)的外积矩阵,也即,Gf(w)=[gij]i,j=1,…,n,其中gij表示矩阵Gf(w)的元素。如上所述,由于黑塞矩阵可以视为参数更新线性变换的线性变化率,因而可以将张量积作为对线性变化率的无偏估计。
矩阵Gf(w)可以通过针对梯度向量g(w)执行张量积运算来获得。由于张量积运算具有较低的计算复杂度,因而可以显著降低计算成本。此外,在这样的实施例中,通过利用线性变换来等效地替换黑塞矩阵,可以避免使用附加的存储空间来存储附加的变量,并且不会对存储空间带来大量的需求。
应当理解,尽管此处针对交叉熵损失函数说明梯度向量g(w)的外积矩阵是黑塞矩阵的无偏估计,但是可以很容易将该结论应用于其他损失函数或者优化目标,只要这种估计的误差在可接受的容差范围之内即可。
然而,由于黑塞矩阵的无偏估计没有考虑方差的影响,可能导致对黑塞矩阵具有较高的近似误差。因此,在一些实施例中,可以同时考虑偏差和方差。例如,可以使用均方误差来表征近似的质量。
在一些实施例中,为了减小方差,可以使用对黑塞矩阵的进一步的近似其中符号表示定义,λ1表示控制参数。为了简化符号,对于所有的σk,将的范围表示为[li,ui],并且定义以及
对于交叉熵损失函数,可以证明:如果控制参数λ1满足:sign(λ1)=sign(gij),并且则近似器的均方误差小于近似器gij的均方误差,其中sign表示符号函数。因此,通过适当地设置λ1,可以实现比gij更小的均方误差。
应当理解,上述近似仅仅是示例性的,无意限制本公开的范围。例如,在又一些实施例中,为了减小方差,可以使用黑塞矩阵的另一近似其中λ2表示控制参数。
对于交叉熵损失函数,可以证明:如果λ2∈[0,1],并且σk满足则近似λ2gij的均方误差小于近似gij的均方误差。因此,通过适当地设置λ2,λ2gij可以实现比gij更小的均方误差。
以上结论给出了针对交叉熵损失函数而言,控制参数λ1和λ2的范围,然而应当理解,针对其他损失函数而言,也可以存在相应的适当范围。此外,在具体实施过程中,控制参数λ1和λ2的范围可以在比较宽的范围内根据经验和具体实施情况进行设置。
近似和λ2Gf(w)可以基于局部梯度g(wt)非常容易地进行计算,实现近似的偏差和方差之间的良好的权衡。由此,可以以更加经济的方式来计算黑塞矩阵。
进一步地,在一些实施例中,可以基于梯度g(wt)确定损失函数相对于参数集中各个参数的导数的量值,导数的量值表示导数的大小或绝对值。继而,可以基于导数的量值来确定线性变化率。下面分别结合近似和λ2Gf(w)来描述进一步的具体的实施例。
在一些实施例中,可以仅使用黑塞矩阵的近似的对角元素。因此,全局模型参数的更新规则变为:
其完全等价于:
其中diag表示取矩阵的对角元素,⊙表示逐元素相乘,并且等式(6)和(7)是完全等价的两种表示形式。
根据等式(7),可以基于梯度g(wt)确定损失函数相对于参数集中的每个参数的导数的量值(magnitude)。在数学上,导数的量值可以通过其绝对值来表示。在一些实施例中,可以直接使用各个导数的量值来确定线性变化率,进而确定补偿项。换言之,可以将梯度g(wt)的每个元素的绝对值所组成的向量作为线性变化率,线性变化率与补偿项之间最多相差一个调整参数,例如学习率η与控制参数λ2的乘积。由于绝对值运算具有非常低的计算复杂度,因而可以显著降低计算成本。此外,无需附加的存储空间来存储附加的变量,并不会对存储空间带来附加的需求。
备选地,在另一些实施例中,可以仅使用黑塞矩阵的近似λ2Gf(w)的对角元素。因此,全局模型参数的更新规则变为:
其完全等价于:
根据等式(9),可以基于梯度g(wt)确定损失函数相对于参数集中的每个参数的导数的平方,并且可以基于各个导数的平方直接地确定线性变化率,进而确定补偿项。换言之,在这样的实施例中,可以将梯度g(wt)的每个元素的绝对值的平方(而不是绝对值本身)所组成的向量作为线性变化率,线性变化率与补偿项之间最多相差一个调整参数,例如学习率η与控制参数λ2的乘积。由于平方运算具有非常低的计算复杂度,因而可以显著降低计算成本。此外,无需附加的存储空间来存储附加的变量,并不会对存储空间带来附加的需求。
由于学习率η随着模型的训练过程的进行可能不断减小,因而可能需要相应地调整控制参数。由上面的更新规则可以看出,由于补偿项的系数本身受控制参数与学习率的乘积影响。在一些实施例中,控制参数被调整使得控制参数与学习率的乘积基本上保持不变。因而,在这种情况下,也可以认为补偿项的总体控制参数保持不变。
在一些实施例中,如图1所示,在模型参数由更新到wt+τ+1时,服务器102可以自动地向工作机104发送更新后的模型参数。备选地或者附加地,服务器102也可以响应于来自工作机104的针对模型参数的请求将更新后的模型参数wt+τ+1发送给工作机104。
根据本公开的实施例,相对于传统的异步随机梯度下降方法,工作机(例如,工作机104和/或106)可以不需要附加的计算,即只需进行局部梯度g(wt)的计算。此外,服务器102也只需要附加地进行计算复杂度不太高的计算。即使在需要计算外积矩阵Gf(w)的近似中,也只需要进行向量的外积运算。在仅考虑和λ2Gf(w)的对角元素的近似下,计算复杂度被进一步降低。
对于每个工作机,服务器102只需要存储各个备份模型参数wbak(m),其中m可以是1、2、……、M,M表示工作机的总数。然而,这通常不会影响或降低系统性能。在一些实施例中,服务器102以分布式方式实现,因此,其可用的存储空间远远超过单个机器的容量。备选地或附加地,工作机(例如,工作机104和/或106)可以在向服务器102发送梯度的同时发送其相应的全局参数。以这种方式,不需要在服务器102侧部署大容量的存储空间,但是工作机(例如,工作机104和/或106)与服务器之间的通信成本会翻倍。
实验和性能
图3A-图3D和图4A-图4D示出了根据本公开的实施例的方案与传统方案之间的性能比较图。图3A-图3D和图4A-图4D的测试是在CIFAR-10数据集上进行的。对于所有的方法,进行了60次迭代,其中小批量的大小是128,最初的学习率是0.5,在80和120次迭代之后分别减小到先前值的十分之一。根据本公开的实施例,所设置的控制参数λ1和λ2最初分别是2和0.04,并且随着学习率的变化而增加到先前值的十倍。
图3A-图3D其示出了固定数目的有效传送(effective pass)的收敛曲线。顺序随机梯度下降方法(SGD)实现最佳的训练精度,并且最终的测试误差是8.75%。异步随机梯度下降方法(Async SGD)和同步随机梯度下降方法(Sync SGD)的性能都不太好,其测试误差随着工作机的数量的增加而增加。在4个工作机的情况下(M=4),两者的测试误差分别是9.39%和9.35%。在8个工作机的情况下(M=8),两者的测试误差分别是10.4%和10.1%。这是因为异步随机梯度下降方法受延迟梯度的影响,延迟梯度随着工作机的数目的增加而变得愈发严重。同步随机梯度下降方法需要增加小批量的大小,从而影响模型的训练性能。作为对比,在根据本公开的实施例的延迟补偿的随机梯度下降方法(DC-ASGD)中,两个近似(即,基于梯度外积的对角元素的近似λ1|g|和λ2g⊙g)的性能都显著优于异步随机梯度下降方法和同步随机梯度下降方法,并且几乎赶上顺序随机梯度下降方法。例如,在4个工作机的情况下,延迟补偿的随机梯度下降方法的测试误差是8.69%,与顺序随机梯度下降方法的测试误差基本不可区分。在8个工作机的情况下,延迟补偿的随机梯度下降方法的测试误差可以被降低到9.27%,其显著优于传统的异步随机梯度下降方法和同步随机梯度下降方法。
图4A-图4D示出了根据本公开的实施例的方案与传统方案之间的收敛速度的比较图。异步随机梯度下降方法的收敛速度很快,与顺序随机梯度下降方法相比几乎实现了线性加速,但是收敛点不太好。同步随机梯度下降方法也比顺序随机梯度下降方法更快,但是由于同步成本,显著慢于异步随机梯度下降方法。延迟补偿异步随机梯度下降方法在精度和速度之间实现了非常好的平衡。其收敛速度非常类似于传统的异步随机梯度下降方法,并且收敛点与顺序随机梯度下降方法基本上一样好。
示例设备
图5示出了其中可以实施本文所描述主题的一个或多个实施例的示例计算系统/服务器500的框图。模型估计系统50、模型执行系统120或者两者可以由计算系统/服务器500实现。图5示出的计算系统/服务器500仅是示例,其不应当构成对本文所描述的实现的使用的功能和范围的限制。
如图5所示,计算系统/服务器500是通用计算设备的形式。计算系统/服务器500的组件可以包括但不限于一个或多个处理器或处理单元500,存储器520,一个或多个输入设备530,一个或多个输出设备540,存储装置550,和一个或多个通信单元560。处理单元500可以是实际或虚拟处理器并且能够根据存储器520中存储的持续来执行各种处理。在多处理系统中,多处理单元执行计算机可执行指令,以增加处理能力。
计算系统/服务器500通常包括多个计算机介质。这样的介质可以是计算系统/服务器500可访问的任何可以获得的介质,包括但不限于易失性和非易失性介质、可拆卸和不可拆卸介质。存储器520可以是易失性存储器(例如寄存器、高速缓存、随机访问存储器(RAM))、非非易失性存储器(例如,只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存)或它们的某种组合。存储装置550可以是可拆卸或不可拆卸,并且可以包括机器可读介质,诸如闪存驱动、磁盘或者任何其他介质,其可以能够用于存储信息并且可以在计算系统/服务器500内被访问。
计算系统/服务器500可以进一步包括另外的可拆卸/不可拆卸、易失性/非易失性计算机系统存储介质。尽管未在图5中示出,可以提供用于从可拆卸、非易失性磁盘(例如“软盘”)进行读取或写入的磁盘驱动和用于从可拆卸、非易失性光盘进行读取或写入的光盘驱动。在这些情况中,每个驱动可以由一个或多个数据介质接口被连接至总线18。存储器520可以包括至少一个程序产品,具有(例如至少一个)程序模块集合,这些程序模块被配置为执行本文所描述的各种实施例的功能。
具有一个或多个程序模块524的集合的程序/实用程序工具522可以被存储在例如存储器520中。这样的程序模块524可以包括但不限于操作系统、一个或多个应用程序、其他程序模块和操作数据。这些示例中的每个示例或特定组合可以包括联网环境的实现。程序模块524通常执行本文所描述的主题的实施例的功能和/或方法,例如方法200。
输入单元530可以是一个或多个各种输入设备。例如,输入单元539可以包括用户设备、诸如鼠标、键盘、追踪球等。通信单元560实现在通信介质上向另外的计算实体进行通信。附加地,计算系统/服务器500的组件的功能可以以单个计算集群或多个计算机器来实现,这些计算机器能够通过通信连接来通信。因此,计算系统/服务器500可以使用与一个或多个其他服务器、网络个人计算机(PC)或者另一个一般网络节点的逻辑连接来在联网环境中进行操作。例如但不限于,通信介质包括有线或无线联网技术。
计算系统/服务器500还可以根据需要与一个或多个外部设备(未示出)进行通信,外部设备诸如存储设备、显示设备等等,与一个或多个使得用户与计算系统/服务器500交互的设备进行通信,或者与使得计算系统/服务器500与一个或多个其他计算设备通信的任何设备(例如,网卡、调制解调器等)进行通信。这样的通信可以经由输入/输出(I/O)接口(未示出)来执行。
本文中所描述的功能可以至少部分地由一个或多个硬件逻辑组件来执行。例如但不限于,可以使用的硬件逻辑组件的示意性类型包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑器件(CPLD)等。
用于实施本文所描述的主题的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开内容的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本文所描述的主题的范围的限制。在单独的实现的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
示例实现
以下列出了本公开的一些示例实现。
在一些实施例中,提供了一种计算机实现的方法。该方法包括:从工作机接收通过对机器学习模型进行训练而生成的反馈数据,反馈数据与机器学习模型的参数集在工作机处的先前值相关联;确定先前值与参数集的当前值之间的差异;以及基于反馈数据和差异,更新当前值以获得参数集的更新值。
在一些实施例中,反馈数据指示机器学习模型的优化目标相对于参数集的先前值的显著变化趋势。
在一些实施例中,更新当前值包括:基于显著变化趋势来确定变换的系数;以及通过向差异应用变换来确定当前值与更新值之间的差量。
在一些实施例中,变换是线性变换,系数是线性变化率,并且显著变化趋势由优化目标相对于参数集的先前值的梯度来表示。
在一些实施例中,确定变换的系数包括:计算梯度的张量积作为对线性变化率的无偏估计。
在一些实施例中,确定变换的系数包括:基于梯度确定优化目标相对于参数集中各个参数的变化率的量值;以及
基于变化率的量值来确定线性变化率。
在一些实施例中,基于变化率的量值来确定线性变化率包括:计算变化率的量值的平方;以及基于变化率的量值的平方来确定线性变化率。
在一些实施例中,该方法还包括:从工作机接收针对参数集的请求;以及响应于请求,向工作机发送参数集的更新值。
在一些实施例中,机器学习模型包括神经网络模型,并且优化目标由交叉熵损失函数表示。
在一些实施例中,提供了一种设备。该设备包括:处理单元;存储器,耦合至处理单元并且存储有指令,指令在由处理单元执行时执行以下动作:从工作机接收通过对机器学习模型进行训练而生成的反馈数据,反馈数据与机器学习模型的参数集在工作机处的先前值相关联;确定先前值与参数集的当前值之间的差异;以及基于反馈数据和差异,更新当前值以获得参数集的更新值。
在一些实施例中,反馈数据指示机器学习模型的优化目标相对于参数集的先前值的显著变化趋势。
在一些实施例中,更新当前值包括:基于显著变化趋势来确定变换的系数;以及通过向差异应用变换来确定当前值与更新值之间的差量。
在一些实施例中,变换是线性变换,系数是线性变化率,并且显著变化趋势由优化目标相对于参数集的先前值的梯度来表示。
在一些实施例中,确定变换的系数包括:计算梯度的张量积作为对线性变化率的无偏估计。
在一些实施例中,确定变换的系数包括:基于梯度确定优化目标相对于参数集中各个参数的变化率的量值;以及
基于变化率的量值来确定线性变化率。
在一些实施例中,基于变化率的量值来确定线性变化率包括:计算变化率的量值的平方;以及基于变化率的量值的平方来确定线性变化率。
在一些实施例中,动作还包括:从工作机接收针对参数集的请求;以及响应于请求,向工作机发送参数集的更新值。
在一些实施例中,机器学习模型包括神经网络模型,并且优化目标由交叉熵损失函数表示。
在一些实施例中,提供了一种计算机程序产品。该计算机程序产品存储在非瞬态计算机存储介质中并且包括机器可执行指令,机器可执行指令在设备中运行时,使得设备:从工作机接收通过对机器学习模型进行训练而生成的反馈数据,反馈数据与机器学习模型的参数集在工作机处的先前值相关联;确定先前值与参数集的当前值之间的差异;以及基于反馈数据和差异,更新当前值以获得参数集的更新值。
在一些实施例中,反馈数据指示机器学习模型的优化目标相对于参数集的先前值的显著变化趋势。
在一些实施例中,更新当前值包括:基于显著变化趋势来确定变换的系数;以及通过向差异应用变换来确定当前值与更新值之间的差量。
在一些实施例中,变换是线性变换,系数是线性变化率,并且显著变化趋势由优化目标相对于参数集的先前值的梯度来表示。
在一些实施例中,确定变换的系数包括:计算梯度的张量积作为对线性变化率的无偏估计。
在一些实施例中,确定变换的系数包括:基于梯度确定优化目标相对于参数集中各个参数的变化率的量值;以及
基于变化率的量值来确定线性变化率。
在一些实施例中,基于变化率的量值来确定线性变化率包括:计算变化率的量值的平方;以及基于变化率的量值的平方来确定线性变化率。
在一些实施例中,机器可执行指令还使得设备:从工作机接收针对参数集的请求;以及响应于请求,向工作机发送参数集的更新值。
在一些实施例中,机器学习模型包括神经网络模型,并且优化目标由交叉熵损失函数表示。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本公开,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
Claims (20)
1.一种计算机实现的方法,包括:
从工作机接收通过对机器学习模型进行训练而生成的反馈数据,所述反馈数据与所述机器学习模型的参数集在所述工作机处的先前值相关联;
确定所述先前值与所述参数集的当前值之间的差异;以及
基于所述反馈数据和所述差异,更新所述当前值以获得所述参数集的更新值。
2.根据权利要求1所述的方法,其中所述反馈数据指示所述机器学习模型的优化目标相对于所述参数集的所述先前值的显著变化趋势。
3.根据权利要求2所述的方法,其中更新所述当前值包括:
基于所述显著变化趋势来确定变换的系数;以及
通过向所述差异应用所述变换来确定所述当前值与所述更新值之间的差量。
4.根据权利要求3所述的方法,其中所述变换是线性变换,所述系数是线性变化率,并且所述显著变化趋势由所述优化目标相对于所述参数集的所述先前值的梯度来表示。
5.根据权利要求4所述的方法,其中确定所述变换的系数包括:
计算所述梯度的张量积作为对所述线性变化率的无偏估计。
6.根据权利要求4所述的方法,其中确定所述变换的系数包括:
基于所述梯度确定所述优化目标相对于所述参数集中各个参数的变化率的量值;以及
基于所述变化率的量值来确定所述线性变化率。
7.根据权利要求6所述的方法,其中基于所述变化率的量值来确定所述线性变化率包括:
计算所述变化率的量值的平方;以及
基于所述变化率的量值的平方来确定所述线性变化率。
8.根据权利要求1所述的方法,还包括:
从所述工作机接收针对所述参数集的请求;以及
响应于所述请求,向所述工作机发送所述参数集的所述更新值。
9.根据权利要求1所述的方法,其中所述机器学习模型包括神经网络模型,并且所述优化目标由交叉熵损失函数表示。
10.一种电子设备,包括:
处理单元;
存储器,耦合至所述处理单元并且存储有指令,所述指令在由所述处理单元执行时执行以下动作:
从工作机接收通过对机器学习模型进行训练而生成的反馈数据,所述反馈数据与所述机器学习模型的参数集在所述工作机处的先前值相关联;
确定所述先前值与所述参数集的当前值之间的差异;以及
基于所述反馈数据和所述差异,更新所述当前值以获得所述参数集的更新值。
11.根据权利要求10所述的设备,其中所述反馈数据指示所述机器学习模型的优化目标相对于所述参数集的所述先前值的显著变化趋势。
12.根据权利要求11所述的设备,其中更新所述当前值包括:
基于所述显著变化趋势来确定变换的系数;以及
通过向所述差异应用所述变换来确定所述当前值与所述更新值之间的差量。
13.根据权利要求12所述的设备,其中所述变换是线性变换,所述系数是线性变化率,并且所述显著变化趋势由所述优化目标相对于所述参数集的所述先前值的梯度来表示。
14.根据权利要求13所述的设备,其中确定所述变换的系数包括:
计算所述梯度的张量积作为对所述线性变化率的无偏估计。
15.根据权利要求13所述的设备,其中确定所述变换的系数包括:
基于所述梯度确定所述优化目标相对于所述参数集中各个参数的变化率的量值;以及
基于所述变化率的量值来确定所述线性变化率。
16.根据权利要求15所述的设备,其中基于所述变化率的量值来确定所述线性变化率包括:
计算所述变化率的量值的平方;以及
基于所述变化率的量值的平方来确定所述线性变化率。
17.根据权利要求10所述的设备,所述动作还包括:
从所述工作机接收针对所述参数集的请求;以及
响应于所述请求,向所述工作机发送所述参数集的所述更新值。
18.根据权利要求10所述的设备,其中所述机器学习模型包括神经网络模型,并且所述优化目标由交叉熵损失函数表示。
19.一种计算机程序产品,存储在非瞬态计算机存储介质中并且包括机器可执行指令,所述机器可执行指令在设备中运行时,使得所述设备:
从工作机接收通过对机器学习模型进行训练而生成的反馈数据,所述反馈数据与所述机器学习模型的参数集在所述工作机处的先前值相关联;
确定所述先前值与所述参数集的当前值之间的差异;以及
基于所述反馈数据和所述差异,更新所述当前值以获得所述参数集的更新值。
20.根据权利要求19所述的计算机程序产品,其中所述反馈数据指示所述机器学习模型的优化目标相对于所述参数集的所述先前值的显著变化趋势。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610730381.8A CN107784364B (zh) | 2016-08-25 | 2016-08-25 | 机器学习模型的异步训练 |
PCT/US2017/047247 WO2018039011A1 (en) | 2016-08-25 | 2017-08-17 | Asychronous training of machine learning model |
EP17758721.9A EP3504666B1 (en) | 2016-08-25 | 2017-08-17 | Asychronous training of machine learning model |
US16/327,679 US20190197404A1 (en) | 2016-08-25 | 2017-08-17 | Asychronous training of machine learning model |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610730381.8A CN107784364B (zh) | 2016-08-25 | 2016-08-25 | 机器学习模型的异步训练 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107784364A true CN107784364A (zh) | 2018-03-09 |
CN107784364B CN107784364B (zh) | 2021-06-15 |
Family
ID=59738469
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610730381.8A Active CN107784364B (zh) | 2016-08-25 | 2016-08-25 | 机器学习模型的异步训练 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20190197404A1 (zh) |
EP (1) | EP3504666B1 (zh) |
CN (1) | CN107784364B (zh) |
WO (1) | WO2018039011A1 (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108803348A (zh) * | 2018-08-03 | 2018-11-13 | 北京深度奇点科技有限公司 | 一种pid参数的优化方法及pid参数的优化装置 |
CN109032630A (zh) * | 2018-06-29 | 2018-12-18 | 电子科技大学 | 一种参数服务器中全局参数的更新方法 |
CN109102075A (zh) * | 2018-07-26 | 2018-12-28 | 联想(北京)有限公司 | 一种分布式训练中的梯度更新方法及相关设备 |
CN109460826A (zh) * | 2018-10-31 | 2019-03-12 | 北京字节跳动网络技术有限公司 | 用于分发数据的方法、装置和模型更新系统 |
CN109508785A (zh) * | 2018-10-29 | 2019-03-22 | 清华大学 | 一种用于神经网络训练的异步并行优化方法 |
CN110070116A (zh) * | 2019-04-08 | 2019-07-30 | 云南大学 | 基于深度树状训练策略的分段式选择集成图像分类方法 |
CN110322020A (zh) * | 2018-03-28 | 2019-10-11 | 国际商业机器公司 | 分布式随机梯度下降的自适应学习率调度 |
CN110689137A (zh) * | 2019-09-24 | 2020-01-14 | 网易传媒科技(北京)有限公司 | 参数确定方法、系统、介质和电子设备 |
CN112906792A (zh) * | 2021-02-22 | 2021-06-04 | 中国科学技术大学 | 基于众核处理器的图像识别模型快速训练方法及系统 |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109643347A (zh) * | 2016-08-11 | 2019-04-16 | 推特公司 | 检测与社交媒体平台的脚本化或其他异常交互 |
US11182674B2 (en) * | 2017-03-17 | 2021-11-23 | International Business Machines Corporation | Model training by discarding relatively less relevant parameters |
JP6886112B2 (ja) * | 2017-10-04 | 2021-06-16 | 富士通株式会社 | 学習プログラム、学習装置及び学習方法 |
US11669914B2 (en) | 2018-05-06 | 2023-06-06 | Strong Force TX Portfolio 2018, LLC | Adaptive intelligence and shared infrastructure lending transaction enablement platform responsive to crowd sourced information |
US11544782B2 (en) | 2018-05-06 | 2023-01-03 | Strong Force TX Portfolio 2018, LLC | System and method of a smart contract and distributed ledger platform with blockchain custody service |
US11550299B2 (en) | 2020-02-03 | 2023-01-10 | Strong Force TX Portfolio 2018, LLC | Automated robotic process selection and configuration |
CA3098670A1 (en) | 2018-05-06 | 2019-11-14 | Strong Force TX Portfolio 2018, LLC | Methods and systems for improving machines and systems that automate execution of distributed ledger and other transactions in spot and forward markets for energy, compute, storage and other resources |
US11715010B2 (en) * | 2019-08-16 | 2023-08-01 | Google Llc | Cross replica reduction on networks having degraded nodes |
EP4022553A4 (en) * | 2019-08-30 | 2023-08-23 | Tata Consultancy Services Limited | SYSTEM AND PROCEDURES FOR HANDLING POPULARITY BIAS IN ARTICLE RECOMMENDATIONS |
US11982993B2 (en) | 2020-02-03 | 2024-05-14 | Strong Force TX Portfolio 2018, LLC | AI solution selection for an automated robotic process |
CN111814965A (zh) * | 2020-08-14 | 2020-10-23 | Oppo广东移动通信有限公司 | 超参数调整方法、装置、设备及存储介质 |
US20220076130A1 (en) * | 2020-08-31 | 2022-03-10 | International Business Machines Corporation | Deep surrogate langevin sampling for multi-objective constraint black box optimization with applications to optimal inverse design problems |
US11829799B2 (en) | 2020-10-13 | 2023-11-28 | International Business Machines Corporation | Distributed resource-aware training of machine learning pipelines |
CN117151239A (zh) * | 2023-03-17 | 2023-12-01 | 荣耀终端有限公司 | 梯度更新方法及相关装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030009742A1 (en) * | 2000-12-06 | 2003-01-09 | Bass Michael D. | Automated job training and performance tool |
US8027938B1 (en) * | 2007-03-26 | 2011-09-27 | Google Inc. | Discriminative training in machine learning |
US20140379386A1 (en) * | 2013-06-25 | 2014-12-25 | Arthur Paul Drennan, III | System and method for evaluating text to support multiple insurance applications |
CN104346214A (zh) * | 2013-07-30 | 2015-02-11 | 中国银联股份有限公司 | 用于分布式环境的异步任务管理装置及方法 |
CN105022699A (zh) * | 2015-07-14 | 2015-11-04 | 惠龙易通国际物流股份有限公司 | 缓存区数据的预处理方法及系统 |
US9269057B1 (en) * | 2013-12-11 | 2016-02-23 | Google, Inc. | Using specialized workers to improve performance in machine learning |
CN105683944A (zh) * | 2013-11-04 | 2016-06-15 | 谷歌公司 | 用于机器学习架构中的分层训练的系统和方法 |
CN105825269A (zh) * | 2016-03-15 | 2016-08-03 | 中国科学院计算技术研究所 | 一种基于并行自动编码机的特征学习方法及系统 |
CN105894087A (zh) * | 2015-01-26 | 2016-08-24 | 华为技术有限公司 | 用于神经网络中训练参数集的系统和方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10152676B1 (en) * | 2013-11-22 | 2018-12-11 | Amazon Technologies, Inc. | Distributed training of models using stochastic gradient descent |
-
2016
- 2016-08-25 CN CN201610730381.8A patent/CN107784364B/zh active Active
-
2017
- 2017-08-17 EP EP17758721.9A patent/EP3504666B1/en active Active
- 2017-08-17 WO PCT/US2017/047247 patent/WO2018039011A1/en unknown
- 2017-08-17 US US16/327,679 patent/US20190197404A1/en active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030009742A1 (en) * | 2000-12-06 | 2003-01-09 | Bass Michael D. | Automated job training and performance tool |
US8027938B1 (en) * | 2007-03-26 | 2011-09-27 | Google Inc. | Discriminative training in machine learning |
US20140379386A1 (en) * | 2013-06-25 | 2014-12-25 | Arthur Paul Drennan, III | System and method for evaluating text to support multiple insurance applications |
CN104346214A (zh) * | 2013-07-30 | 2015-02-11 | 中国银联股份有限公司 | 用于分布式环境的异步任务管理装置及方法 |
CN105683944A (zh) * | 2013-11-04 | 2016-06-15 | 谷歌公司 | 用于机器学习架构中的分层训练的系统和方法 |
US9269057B1 (en) * | 2013-12-11 | 2016-02-23 | Google, Inc. | Using specialized workers to improve performance in machine learning |
CN105894087A (zh) * | 2015-01-26 | 2016-08-24 | 华为技术有限公司 | 用于神经网络中训练参数集的系统和方法 |
CN105022699A (zh) * | 2015-07-14 | 2015-11-04 | 惠龙易通国际物流股份有限公司 | 缓存区数据的预处理方法及系统 |
CN105825269A (zh) * | 2016-03-15 | 2016-08-03 | 中国科学院计算技术研究所 | 一种基于并行自动编码机的特征学习方法及系统 |
Non-Patent Citations (1)
Title |
---|
QI MENG等: ""Asynchronous Accelerated Stochastic Gradient Descent"", 《PROCEEDINGS OF THE TWENTY-FIFTH INTERNATIONAL JOINT CONFERENCE ON ARTIFICIAL INTELLIGENCE (IJCAI-16)》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110322020A (zh) * | 2018-03-28 | 2019-10-11 | 国际商业机器公司 | 分布式随机梯度下降的自适应学习率调度 |
CN110322020B (zh) * | 2018-03-28 | 2023-05-12 | 国际商业机器公司 | 分布式随机梯度下降的自适应学习率调度 |
CN109032630A (zh) * | 2018-06-29 | 2018-12-18 | 电子科技大学 | 一种参数服务器中全局参数的更新方法 |
CN109102075A (zh) * | 2018-07-26 | 2018-12-28 | 联想(北京)有限公司 | 一种分布式训练中的梯度更新方法及相关设备 |
CN108803348A (zh) * | 2018-08-03 | 2018-11-13 | 北京深度奇点科技有限公司 | 一种pid参数的优化方法及pid参数的优化装置 |
CN108803348B (zh) * | 2018-08-03 | 2021-07-13 | 北京深度奇点科技有限公司 | 一种pid参数的优化方法及pid参数的优化装置 |
CN109508785A (zh) * | 2018-10-29 | 2019-03-22 | 清华大学 | 一种用于神经网络训练的异步并行优化方法 |
CN109460826A (zh) * | 2018-10-31 | 2019-03-12 | 北京字节跳动网络技术有限公司 | 用于分发数据的方法、装置和模型更新系统 |
CN110070116A (zh) * | 2019-04-08 | 2019-07-30 | 云南大学 | 基于深度树状训练策略的分段式选择集成图像分类方法 |
CN110070116B (zh) * | 2019-04-08 | 2022-09-20 | 云南大学 | 基于深度树状训练策略的分段式选择集成图像分类方法 |
CN110689137A (zh) * | 2019-09-24 | 2020-01-14 | 网易传媒科技(北京)有限公司 | 参数确定方法、系统、介质和电子设备 |
CN112906792A (zh) * | 2021-02-22 | 2021-06-04 | 中国科学技术大学 | 基于众核处理器的图像识别模型快速训练方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
US20190197404A1 (en) | 2019-06-27 |
EP3504666B1 (en) | 2021-02-17 |
WO2018039011A1 (en) | 2018-03-01 |
CN107784364B (zh) | 2021-06-15 |
EP3504666A1 (en) | 2019-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107784364A (zh) | 机器学习模型的异步训练 | |
Jørgensen et al. | Exploiting the causal tensor network structure of quantum processes to efficiently simulate non-Markovian path integrals | |
Binois et al. | Practical heteroscedastic Gaussian process modeling for large simulation experiments | |
Xue et al. | Amortized finite element analysis for fast pde-constrained optimization | |
Ferdinand et al. | Anytime stochastic gradient descent: A time to hear from all the workers | |
EP2680157B1 (en) | Co-simulation procedures using full derivatives of output variables | |
Wang et al. | Reduced-order deep learning for flow dynamics. The interplay between deep learning and model reduction | |
Kallrath | Polylithic modeling and solution approaches using algebraic modeling systems | |
Korondi et al. | Multi-fidelity design optimisation strategy under uncertainty with limited computational budget | |
CN114840322A (zh) | 任务调度方法及装置、电子设备和存储 | |
Tang et al. | DAS: A deep adaptive sampling method for solving partial differential equations | |
CN113377964B (zh) | 知识图谱链接预测方法、装置、设备及存储介质 | |
Kaneda et al. | A deep conjugate direction method for iteratively solving linear systems | |
CN113508404A (zh) | 用于量子电路模拟器的设备和方法 | |
CN110009091A (zh) | 学习网络在等价类空间中的优化 | |
Javed et al. | Random neural network learning heuristics | |
Borchardt | Newton-type decomposition methods in large-scale dynamic process simulation | |
Borovska et al. | Searchless Intelligent System of Modern Production Control | |
Chang et al. | Designing a Framework for Solving Multiobjective Simulation Optimization Problems | |
Hoda et al. | A gradient-based approach for computing Nash equilibria of large sequential games | |
Charlier et al. | VecHGrad for solving accurately complex tensor decomposition | |
Wu et al. | Finding quantum many-body ground states with artificial neural network | |
Mendivil et al. | Optimization of artificial neural network architectures for time series prediction using parallel genetic algorithms | |
Bienz | Reducing communication in sparse solvers | |
CN114330147B (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 |