CN110322020B - 分布式随机梯度下降的自适应学习率调度 - Google Patents

分布式随机梯度下降的自适应学习率调度 Download PDF

Info

Publication number
CN110322020B
CN110322020B CN201910165129.0A CN201910165129A CN110322020B CN 110322020 B CN110322020 B CN 110322020B CN 201910165129 A CN201910165129 A CN 201910165129A CN 110322020 B CN110322020 B CN 110322020B
Authority
CN
China
Prior art keywords
computer
processing job
state
model learner
parameter set
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.)
Active
Application number
CN201910165129.0A
Other languages
English (en)
Other versions
CN110322020A (zh
Inventor
P·杜贝
S·杜塔
G·乔希
P·A·纳格普卡
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN110322020A publication Critical patent/CN110322020A/zh
Application granted granted Critical
Publication of CN110322020B publication Critical patent/CN110322020B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/285Selection of pattern recognition techniques, e.g. of classifiers in a multi-classifier system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/08Computing arrangements based on specific mathematical models using chaos models or non-linear system models

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Nonlinear Science (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)
  • Electrically Operated Instructional Devices (AREA)

Abstract

本发明涉及分布式随机梯度下降的自适应学习率调度。用于执行机器学习的方法包括使用中央参数服务器向多个模型学习器分配分配处理作业。处理作业包括基于当前参数集求解梯度。在返回来自处理作业的结果时,参数集被迭代。基于作业被分配时的参数集与作业被返回时的参数集之间的差异,来确定第二梯度的求解的陈旧性程度。用以基于求解的梯度对参数进行迭代的学习率与确定的陈旧性程度成比例。

Description

分布式随机梯度下降的自适应学习率调度
技术领域
本发明涉及分布式随机梯度下降(SGD),更具体地说,涉及分布式SGD中的自适应学习率调度。
背景技术
随机梯度下降(SGD)是一种用于最小化目标函数的方法。可以在机器学习中使用SGD以迭代目标函数,以便将错误最小化并从而增加所构建的模型中的正确性。传统上,使用对训练数据串行工作的单个处理器来执行SGD。但是,由于训练数据量很大,等待单个处理器的速度可能会非常慢。
发明内容
一种用于执行机器学习的方法包括使用中央参数服务器向第一模型学习器(learner)分配第一处理作业。第一处理作业包括基于第一状态的参数集求解第一梯度。使用中央参数服务器向第二模型学习器分配第二处理作业。第二处理作业包括基于第一状态的参数集求解第二梯度。在第一模型学习器中执行第一处理作业。基于第一处理作业的执行的结果,将参数集从第一状态迭代到第二状态。在第二模型学习器中执行第二处理作业。基于第一处理作业的执行的结果,将参数集从第一状态迭代到第三状态。基于第一状态的参数集和第三状态的参数集之间的差异,来确定第二梯度的求解的陈旧性程度。基于第二处理作业的执行的结果和与所确定的陈旧性程度成比例的学习率,将参数集从第二状态迭代到第四状态。
用于执行机器学习器的系统包括中央参数服务器,其被配置为异步地分配处理作业和管理参数集。多个模型学习器与中央参数服务器通信,并且被配置为接收分配的处理作业和参数集并从中求解梯度。中央参数服务器还被配置为针对每个分配的处理作业设置与对应的陈旧性程度成反比的学习率。
用于执行随机梯度下降的计算机程序产品包括计算机可读存储介质,其具有与其一起体现的程序指令。程序指令由计算机可执行以使计算机通过计算机向第一模型学习器分配第一处理作业。第一处理作业包括基于第一状态的参数集求解第一梯度。通过计算机向第二模型学习器分配第二处理作业。第二处理作业包括基于第一状态的参数集求解第二梯度。在第一模型学习器中执行第一处理作业。基于第一处理作业的执行结果,通过计算机将参数集从第一状态迭代到第二状态。在第二模型学习器中执行第二处理作业。基于第一处理作业的执行结果,通过计算机将参数集从第一状态迭代到第三状态。通过计算机基于第一状态的参数集和第三状态的参数集之间的差异,确定第二梯度的求解的陈旧性程度。通过计算机基于第二处理作业的执行结果和与所确定的陈旧性程度成比例的学习率,将参数集从第二状态迭代到第四状态。
附图说明
当结合附图考虑时,通过参考以下详细描述,将更好理解本发明及其许多附带方面的更完整的理解,其中:
图1是图示出根据本发明示例性实施例的用于执行分布式随机梯度下降的装置的示意图;
图2是图示出根据本发明示例性实施例的用于执行分布式SGD的方法的流程图;
图3是图示出根据本发明示例性实施例的用于根据梯度陈旧性来更新目标函数参数的方法的流程图;以及
图4示出了根据本公开的实施例的能够实现该方法和装置的计算机系统的示例。
具体实施方式
在描述附图中所图示的本发明的示例性实施例时,为了清楚起见采用了特定的术语。然而,本发明并不旨在限于该说明或任何特定术语,并且应理解,每个元件包括所有等同物。
本发明的示例性实施例可以利用分布式方法来执行随机梯度下降(SGD),其中中央参数服务器(PS)被用来将SGD作为多个学习器机器过程梯度并行地管理。参数服务器基于所处理的梯度的结果来更新模型参数,然后学习器机器在处理后续的梯度中可以使用更新的模型参数。在这个意义上,随机梯度下降是以分布式的方式执行的,并且因此该过程可以被称为分布式随机梯度下降。
在执行分布式SGD时,学习器机器可以被配置为以同步或异步方式操作。在同步操作时,仍然可以串行处理训练数据,其中一个学习器机器等待另一机器的结果。特别是对于扩展数据集而言,这种方法可能很慢。异步操作可以极大地加速该过程,因为非常大量的学习器机器可以各自独立地处理梯度,而不必等待彼此的输出。然而,当异步操作时,可能出现的问题是,当一个学习器机器求解梯度时,梯度可能是陈旧的。陈旧梯度是基于一组过时的参数的梯度。参数可以响应于由学习器机器所执行的梯度的求解而发展,并且因此当一个学习器机器返回对梯度的求解(基于过时参数)时,可以说所求解的梯度是陈旧的。虽然本发明的示例性实施例可以拒绝陈旧的梯度,但是高度并行化的模型学习可能导致非常大量的陈旧梯度并且拒绝所有陈旧的梯度可能是低效的。
因此,本发明的示例性实施例可以在返回梯度时评估每个梯度的陈旧水平,然后利用具有权重的每个梯度,该权重根据梯度的陈旧性的程度来减小每个梯度的影响。因此,较陈旧的梯度可以对参数更新具有较小的影响,而较不陈旧的梯度可以对参数更新具有较大的影响。
然而,本发明的示例性实施例不需要应用二元权重,其中陈旧的梯度对参数更新完全没有贡献,并且非陈旧的梯度被赋予全部权重,而是可以应用滑动缩放(slidingscale)使得陈旧的梯度仍然被用来对梯度的更新做贡献,只是权重小于较不陈旧的梯度。
图1是图示出根据本发明示例性实施例的用于执行分布式随机梯度下降的装置的示意图。输入/输出接口11可以被用来与中央参数服务器交互。中央参数服务器12可以是被分派有管理机器学习和更新参数的机器。因此,中央参数服务器可以向多个模型学习器13a-13f中的每一个发送梯度(这里统称为“13”)。
输入/输出接口11可以是向中央参数服务器12分派有特定计算机学习作业并随后从中央参数服务器12取回计算机学习作业的结果的机器。
模型学习器13可以并行处理梯度并将结果传递回中央参数服务器12,中央参数服务器12可以基于根据陈旧性度量进行加权的处理的梯度来更新参数。
模型学习器可以被实例化为独立的机器,诸如13a、13b和13f中所示。这些独立的机器可以与中央参数服务器12直接通信,诸如13a和13b中所示,或者可以经由诸如因特网的计算机网络15来与中央参数服务器12通信,诸如13F中所示。可替代地,每个模型学习器可以是在托管多个虚拟机的服务器14上运行的虚拟机的实例,诸如13c,13d和13e中所示。
在确定陈旧性度量时,可以将当前参数与模型学习器在计算梯度时所使用的参数进行比较。因此,可以存储递送给每个模型学习器的参数集,使得可以在已经计算出梯度之后进行该比较。中央参数服务器12可以被配置为存储当梯度被发送到模型学习器时的参数,例如,存储在存储单元16b内。可替代地,可以将这些参数存储在模型学习器13a内,例如,存储在存储单元16a内,使得它们可以在由模型学习器已经计算出梯度之后与梯度结果一起被传递回中央参数服务器12。在任一种方法中,将最新近的参数存储在中央参数服务器12内,例如,存储在存储单元16b内。存储单元16a和16b可以被实例化为闪存设备、片上高速缓存等。
图2是图示出根据本发明示例性实施例的用于执行分布式SGD的方法的流程图。首先,中央参数服务器可以为多个模型学习器生成并行处理作业(步骤S21)。这些处理作业可以包括作为分布式SGD的一部分的梯度处理。接下来,中央参数服务器可以向各种模型学习器分配生成的处理作业,并且当中央参数服务器向每个模型学习器分配这些作业时,中央参数服务器也可以将最新近的参数集传递给模型学习器(步骤S22)。如上所讨论的,可以存储作业分配时参数服务器的状态,以供以后用于评估中央处理服务器或模型学习器的陈旧性。
由于可能存在各自并行处理梯度的多个模型学习器,所以中央处理服务器可以为每个可用模型学习器处理单元生成处理作业(步骤S23a、步骤S23b和步骤S23c,这里统称为“步骤S23”)。可以异步地生成这些处理作业,也就是说,可以独立地分配作业而无需等待完成一个作业作为分配另一个作业的先决条件。
如上所讨论的,由于模型学习器处理单元可以被实例化为在远程服务器上运行的虚拟机、容器等,所以模型学习器可以被实现为云计算服务,诸如由微软公司开发的MICROSOFT AZURE、由亚马逊有限公司开发的AMAZON WEB(AWS)、或由谷歌有限责任公司开发的GOOGLE CLOUD PLATFORM(GOOGLE云平台)。
在接收到其作业分配时,每个模型学习器可以基于其从中央处理服务器接收的参数集来处理其梯度(步骤S24a、步骤S24b和步骤S24c,这里统称为“步骤S24”)。
在完成其相应的分配作业之后,每个模型学习器然后可以将其处理的梯度传递回中央处理服务器,并且中央处理服务器可以接收这些处理的梯度,异步地(例如,当它们被接收时),可以通过比较由模型学习器使用来计算梯度的参数(存储在模型学习器或中央处理服务器中,如上)来计算梯度陈旧性,并且可以基于计算出的梯度以与所测量的参数陈旧性成反比的方式更新参数(步骤S25a、步骤S25b和步骤S25c,这里统称为“步骤S25”)。
中央处理服务器可以在它们变得可用时一直继续向模型学习器分配处理作业(步骤S22)。例如,当所有作业都被处理时,已经分析了所有训练数据,可以认为目标函数被最小化,并且此后在执行其指定的任务时可以使用目标函数。例如,目标函数可以被用来解释语音命令,并且机器学习可以被用来最小化目标函数中的错误,从而可以更准确地解释语音命令。
然而,即使在其被用来执行其指定任务时,也可以无限期地继续执行对目标函数的最小化。在这方面,也可以继续改进目标函数即使在其处于使用时也是如此。
如上,本发明的示例性实施例可以执行异步分布式SGD而不拒绝陈旧的梯度,这会趋于缓慢且低效,并且不会以相同的权重对待所有梯度,这将导致较不太有效的计算机学习。本发明的示例性实施例可以通过根据陈旧性对梯度进行加权,来有效地利用所有梯度。以这种方式,本方法可以具有改进的速度、改进的效率和改进的功效。
图3是图示出了根据本发明示例性实施例的用于根据梯度陈旧性来更新目标函数参数的方法的流程图。在模型学习器处理了分配给它的梯度作业之后(图2的步骤S24),中央参数服务器从模型学习器接收处理的梯度(步骤S31)。然后,中央参数服务器比较由模型学习器使用的参数,来利用最新近更新的参数(步骤S32)来处理梯度。虽然中央参数服务器可以知道最新近更新的参数,并且自己已经计算出了它们,但是中央参数服务器可以以两种方式之一查找由模型学习器使用的参数:由模型服务器使用的参数可以从中央参数服务器的存储器中取回(步骤S33a),该存储器可以存储在作业分配时的这些参数;或者由模型服务器使用的参数可以从模型学习器的存储器中取回(步骤S33b)。在任一情况下,步骤S32的比较结果可以是确定由模型服务器使用的参数过时的程度(例如,陈旧性)。
可以将参数表达为参数矢量w,其中在给定时间t处的参数矢量表示为wt。因此,wτ(t)表示相对于时间迭代的参数矢量。将目标函数F表达为参数的函数,例如,F(w)或F(wτ(t)),其表示迭代的目标函数。可以将步长(学习率)表达为η,或者表达为相对于特定时间的ηt
因此,本发明的示例性实施例可以通过求解等式来计算更新的参数:
Figure BDA0001986033560000071
其中,将最新近的参数矢量表达为wt+1(指示参数矢量的值作为计算的梯度的结果),并且它被定义为:在作业分配处给予模型学习器的原始参数矢量wt(陈旧参数)减去相对于时间的步长乘以由模型学习器针对在原始时间处为迭代的参数矢量计算的目标函数的梯度。
以这种方式,参数矢量根据计算出的梯度来更新。
此外,学习率η取决于迭代,迭代可以用时间(例如ηt)项或第j次迭代(例如ηt)的项来表达,也就是说,学习率特定于计算出的梯度。由于可以计算学习率以便与参数矢量已经改变的程度成反比,所以例如可以使用以下等式:
Figure BDA0001986033560000072
这里C是预定常数并且τ(j)≤j。
因此,学习率与真实陈旧性成反比,真实陈旧性被定义为陈旧参数和当前参数之差的平方范数。
因此,根据本发明的示例性实施例,中央参数服务器可以计算学习率ηt或ηj,例如如上(步骤S34),然后中央参数服务器根据处理的梯度
Figure BDA0001986033560000073
和计算的学习率,计算更新的参数wt+1,例如如上(步骤S35)。
图4图示出了根据本发明的一些实施例的系统的另一示例。作为概述,本发明的一些实施例可以以在一个或多个(例如,“云”)计算机系统上运行的软件应用的形式来实现,计算机系统例如(一个或多个)主机、(一个或多个)个人计算机(PC)、(一个或多个)手持式计算机、(一个或多个)客户机、(一个或多个)服务器,对等设备等。可以将软件应用实现为存储在计算机可读存储介质(在下面详细讨论)上的计算机可读/可执行指令这,其可以由计算机系统在本地访问和/或经由到例如局域网或因特网之类的网络的硬连线或无线连接远程访问。
现在参考图4,计算机系统(通常称为系统1000)可以包括例如处理器例如中央处理单元(CPU)1001、存储器1004例如随机存取存储器(RAM)、打印机接口1010、显示单元1011、局域网(LAN)数据传输控制器1005(其可操作地耦合到LAN接口1006,LAN接口1006可以进一步耦合到LAN)、可以提供与公共交换电话网络的通信(PSTN)的网络控制器1003、一个或多个输入设备1009例如键盘、鼠标等、以及用于可操作地连接各种子系统/组件的总线1002。如图所示,系统1000也可以经由链路1007连接到非易失性数据存储,例如硬盘1008。
在一些实施例中,软件应用存储在存储器1004中,当由CPU 1001执行时,使得系统执行根据本发明的一些实施例的计算机实现的方法,例如,参考图2和图3所描述的方法的一个或多个特征。
本发明可以是以任何可能的技术细节集成级别的系统、方法和/或计算机程序产品。该计算机程序产品可以包括计算机可读存储介质(或媒体),其上具有计算机可读程序指令以用于使处理器执行本发明的各方面。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是——但不限于——电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、用于集成电路的配置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其他可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其他可编程数据处理装置、或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
这里描述的示例性实施例是说明性的,并且在不脱离本发明的精神或所附权利要求的范围的情况下可以引入许多变型。例如,在本发明和所附权利要求的范围内,不同示例性实施例的元件和/或特征可以彼此组合和/或彼此替换。

Claims (20)

1.一种用于执行机器学习的方法,包括:
使用中央参数服务器向第一模型学习器分配第一处理作业,其中所述第一处理作业包括基于第一状态的参数集求解第一梯度;
使用所述中央参数服务器向第二模型学习器分配第二处理作业,其中所述第二处理作业包括基于所述第一状态的所述参数集求解第二梯度;
在所述第一模型学习器中执行所述第一处理作业;
基于所述第一处理作业的所述执行的结果,将所述参数集从所述第一状态迭代到第二状态;
在所述第二模型学习器中执行所述第二处理作业;
基于所述第二处理作业的所述执行的所述结果,将所述参数集从所述第一状态迭代到第三状态;
基于所述第一状态的所述参数集和所述第三状态的所述参数集之间的差异,来确定所述第二梯度的求解的陈旧性程度;以及
基于所述第二处理作业的所述执行的结果和与确定的所述陈旧性程度成比例的学习率,将所述参数集从所述第三状态迭代到第四状态。
2.根据权利要求1所述的方法,还包括:
使用所述中央参数服务器向第三模型学习器分配第三处理作业,其中所述第三处理作业包括基于所述第三处理作业被分配的时刻的当前状态的所述参数集来求解第三梯度;
在所述第三模型学习器中执行所述第三处理作业;
基于所述第三处理作业被分配的时刻的所述当前状态的所述参数集与所述第三处理作业被完成的时刻的当前状态的所述参数集之间的差异,确定所述第三梯度的求解的后续陈旧性程度;以及
基于所述第三处理作业的所述执行的所述结果和与确定的所述后续陈旧性程度成比例的学习率,将所述参数集从所述第三处理作业被完成的时刻的所述当前状态迭代到后续状态。
3.根据权利要求1所述的方法,其中所述第一模型学习器与所述第二模型学习器不同。
4.根据权利要求2所述的方法,其中所述第一模型学习器、所述第二模型学习器和所述第三模型学习器彼此不同。
5.根据权利要求2所述的方法,其中所述第一模型学习器与所述第二模型学习器不同,并且所述第三模型学习器与所述第一模型学习器或所述第二模型学习器相同。
6.根据权利要求1所述的方法,其中所述中央参数服务器异步地分配所述第一处理作业和所述第二处理作业。
7.根据权利要求1所述的方法,其中所述中央参数服务器本地地存储所述第一状态的所述参数集。
8.根据权利要求1所述的方法,其中所述第一模型学习器本地地存储所述第一状态的所述参数集。
9.根据权利要求1所述的方法,其中所述第一模型学习器是计算机。
10.根据权利要求1所述的方法,其中所述第一模型学习器是托管在计算机上的虚拟机。
11.根据权利要求1所述的方法,其中所述第一模型学习器通过因特网与所述中央参数服务器通信。
12.一种用于执行机器学习器的系统,包括:
中央参数服务器,所述中央参数服务器被配置为异步地分配处理作业并且管理参数集;以及
多个模型学习器,所述多个模型学习器与所述中央参数服务器通信,并且被配置为接收被分配的处理作业和所述参数集并且从中求解梯度,
其中所述中央参数服务器还被配置为:为被分配的处理作业中的每个处理作业设置与对应的陈旧性程度成反比的学习率,
其中所述中央参数服务器还被配置为基于当每个处理作业被分配时所述参数集的状态与当每个处理作业被完成时所述参数集的状态之间的差异,来计算所述陈旧性程度。
13.根据权利要求12所述的系统,其中所述中央参数服务器包括用于在每个处理作业被分配时存储所述参数集的状态的存储器模块。
14.根据权利要求12所述的系统,其中所述多个模型服务器中的每个模型服务器包括用于在每个处理作业被分配时存储所述参数集的状态的存储器模块。
15.根据权利要求12所述的系统,其中所述多个模型学习器中的每个模型学习器是单独的计算机。
16.根据权利要求12所述的系统,其中所述多个模型学习器中的每个模型学习器是托管在计算机上的虚拟机。
17.根据权利要求16所述的系统,其中所述计算机通过因特网与所述中央参数服务器通信。
18.一种用于执行随机梯度下降的计算机程序产品,所述计算机程序产品包括计算机可读存储介质,所述计算机可读存储介质具有体现在其中的程序指令,所述程序指令由计算机可执行以使所述计算机执行根据权利要求1至11中的任一项所述的方法的步骤。
19.一种用于执行随机梯度下降的计算机系统,所述计算机系统包括:
一个或多个计算机处理器;
一个或多个计算机可读存储介质;
存储在所述一个或多个计算机可读存储介质上的程序指令,用于由所述一个或多个计算机处理器中的至少一个计算机处理器执行,所述程序指令包括由所述一个或多个计算机处理器可执行并使得所述一个或多个计算机处理器执行根据权利要求1至11中的任一项所述的方法的步骤的程序指令。
20.一种用于执行随机梯度下降的设备,包括:用于执行根据权利要求1至11中的任一项所述的方法的步骤的装置。
CN201910165129.0A 2018-03-28 2019-03-05 分布式随机梯度下降的自适应学习率调度 Active CN110322020B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/938,830 2018-03-28
US15/938,830 US11182689B2 (en) 2018-03-28 2018-03-28 Adaptive learning rate schedule in distributed stochastic gradient descent

Publications (2)

Publication Number Publication Date
CN110322020A CN110322020A (zh) 2019-10-11
CN110322020B true CN110322020B (zh) 2023-05-12

Family

ID=68054461

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910165129.0A Active CN110322020B (zh) 2018-03-28 2019-03-05 分布式随机梯度下降的自适应学习率调度

Country Status (2)

Country Link
US (1) US11182689B2 (zh)
CN (1) CN110322020B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11182689B2 (en) * 2018-03-28 2021-11-23 International Business Machines Corporation Adaptive learning rate schedule in distributed stochastic gradient descent
US11631035B2 (en) * 2019-11-05 2023-04-18 Technion Research & Development Foundation Limited Gap-aware mitigation of gradient staleness
US11586900B2 (en) 2020-04-20 2023-02-21 Macronix International Co., Ltd. Training algorithm in artificial neural network (ANN) incorporating non-ideal memory device behavior
CN115062771B (zh) * 2022-08-16 2022-11-25 之江实验室 一种分布式机器学习梯度汇聚方法、装置及模型训练方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104463324A (zh) * 2014-11-21 2015-03-25 长沙马沙电子科技有限公司 一种基于大规模高性能集群的卷积神经网络并行处理方法
CN106779093A (zh) * 2017-01-06 2017-05-31 中国科学院上海高等研究院 基于滑动窗口采样的分布式机器学习训练方法及其系统
CN107209872A (zh) * 2015-02-06 2017-09-26 谷歌公司 强化学习系统的分布式训练
EP3229152A1 (en) * 2016-04-08 2017-10-11 HERE Global B.V. Distributed online learning for privacy-preserving personal predictive models
CN107784364A (zh) * 2016-08-25 2018-03-09 微软技术许可有限责任公司 机器学习模型的异步训练

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9652288B2 (en) 2012-03-16 2017-05-16 Microsoft Technology Licensing, Llc Allocation of computational resources with policy selection
US9613316B2 (en) 2012-08-27 2017-04-04 Georges Harik Method for improving efficiency in an optimizing predictive model using stochastic gradient descent
US9367798B2 (en) * 2012-09-20 2016-06-14 Brain Corporation Spiking neuron network adaptive control apparatus and methods
US10339465B2 (en) * 2014-06-30 2019-07-02 Amazon Technologies, Inc. Optimized decision tree based models
US11100420B2 (en) * 2014-06-30 2021-08-24 Amazon Technologies, Inc. Input processing for machine learning
US10163061B2 (en) 2015-06-18 2018-12-25 International Business Machines Corporation Quality-directed adaptive analytic retraining
US10140572B2 (en) 2015-06-25 2018-11-27 Microsoft Technology Licensing, Llc Memory bandwidth management for deep learning applications
US10671908B2 (en) * 2016-11-23 2020-06-02 Microsoft Technology Licensing, Llc Differential recurrent neural network
US20180165602A1 (en) * 2016-12-14 2018-06-14 Microsoft Technology Licensing, Llc Scalability of reinforcement learning by separation of concerns
CN109388661B (zh) * 2017-08-02 2020-04-21 创新先进技术有限公司 一种基于共享数据的模型训练方法及装置
US11200512B2 (en) * 2018-02-21 2021-12-14 International Business Machines Corporation Runtime estimation for machine learning tasks
US11182689B2 (en) * 2018-03-28 2021-11-23 International Business Machines Corporation Adaptive learning rate schedule in distributed stochastic gradient descent
US20190354850A1 (en) * 2018-05-17 2019-11-21 International Business Machines Corporation Identifying transfer models for machine learning tasks
US10673708B2 (en) * 2018-10-12 2020-06-02 International Business Machines Corporation Auto tuner for cloud micro services embeddings

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104463324A (zh) * 2014-11-21 2015-03-25 长沙马沙电子科技有限公司 一种基于大规模高性能集群的卷积神经网络并行处理方法
CN107209872A (zh) * 2015-02-06 2017-09-26 谷歌公司 强化学习系统的分布式训练
EP3229152A1 (en) * 2016-04-08 2017-10-11 HERE Global B.V. Distributed online learning for privacy-preserving personal predictive models
CN107784364A (zh) * 2016-08-25 2018-03-09 微软技术许可有限责任公司 机器学习模型的异步训练
CN106779093A (zh) * 2017-01-06 2017-05-31 中国科学院上海高等研究院 基于滑动窗口采样的分布式机器学习训练方法及其系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
《Asynchronous Acceleraated Stochastic Gradient Descent》;M Qi et al.;《IJCAI》;20160709;全文 *
《staleness-aware async-SGD for distributed deep learning》;Wei Zhang et al.;《arXiv.org/abs/1511.05950》;20160405;全文 *
《分布式深度学习中参数交换优化机制研究》;王思远;《中国优秀硕士学位论文全文数据库信息科技辑》;20170615;全文 *

Also Published As

Publication number Publication date
US20190303787A1 (en) 2019-10-03
US11182689B2 (en) 2021-11-23
CN110322020A (zh) 2019-10-11

Similar Documents

Publication Publication Date Title
CN110322020B (zh) 分布式随机梯度下降的自适应学习率调度
US11087216B2 (en) Modifying computational graphs
US11521090B2 (en) Collaborative distributed machine learning
CN108885571B (zh) 分批处理机器学习模型的输入
US11263052B2 (en) Determining optimal compute resources for distributed batch based optimization applications
US20160147914A1 (en) Technique for generating approximate design solutions
CN110520871A (zh) 训练机器学习模型
US20180365060A1 (en) Leveraging directed acyclic graph (dag) information to group tasks for execution
US20210342749A1 (en) Adaptive asynchronous federated learning
CN114416351B (zh) 资源分配方法、装置、设备、介质及计算机程序产品
CN114667507A (zh) 使用基于应用的剖析的机器学习工作负载的弹性执行
CN111967917B (zh) 预测用户流失的方法以及设备
CN112307177A (zh) 使用非结构会话机器人生成过程流模型
US20200210884A1 (en) Removing unnecessary history from reinforcement learning state
CN114020469A (zh) 基于边缘节点的多任务学习方法、装置、介质与设备
CN113452546A (zh) 深度学习训练通信的动态服务质量管理
US11410023B2 (en) Lexicographic deep reinforcement learning using state constraints and conditional policies
CN113366510A (zh) 经由训练的原始网络与双网络来执行多目标任务
US20200250573A1 (en) Implementing a computer system task involving nonstationary streaming time-series data based on a bias-variance-based adaptive learning rate
US11644816B2 (en) Early experiment stopping for batch Bayesian optimization in industrial processes
US10042787B2 (en) Controlling data transfer for data processing
US11461645B2 (en) Initialization of memory networks
CN114548407A (zh) 层级目标定向因果发现方法、装置及电子设备
US11410077B2 (en) Implementing a computer system task involving nonstationary streaming time-series data by removing biased gradients from memory
US11281983B2 (en) Multi-agent system for efficient decentralized information aggregation by modeling other agents' behavior

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