CN111898740B - 预测模型的模型参数更新方法及装置 - Google Patents

预测模型的模型参数更新方法及装置 Download PDF

Info

Publication number
CN111898740B
CN111898740B CN202010761179.8A CN202010761179A CN111898740B CN 111898740 B CN111898740 B CN 111898740B CN 202010761179 A CN202010761179 A CN 202010761179A CN 111898740 B CN111898740 B CN 111898740B
Authority
CN
China
Prior art keywords
parameter
gradient
parameters
updating
model
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
CN202010761179.8A
Other languages
English (en)
Other versions
CN111898740A (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.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology Co Ltd
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 Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN202010761179.8A priority Critical patent/CN111898740B/zh
Publication of CN111898740A publication Critical patent/CN111898740A/zh
Application granted granted Critical
Publication of CN111898740B publication Critical patent/CN111898740B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • 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
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Medical Informatics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本公开关于一种预测模型的模型参数更新方法及装置。该方法接收工作服务器对获取的模型参数执行模型参数迭代训练时发送的包括模型参数的当前梯度的参数更新请求,且检测出模型参数的类型为嵌入参数后,通过采用满足第一参数更新算法和当前梯度,对嵌入参数进行更新,第一参数更新算法为所需的内存需求量小于预设需求量的算法。该方法通过采用第一参数更新算法可以降低嵌入参数更新的内存使用量,解决了嵌入参数在模型训练期间的内存使用量不足的问题。

Description

预测模型的模型参数更新方法及装置
技术领域
本公开涉及计算机技术领域,尤其涉及一种预测模型的模型参数更新方法及装置。
背景技术
现有预测模型中模型参数的更新采用的参数更新算法主要为自适应矩估计(Adaptive moment estimation,Adam)算法。
与经典的机器学习模型或计算机视觉(Computer Vision,CV)和自然语言处理(Natural Language Processing,NLP)使用的深度神经网络不同,预测模型的深度神经网络中的模型参数包括大量的嵌入参数和少量的网络参数,且嵌入参数在预测模型中占用的内存资源可达99.99%以上。
然而,对于现有的参数更新算法,采用Adam算法对预测模型中的嵌入参数进行更新时,所需的内存需求量过大。通常,Adam算法需要维持至少多达或者甚至两倍的模型参数的数量,在面对10倍太字节级别(即10TB级别)的嵌入参数时,将出现内存使用量不足的问题。
发明内容
本公开提供一种预测模型的模型参数更新方法及装置,以至少解决相关技术中在模型训练期间的内存使用量不足的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种预测模型的模型参数更新方法,应用在所述预测模型的参数服务器中,包括:
接收工作服务器对获取的模型参数执行模型参数迭代训练后发送的参数更新请求,所述参数更新请求包括模型参数的梯度信息;
响应于所述参数更新请求,检测所述模型参数的类型;
若所述模型参数的类型为预测模型的嵌入参数,则采用第一参数更新算法和所述梯度信息中的当前梯度,对所述嵌入参数进行更新;其中,所述第一参数更新算法为所需的内存需求量小于预设需求量的算法。
在一种可能的实现中,所述方法还包括:
若所述模型参数的类型为预测模型的网络参数,则采用第二参数更新算法和所述梯度信息中的当前梯度,对所述网络参数进行更新;其中,所述第二参数更新算法为收敛速度大于预设速度阈值的算法。
在一种可能的实现中,采用第一参数更新算法和所述当前梯度,对所述嵌入参数进行更新,包括:
根据所述嵌入参数的当前梯度和所述嵌入参数的历史梯度,获取参数减小量;其中,所述参数减少量与所述当前梯度正相关,与存储的当前的梯度变化量反相关,所述当前的梯度变化量表征所述当前梯度和所述历史梯度的梯度变化程度;
根据所述嵌入参数减小量,对所述嵌入参数进行更新。
在一种可能的实现中,所述当前梯度和所述历史梯度均包括N个梯度值,所述N表示所述嵌入参数的维数;
所述当前的梯度变化量的获取步骤包括:
计算所述嵌入参数中所述N个维数中每个维数对应的所述当前梯度和所述历史梯度的梯度总量,其中,所述梯度总量与所述N的比值为所述当前的梯度变化量。
在一种可能的实现中,对所述网络参数进行更新之后,所述方法还包括:
根据对象推荐系统中每个预测参数服务器存储的嵌入参数的种类,对更新后的嵌入参数进行分组,得到至少一组更新后的嵌入参数;
针对每组更新后的嵌入参数,将该组更新后的嵌入参数发送至相应预测参数服务器,以使所述预测参数服务器采用所述每组更新后的嵌入参数替换存储的相应嵌入参数;
将更新后的网络参数发送至所述对象推荐系统中的每个推理服务器,以使所述每个推理服务器采用所述更新后的网络参数替换存储的网络参数。
根据本公开实施例的第二方面,提供一种预测模型的模型参数更新装置,应用在所述预测模型的参数服务器中,包括:
接收单元,被配置为执行接收工作服务器对获取的模型参数执行模型参数迭代训练后发送的参数更新请求,所述参数更新请求包括模型参数的梯度信息;
检测单元,被配置为执行响应于所述参数更新请求,检测所述模型参数的类型;
更新单元,被配置为执行若所述模型参数的类型为预测模型的嵌入参数,则采用第一参数更新算法和所述梯度信息中的当前梯度,对所述嵌入参数进行更新;其中,所述第一参数更新算法为所需的内存需求量小于预设需求量的算法。
在一种可能的实现中,所述更新单元,还被配置为执行若所述模型参数的类型为预测模型的网络参数,则采用第二参数更新算法和所述梯度信息中的当前梯度,对所述网络参数进行更新;其中,所述第二参数更新算法为收敛速度大于预设速度阈值的算法。
在一种可能的实现中,所述装置包括获取单元;
所述获取单元,被配置为根据所述嵌入参数的当前梯度和所述嵌入参数的历史梯度,获取参数减小量;其中,所述参数减少量与所述当前梯度正相关,与存储的当前的梯度变化量反相关,所述当前的梯度变化量表征所述当前梯度和所述历史梯度的梯度变化程度;
所述更新单元,被配置为具体执行根据所述嵌入参数减小量,对所述嵌入参数进行更新。
在一种可能的实现中,所述装置还包括计算单元;其中,所述当前梯度和所述历史梯度均包括N个梯度值,所述N表示所述嵌入参数的维数;
所述计算单元,被配置为执行计算所述嵌入参数的所述N个维数中每个维数对应的所述当前梯度和所述历史梯度的梯度总量,其中,所述梯度总量与所述N的比值为所述当前的梯度变化量。
在一种可能的实现中,所述装置还包括分组单元和发送单元;
所述分组单元,被配置为执行根据对象推荐系统中每个预测参数服务器存储的嵌入参数的种类,对更新后的嵌入参数进行分组,得到至少一组更新后的嵌入参数;
所述发送单元,被配置为执行针对每组更新后的嵌入参数,将该组更新后的嵌入参数发送至相应预测参数服务器,以使所述预测参数服务器采用所述每组更新后的嵌入参数替换存储的相应嵌入参数;
以及,将更新后的网络参数发送至所述对象推荐系统中的每个推理服务器,以使所述每个推理服务器采用所述更新后的网络参数替换存储的网络参数。
根据本公开实施例的第三方面,提供一种电子设备,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中:
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行时,所述至少一个处理器能够执行第一方面中任一所述的方法的步骤。
根据本公开实施例的第四方面,提供一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如第一方面所述方法的步骤。
本公开的实施例提供的技术方案至少带来以下有益效果:
预测模型中的参数服务器在接收到工作服务器对获取的模型参数执行模型参数迭代训练后发送的包括模型参数的梯度信息的参数更新请求,且检测出模型参数的类型为嵌入参数后,通过采用满足第一参数更新算法和梯度信息中的当前梯度,对嵌入参数进行更新,第一参数更新算法为所需的内存需求量小于预设需求量的算法,通过采用第一参数更新算法可以降低嵌入参数更新的内存使用量,解决了嵌入参数在模型训练期间的内存使用量不足的问题。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1A是根据一示例性实施例示出的一种预测模型的预测过程示意图。
图1B是根据一示例性实施例示出的一种预测模型的训练系统的架构图。
图2是根据一示例性实施例示出的一种预测模型的模型参数更新方法的流程图。
图3是根据一示例性实施例示出的一种预测模型的模型参数更新效果对比图。
图4是根据一示例性实施例示出的一种协同部署方案中对象推荐系统所使用的预测模型的模型参数的存储示意图。
图5是根据一示例性实施例示出的对象推荐系统Kraken所使用的预测模型的模型参数的存储示意图。
图6A是根据一示例性实施例示出的一种Kraken中的平均预测点击率和FollowFeed中的平均实际点击率的对比示意图。
图6B是根据一示例性实施例示出的一种Kraken的吞吐量随时间的变化曲线示意图。
图6C是根据一示例性实施例示出的一种Kraken的延迟随时间的变化曲线示意图。
图7是根据一示例性实施例示出的一种预测模型的参数更新装置的框图。
图8是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1A是根据一示例性实施例示出的一种预测模型的预测过程示意图,其中,预测模型的输入是账户样本的多个密集特征和多个稀疏特征。密集特征是根据账户的用户画像数据生成的,稀疏特征是根据账户对对象进行操作的操作行为数据生成的。这里,账户样本的多个密集特征如账户样本的使用者的年龄、性别、所在地、喜好等,账户样本的多个稀疏特征如账户样本最后观看的K个对象的对象标识、与账户样本具有直接社交关系(如主动关注关系)的账户的账户标识等。一般地,稀疏特征可以被视为稀疏ID(账户标识和对象标识)的向量,每个稀疏特征都对应嵌入表中的一个嵌入向量(即该稀疏特征的嵌入参数)。
具体实施时,在确定账户样本是否与一个待推荐对象匹配时,可根据账户样本的稀疏特征中的每个稀疏ID从嵌入表中查找该稀疏特征对应的嵌入向量,然后,使用逐元素的聚集操作(称为池化操作)将各稀疏特征对应的嵌入向量组合为新的密集特征,然后,新的密集特征与账户样本原始的密集特征成为预测模型其余部分的输入,以进行最终预测。
实际应用中,嵌入表通常被称为预测模型的稀疏部分,而预测模型的其余部分(包括多层连接的神经网络)则被称为预测模型的密集部分。稀疏部分和密集部分在数据大小和访问模式方面存在巨大差异,以张量流(Tensorflow)和本公开设计的对象推荐系统Kraken为例,表1示出了基于深度神经网络(Deep Neural Networks,DNN)的模型中两者的稀疏部分和密集部分在数据大小、访问模式方面等方面的差异,从表1中可以看出,稀疏部分的参数容量大小可以是密集部分的参数容量大小的1000倍甚至更多。
表1
Figure BDA0002613122310000071
一般地,预测模型的模型参数包含网络参数和嵌入(Embedding)参数,其中,网络参数指神经网络中各卷积层如全连接层、池化层等的参数,如权重(weight,W)、偏置(bias,b)等,嵌入参数是指在神经网络中Embedding层所涉及的参数,用于把正整数(索引)转换为固定大小的稠密向量。
由于稀疏部分的参数在对象推荐系统中占用的内存资源较大,几乎占用99.99%以上的内存资源。本公开设计的对象推荐系统Kraken,Kraken引入了稀疏感知的预测模型的训练系统,以减少训练期间的内存使用。
另外,在推荐场景中,对预测模型的模型参数的更新可以理解为是深度神经网络的训练过程,即找到优化问题minwfD(w)的最优解,其中,f()为损失函数,W表示DNN模型的模型参数,D为训练样本集。
在每个训练过程中,优化器根据如下公式更新模型参数Wt
Figure BDA0002613122310000072
其中,t为迭代次数,α为预设学习率,mt为动量,Vt为方差,二者为涉及当前梯度和历史梯度的两个函数。
图1B是根据一示例性实施例示出的一种预测模型的训练系统的架构图,如图1B所示,训练系统包括:至少一个工作服务器10和至少一个参数服务器20。
工作服务器10,用于在处理每个小批量的训练数据之前,从参数服务器20中获取模型参数w,并利用训练数据执行基于分布式梯度的机器学习算法对模型参数w本进行迭代训练,并将每次迭代训练得到的用于更新该模型参数w的梯度g发送给参数服务器20;
参数服务器20,用于根据接收的工作服务器10发送的梯度g,对模型参数w进行更新。也就是说,该模型参数w的梯度g用于更新该模型参数w。
下面对上述训练系统中参数服务器的工作过程进行详细描述。
图2是根据一示例性实施例示出的一种预测模型的模型参数更新方法的流程图,如图2所示,应用于参数服务器,包括以下步骤。
在步骤S21中,参数服务器接收工作服务器对获取的模型参数执行模型参数迭代训练后发送的参数更新请求。
在本公开实施例中,工作服务器先从参数服务器中获取模型参数,再对获取的模型参数执行模型参数迭代训练,生成该模型参数的当前梯度,之后工作服务器向参数服务器发送参数更新请求,其中,参数更新请求包括该模型参数的梯度信息,该梯度信息包括该模型参数的当前梯度。
在步骤S22中,参数服务器响应于该参数更新请求,检测待更新模型参数的类型。
在本公开实施例中,模型参数可以包括预测模型的嵌入(Embedding)参数和网络参数的两种类型的参数。
其中,嵌入参数是指在神经网络中的Embedding层所涉及的参数。网络参数是指神经网络中的参数,如权重W、偏置b等。
在步骤S23中,参数服务器根据模型参数的类型,采用相应类型对应的参数更新算法和该梯度信息中的当前梯度,对该模型参数进行更新。
在本公开实施例中,在执行该步骤之前,参数服务器可以获取不同参数更新算法和相应参数更新算法的算法特点。算法特点可以包括执行参数更新算法的内存需求量、收敛速度、算法类型,如自适应算法或非自适应算法等。
参数更新算法可以包括随机梯度下降(Stochastic gradient descent,SGD)算法、自适应梯度(Adaptive gradient algorithm,AdaGrad)算法、自适应矩估计(Adaptivemoment estimation,Adam)算法和本公开提出的简化自适应梯度rAdaGrad算法,如表2所示。
表2
Figure BDA0002613122310000091
表2示出了假设模型参数的维度为d时,不同参数更新算法的算法特点。其中,稀疏友好(Sparse Friendly):指示访问频率低的参数是否可以快速收敛,内存需求量(MemoryRequiement):指示参数更新算法运算需要维护的内存大小。其中,β1和β2为预设的超参数,且不同的参数更新算法具有不同形式的动量mt和方差Vt
通过采用以下公式,可以得到相应参数更新算法的更新公式:
Figure BDA0002613122310000092
参数更新算法中AdaGrad算法、Adam算法和rAdaGrad算法都需要额外的辅助内存来存储参与运算的参数以及存储计算得到的参数,该辅助内存量被称为参数更新算法所需的内存需求量,而随机梯度下降SGD算法仅依赖当前迭代的信息。此外,将保持梯度平方g2的参数更新算法称为自适应优化算法,因为这些参数更新算法可以自适应地控制模型参数更新的步长。
SGD算法属于非自适应参数更新算法,与自适应参数更新算法相比,非自适应参数更新算法在更新嵌入参数存在收敛速度慢的问题,且非自适应参数更新算法不能根据访问次数动态地确定每个步长的大小,故尽管SGD算法可以节省更多的内存,但也不将SGD算法用作更新嵌入参数或网络参数的参数更新算法。
Adam算法属于自适应参数更新算法,且具有很好的收敛速度,但与计算机视觉等其它场景相比,在预测场景中,Adam算法引入的内存需求量过大,需要维持至少多达或者甚至两倍的模型参数的数量,如2d+1。当使用Adam算法处理10TB级别的嵌入参数时,会引起内存严重不足的问题。故Adam算法可以用作更新网络参数的第二参数更新算法,尽管Adam算法的内存需求量是原模型参数的两倍,但由于与嵌入参数相比,网络参数只占很小的比例,因此可以容忍额外的存储开销。其中,Adam算法可以为网络参数提供更好的收敛速度,且不需要过度调节超参数。
AdaGrad算法和rAdaGrad算法均属于自适应参数更新算法,且针对Vt的计算过程中,相比Adam算法,两种算法占用的内存空间很小,如AdaGrad算法的内存需求量为d个浮点数,rAdaGrad算法的内存需求量为1个浮点数。故AdaGrad算法和rAdaGrad算法可以用作更新嵌入参数的第一参数更新算法。可见,本公开提出的rAdaGrad算法,可以进一步减少与训练期间的稀疏嵌入相关的内存使用。
本公开的发明人发现,由于预测模型存在太字节(TB)级别的嵌入参数,在不减少嵌入参数数量的情况下,为了降低内存使用量,参数服务器需要使用所需内存需求量小于预设需求量的参数更新算法,对嵌入参数进行更新;也就是说,通过使用内存压力较小的参数更新算法,可以直接降低嵌入参数更新过程中的内存成本。故,参数服务器可以针对嵌入参数预先配置内存需求量小于预设需求量的第一参数更新算法。
由于预测模型的网络参数的数量远小于嵌入参数的数量,故对网络参数更新时的内存需求量远小于对嵌入参数更新时的内存需求量,即可以忽略网络参数更新的内存需求量对内存成本影响。此时为了实现内存成本和收敛速度的平衡,可以加快网络参数的收敛速度,参数服务器需要使用收敛速度大于预设速度阈值的参数更新算法,对网络参数进行更新,从而提高模型参数更新速度。故,针对网络参数预先配置收敛速度大于预设速度阈值的第二参数更新算法。
其中,预设需求量可以是根据当前空闲内存容量设置的,如预设需求量为当前空闲内存容量的1/n倍,n为不为零的正数,或者预设需求量可以是技术人员预先设置的经验值等;预设速度阈值可以是技术人员预先设置的可以得到相应参数更新算法的经验值,对于上述预设需求量和上述预设速度阈值的获取方式,本发明实施例在此不做限定。
故,若参数服务器确定模型参数的类型为嵌入参数,则采用第一参数更新算法和当前梯度,对嵌入参数进行更新;
若参数服务器确定模型参数的类型为网络参数,则采用第二参数更新算法和当前梯度,对网络参数进行更新。
在一种可实现的实施例中,参数服务器可以预先配置的参数更新算法集合,该集合中包括内存需求量小于预设需求量的第一参数更新算法和收敛速度大于预设速度阈值的第二参数更新算法。
若参数服务器确定模型参数的类型为嵌入参数,则从参数更新算法集合中选择一个第一参数更新算法,并根据选择的第一参数更新算法和当前梯度,对该嵌入参数进行更新;
进一步的,若参数更新算法集合中存在多个第一参数更新算法,则参数服务器可以对多个第一参数更新算法所需的内存需求量进行排序,并从排序后的第一参数更新算法中选择内存需求量最小的第一参数更新算法,以进一步降低模型训练期间的内存使用量。
若参数服务器确定模型参数的类型为网络参数,则从参数更新算法集合中选择一个第二参数更新算法,并根据选择的第二参数更新算法和当前梯度,对该网络参数进行更新。
进一步的,若参数更新算法集合中存在多个第二参数更新算法,则参数服务器可以对多个第二参数更新算法的收敛速度进行排序,并从排序后的第二参数更新算法中选择收敛速度值最大的第二参数更新算法,以进一步提高模型训练期间的收敛速度。
下面以第一参数更新算法为rAdaGrad算法为例,对本公开实施例中参数服务器对嵌入参数的更新进行详细描述。
参数服务器可以根据嵌入参数的当前梯度和嵌入参数的历史梯度,获取参数减小量,即嵌入参数的更新变化量,并根据嵌入参数减小量,对嵌入参数进行更新。
其中,参数减少量与当前梯度正相关,与存储的当前的梯度变化量反相关,当前的梯度变化量表征当前梯度和历史梯度的梯度变化程度。
在一种可选的实施方式中,参数减少量可以表示为:
Figure BDA0002613122310000121
其中,M为存储的当前的梯度变化量,α为预设学习率,如α可以为0.01,t为迭代次数,gt为当前梯度。
进一步的,由于嵌入参数的当前梯度和历史梯度均包括N个梯度值,N表示嵌入参数的维数,故存储的当前的梯度变化量可以通过如下方式获取:
计算嵌入参数中N个维数对应的当前梯度和历史梯度的梯度总量,其中,梯度总量与N的比值为当前的梯度变化量。
在一种可选的实施方式中,梯度总量可以是嵌入参数在每个维数上的当前梯度的平方与历史梯度的平方的累加和。
在具体实施方式中,梯度总量可以是嵌入参数在每个维数上的当前梯度的二范数的平方与历史梯度的二范数的平方的累加和,并将梯度总量与N的比值确定为当前的梯度变化量。此时该当前的梯度变化量表示所有维度对应的当前梯度平方与历史梯度平方的累加和的平均值。
例如,当前的梯度变化量可以表示为:
Figure BDA0002613122310000131
其中,M为当前的梯度变化量,d为嵌入参数的维数,t为迭代次数,
Figure BDA0002613122310000132
为梯度总量,
Figure BDA0002613122310000133
表示二范数的平方。
需要说明的是,梯度变化信息还可以是综合了当前梯度和历史梯度的标准差、方差或协方差等能够体现嵌入参数的梯度变化程度的量,本发明实施例在此不做限定。
结合表1可知,作为第一参数更新算法的AdaGrad算法和rAdaGrad算法的主要区别在于:
AdaGrad算法中d个浮点数的内存需求量主要用于存储嵌入参数每个维度的梯度平方和,即每个维度对应的当前梯度平方与历史梯度平方的累加和;
rAdaGrad算法中1个浮点数的内存需求量主要用于存储嵌入参数所有维度的梯度平方的平均值,即所有维度对应的当前梯度平方与历史梯度平方的累加和的平均值。
也就是说,rAdaGrad算法是采用所有维度梯度平方的平均值替换AdaGrad算法中每个维度的梯度平方和,使得内存需求量大大降低。
本公开实施例还设置对比实验来验证应用上述模型参数更新方法的预测模型的性能,参见图3。图3示出了Criteo Ad数据集中具备不同参数更新算法的优化器对模型参数进行更新时的模型性能AUC和内存使用情况(Menory Usage),其中,D(·)/S(·)表示分别对网络参数/嵌入参数的优化器。
对于本公开提供的具备模型参数更新算法的混合优化器为D(Adam)S(rAdaGrad)组合,在测试模型性能AUC和内存消耗方面均优于所有其它基线优化器和混合优化器。该D(Adam)S(rAdaGrad)组合可以提供与Adam优化器(Adam优化器为基线优化器中是最好的)一样高的模型性能,同时可以减少3倍的内存使用量,其中,对于更新网络参数的内存使用量可忽略不计。
尽管混合优化器D(Adam)S(SGD)组合中的内存使用量较少,但由于缺乏适应性,最终导致模型性能较差。该组合无法从实时预测场景中的嵌入数据很好地学习。本公开实施例的rAdaGrad算法以最小的内存开销提供了学习的适应性。
由此,本公开实施例提供的预测模型的模型参数更新方法中的参数服务器在接收到工作服务器发送的包括模型参数的梯度信息的参数更新请求,且检测出模型参数的类型为嵌入参数后,通过采用满足第一参数更新算法和梯度信息中的当前梯度,对嵌入参数进行更新,第一参数更新算法为所需的内存需求量小于预设需求量的算法,通过采用第一参数更新算法可以降低嵌入参数更新的内存使用量,解决了嵌入参数在模型训练期间的内存使用量不足的问题。
在一种可能的实施方式中,可以将更新后的模型参数存储在同步模型参数的集中式共享存储中。
另外,为了在对象推荐系统中的多个推理服务器之间共享集中式共享存储中的模型参数,现有技术中提出了协同部署方案,如图4所示,每个推理服务器存储整个网络参数和一个分片的嵌入参数。当预测时,该推理服务器会从其它对等节点获取所需的嵌入参数,并在本地进行预测。然而,当面对不断更新的模型时,这种直接的方式会带来相对较高的财务成本。一方面,每个推理服务器都需要高容量动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)来存储一个分片的嵌入参数。另一方面,模型更新会分散推理服务器的注意力,并浪费推理服务器的计算资源和网络接口控制器(Network InterfaceController,NIC)带宽。
因此,为了向对象推荐系统提供必要的硬件资源的同时增强对象推荐系统Kraken的可扩展性,本公开设计的Kraken为非协同部署(Non-Colocated Deployment)式的对象推荐系统,如图5所示。Kraken部署于至少一个预测参数服务器(Prediction ParameterServer,PPS)和至少一个推理服务器,以在不同服务器上分别处理参数存储服务和推理服务。
其中,预测参数服务器与训练中使用的参数服务器架构类似,每个预测参数服务器,用于分布存储预测模型的嵌入参数,即每个预测参数服务器存储预测模型的部分嵌入参数,也就是说,预测参数服务器存储分片的模型和嵌入表。
每个推理服务器,用于存储预测模型的网络参数。
在本公开实施例中,参数服务器在得到更新后的嵌入参数和更新后的网络参数之后,参数服务器可以根据对象推荐系统中每个预测参数服务器存储的嵌入参数的种类,对更新后的嵌入参数进行分组,得到至少一组更新后的嵌入参数;针对每组更新后的嵌入参数,将该组更新后的嵌入参数发送至相应预测参数服务器,此时相应预测参数服务器采用部分更新后的网络参数替换存储的相应嵌入参数;
以及,参数服务器可以将更新后的网络参数发送至对象推荐系统中的每个推理服务器,此时相应推理服务器采用更新后的网络参数替换存储的网络参数。
在一种可能的实现中,每个推理服务器不仅可以缓存预测模型的网络参数,还可以缓存一些使用频率比较高的嵌入参数,这样在推理服务器执行推理服务过程中,推理服务器可先从自身的缓存中获取各稀疏特征的嵌入参数,对于在自身缓存中未获取到嵌入参数的稀疏特征,可以从预测参数服务器中获取,这样,可以减少请求延迟,进一步节省推理服务器的NIC带宽。
使用非协同部署的主要好处是:允许这两种服务,即存储服务和推理服务分别使用不同的硬件资源进行扩展。预测参数服务器需要较大的内存和较高的网络带宽,而推理服务器主要受计算资源的限制。因此,预测参数服务器可以使用高内存实例,而推理服务器可以使用具有高计算能力的机器。
另外,在使用非协同部署方案时,还可以有两个额外的机会来进一步优化对象推荐系统。
一方面,Kraken支持多种嵌入参数的放置策略(或称“存储策略”),用于将嵌入参数映射到预测参数服务器的不同的分片中。这样,技术人员可以根据访问方式为每组嵌入参数分配不同的存储方式。比如,若根据访问方式,确定任一组稀疏特征在指定时间段内的使用频率超过设定频率,则确定该组稀疏特征的嵌入参数存储在每个预测参数服务器,也就是说,将一些经常访问的嵌入参数存储到每个预测参数服务器中,这样,即可以减少热点,又可为预测参数服务器实现更好的负载平衡。
再比如,将经常一起访问的稀疏特征进行分组,然后同组稀疏特征的嵌入参数存储到同一个预测参数服务器的中,以获得更好的访问位置。比如,一些用户侧二元稀疏特征(如关注列表和收藏列表)通常采用将用户ID与其它对象ID组合的形式,基于用户ID对这些稀疏特征的嵌入参数进行存储尤其有用,因为这些稀疏特征的嵌入参数通常是被一起访问的。
另一方面,Kraken提供的训练系统可以更频繁地更新预测模型,但也需要部署新训练出的预测模型以在分钟级延迟的情况下提供在线服务。为了同时减少负载并实现实时更新,Kraken训练子系统采用了不同的更新策略来更新预测模型的模型参数。
具体地,对于更新后的嵌入参数,参数服务器并不是每次向预测参数服务器发送预测模型更新后的全部嵌入参数,而是每次向预测参数服务器发送预测模型的部分更新后的嵌入参数,以对嵌入参数进行更新;对于更新后的网络参数,参数服务器每隔几秒钟向推理服务器发送更新后的网络参数,以对网络参数进行批量更新。能够实施更新策略是因为预测模型的网络参数比嵌入参数的易变性要小。
本公开实施例中,对象推荐系统中的预测参数服务器需要大内存但不需要强的计算能力,而推理服务器需要强的计算能力但不需要大内存,所以可以灵活地为预测参数服务器和推理服务器配置不同的硬件资源,这样,对象推荐系统的部署成本较低、可扩展性也比较好。而在协同部署方案中,所有的推理服务器都必须是具有大内存和强计算能力的服务器,所以其需要部署计算密集型服务器,对象推荐系统的部署成本较高、可扩展性也比较差。
Kraken的非协同部署可以灵活地为预测参数服务器和推理服务器配置不同的服务器。这一点很重要,因为预测参数服务器受内存限制且需要大内存,而推理服务器受计算限制且不需要大内存。然而,对于基线协同部署,所有的推理服务器都必须是具有大内存的计算密集型服务器。
本公开实施例以16个分片的跟踪进给(Follow Feed)模型作为成本模型的示例。基于对中央处理单元(central processing unit,CPU)利用率和NIC带宽利用率的计算,一组16个预测参数服务器可以承载的最大推理服务器约为384个。表3总结了使用两种不同部署策略的硬件成本。
表3
Figure BDA0002613122310000171
其中,基线是指非协同部署的对象推荐系统,吞吐量的单位为每秒查询(QueriesPer Second,QPS),应用1的数据和应用2的数据可以为分别从AWS和Alibaba Cloud收集的价格数据,比例=1000×吞吐量/总租金,表中显示了Kraken(非协同部署)显示出比基线(协同部署)更好的成本效益(约1.3倍至2.1倍),即应用1中Kraken与基线的比值,以及应用2中Kraken与基线的比值。可以看出,Kraken显示出比基线更低的成本。
对Kraken的评估:
1)在线A/B测试结果。
Kraken可以支持三个代表应用程序:视频共享、社交网络和游戏平台。表4示出了使用Kraken通过在线A/B测试后其关键业务指标的收益。
表4
Figure BDA0002613122310000181
表中,视频共享可以是推荐视频的应用。用户在该应用中观看视频后,该应用可为用户提供更多的视频观看建议,该应用的关键指标是视频平均播放次数,Kraken可将视频平均播放次数提高51%,显著提高了用户参与度。
社交网络用于向平台上的用户推荐潜在的社交连接服务。每个人的新社交连接是评估该社交连接服务的关键指标,Kraken将每个人的新社交连接数量提高了1.35%,可使用户发现平台上更多的用户。
游戏平台是可托管不同数字游戏的在线平台。Kraren用于在该在线平台的反馈中生成个性化的游戏推荐视频,该在线平台的关键指标是用户在反馈上花费的时间,Kraken将用户在反馈上花费的时间提高了24.41%,显示出较好地用户粘性改善效果。
2)日常监视结果。
通过监视Kraken提供的对象推荐模型的准确性、Kraken一整天的服务吞吐量和延迟,报告Follow Feed应用在产品中的性能。报告结果如下:
模型准确性:图6A示出了Kraken生成的平均预测点击率(the average predictedclick-through-rate,CTR-P)和Follow Feed中对象的平均实际点击率(the averageclick-through-rate ground truth,CTR-GT)。高点击率通常意味着较高的用户参与度,更准确的CTR预测有助于项的推荐。如6A图所示,CTR-P曲线与CTR-GT曲线非常接近,基本重合为一条曲线,表明Kraken的模型预测的准确性比较高。
系统性能:图6B和图6C分别示出了Kraken的吞吐量(即对象推荐次数)和延迟随时间的变化曲线。如图6B所示,一天有两个不同的高峰期,分别是12:00到14:00和20:00到23:00。在后一个时间段,吞吐量达到了超过40k每秒查询(Queries Per Second,QPS),是平均吞吐量的两倍。同时,如图6C所示,即使吞吐量急剧增加,Kraken也可以很好地控制平均延迟和尾部延迟(P99)。
图7是根据一示例性实施例示出的一种预测模型的模型参数更新装置框图。参照图7,该装置可以包括接收单元710、检测单元720和更新单元730;
接收单元710,被配置为执行接收工作服务器对获取的模型参数执行模型参数迭代训练后发送的参数更新请求,所述参数更新请求包括所述模型参数的梯度信息中的当前梯度;
检测单元720,被配置为执行响应于所述参数更新请求,检测所述模型参数的类型;
更新单元730,被配置为执行若所述模型参数的类型为预测模型的嵌入参数,则采用第一参数更新算法和所述梯度信息中的当前梯度,对所述嵌入参数进行更新;其中,所述第一参数更新算法为所需的内存需求量小于预设需求量的算法。
在一种可能的实现中,所述更新单元,还被配置为执行所述模型参数的类型为预测模型的网络参数,则采用第二参数更新算法和所述梯度信息中的当前梯度,对所述网络参数进行更新;其中,所述第二参数更新算法为收敛速度大于预设速度阈值的算法。
在一种可能的实现中,所述装置还包括获取单元740;
获取单元740,被配置为执行根据所述嵌入参数的当前梯度和所述嵌入参数的历史梯度,获取参数减小量;其中,所述参数减少量与所述当前梯度正相关,与存储的当前的梯度变化量反相关,所述当前的梯度变化量表征所述当前梯度和所述历史梯度的梯度变化程度;
更新单元730,被配置为具体执行根据所述嵌入参数减小量,对所述嵌入参数进行更新。
在一种可能的实现中,所述装置还包括计算单元750;其中,所述当前梯度和所述历史梯度均包括N个梯度值,所述N表示所述嵌入参数的维数;
计算单元750,被配置为执行计算所述嵌入参数的所述N个维数中每个维数对应的所述当前梯度和所述历史梯度的梯度总量,其中,所述梯度总量与所述N的比值为所述当前的梯度变化量。
在一种可能的实现中,所述装置还包括分组单元760和发送单元770;
分组单元760,被配置为执行根据对象推荐系统中每个预测参数服务器存储的嵌入参数的种类,对更新后的嵌入参数进行分组,得到至少一组更新后的嵌入参数;
发送单元770,被配置为执行针对每组更新后的嵌入参数,将该组更新后的嵌入参数发送至相应预测参数服务器,以使所述预测参数服务器采用所述每组更新后的嵌入参数替换存储的相应嵌入参数;
以及,将更新后的网络参数发送至所述对象推荐系统中的每个推理服务器,以使所述每个推理服务器采用所述更新后的网络参数替换存储的网络参数。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图8是根据一示例性实施例示出的一种电子设备的框图。例如,电子设备800可以是服务器,移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图8,电子设备800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制电子设备800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成图2所示方法的全部或部分步骤。
此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在电子设备800的操作。这些数据的示例包括用于在电子设备800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为电子设备800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为电子设备800生成、管理和分配电力相关联的组件。
多媒体组件808包括在电子设备800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)(TP)和触摸面板。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当电子设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当电子设备800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为电子设备800提供各个方面的状态评估。例如,传感器组件814可以检测到电子设备800的打开/关闭状态,组件的相对定位,例如所述组件为电子设备800的显示器和小键盘,传感器组件814还可以检测电子设备800或电子设备800一个组件的位置改变,用户与电子设备800接触的存在或不存在,电子设备800方位或加速/减速和电子设备800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于电子设备800和其他设备之间有线或无线方式的通信。电子设备800可以接入基于通信标准的无线网络,如WiFi,运营商网络(如2G、3G、4G或5G),或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在本公开一实施例中,电子设备800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在本公开一实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由电子设备800的处理器820执行以完成上述方法的步骤。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在本公开一实施例中,还提供了一种应用程序,当该应用程序由电子设备的处理器执行时,使得所述电子设备能够执行上述方法的步骤,以获取相同的技术效果。
在本公开一实施例中,还提供了一种计算机程序产品,当该计算机程序产品由电子设备的处理器执行时,使得所述电子设备能够执行上述方法的步骤,以获取相同的技术效果。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置/电子设备/存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (12)

1.一种预测模型的模型参数更新方法,其特征在于,应用在所述预测模型的参数服务器中,包括:
接收工作服务器对获取的模型参数执行模型参数迭代训练后发送的参数更新请求,所述参数更新请求包括所述模型参数的梯度信息;
响应于所述参数更新请求,检测所述模型参数的类型;
若所述模型参数的类型为预测模型的嵌入参数,则根据不同参数更新算法和执行相应参数更新算法的内存需求量的关联关系,从所述不同参数更新算法中选取第一参数更新算法,并采用所述第一参数更新算法和所述梯度信息中的当前梯度,对所述嵌入参数进行更新;其中,所述第一参数更新算法为所需的内存需求量小于预设需求量的算法。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述模型参数的类型为预测模型的网络参数,则采用第二参数更新算法和所述梯度信息中的当前梯度,对所述网络参数进行更新;其中,所述第二参数更新算法为收敛速度大于预设速度阈值的算法。
3.根据权利要求1所述的方法,其特征在于,采用第一参数更新算法和所述梯度信息中的当前梯度,对所述嵌入参数进行更新,包括:
根据所述嵌入参数的当前梯度和所述嵌入参数的历史梯度,获取参数减小量;其中,所述参数减少量与所述当前梯度正相关,与存储的当前的梯度变化量反相关,所述当前的梯度变化量表征所述当前梯度和所述历史梯度的梯度变化程度;所述参数减少量表示为:
Figure FDA0003063806680000011
式中,M为所述当前的梯度变化量,α为预设学习率,t为迭代次数,gt为所述当前梯度;
根据所述嵌入参数减小量,对所述嵌入参数进行更新。
4.根据权利要求3所述的方法,其特征在于,所述当前梯度和所述历史梯度均包括N个梯度值,所述N表示所述嵌入参数的维数;
所述当前的梯度变化量的获取步骤包括:
计算所述嵌入参数的所述N个维数中每个维数对应的所述当前梯度和所述历史梯度的梯度总量,其中,所述梯度总量与所述N的比值为所述当前的梯度变化量。
5.根据权利要求2所述的方法,其特征在于,对所述网络参数进行更新之后,所述方法还包括:
根据对象推荐系统中每个预测参数服务器存储的嵌入参数的种类,对更新后的嵌入参数进行分组,得到至少一组更新后的嵌入参数;
针对每组更新后的嵌入参数,将该组更新后的嵌入参数发送至相应预测参数服务器,以使所述预测参数服务器采用所述每组更新后的嵌入参数替换存储的相应嵌入参数;
将更新后的网络参数发送至所述对象推荐系统中的每个推理服务器,以使所述每个推理服务器采用所述更新后的网络参数替换存储的网络参数。
6.一种预测模型的模型参数更新装置,其特征在于,应用在所述预测模型的参数服务器中,包括:
接收单元,被配置为执行接收工作服务器对获取的模型参数执行模型参数迭代训练后发送的参数更新请求,所述参数更新请求包括所述模型参数的梯度信息;
检测单元,被配置为执行响应于所述参数更新请求,检测所述模型参数的类型;
获取单元,被配置为执行获取不同参数更新算法和相应参数更新算法的算法特点;所述算法特点包括执行参数更新算法的内存需求量;
更新单元,被配置为执行若所述模型参数的类型为预测模型的嵌入参数,则根据所述执行参数更新算法的内存需求量,从所述不同参数更新算法中选取第一参数更新算法,并采用第一参数更新算法和所述梯度信息中的当前梯度,对所述嵌入参数进行更新;其中,所述第一参数更新算法为所需的内存需求量小于预设需求量的算法。
7.根据权利要求6所述的装置,其特征在于,所述更新单元,还被配置为执行若所述模型参数的类型为预测模型的网络参数,则采用第二参数更新算法和所述梯度信息中的当前梯度,对所述网络参数进行更新;其中,所述第二参数更新算法为收敛速度大于预设速度阈值的算法。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括获取单元;
所述获取单元,被配置为执行根据所述嵌入参数的当前梯度和所述嵌入参数的历史梯度,获取参数减小量;其中,所述参数减少量与所述当前梯度正相关,与存储的当前的梯度变化量反相关,所述当前的梯度变化量表征所述当前梯度和所述历史梯度的梯度变化程度;所述参数减少量表示为:
Figure FDA0003063806680000031
式中,M为所述当前的梯度变化量,α为预设学习率,t为迭代次数,gt为所述当前梯度;
所述更新单元,被配置为具体执行根据所述嵌入参数减小量,对所述嵌入参数进行更新。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括计算单元;其中,所述当前梯度和所述历史梯度均包括N个梯度值,所述N表示所述嵌入参数的维数;
所述计算单元,被配置为执行计算所述嵌入参数的所述N个维数中每个维数对应的所述当前梯度和所述历史梯度的梯度总量,其中,所述梯度总量与所述N的比值为所述当前的梯度变化量。
10.根据权利要求7所述的装置,其特征在于,所述装置还包括分组单元和发送单元;
所述分组单元,被配置为执行根据对象推荐系统中每个预测参数服务器存储的嵌入参数的种类,对更新后的嵌入参数进行分组,得到至少一组更新后的嵌入参数;
所述发送单元,被配置为执行针对每组更新后的嵌入参数,将该组更新后的嵌入参数发送至相应预测参数服务器,以使所述预测参数服务器采用所述每组更新后的嵌入参数替换存储的相应嵌入参数;
以及,将更新后的网络参数发送至所述对象推荐系统中的每个推理服务器,以使所述每个推理服务器采用所述更新后的网络参数替换存储的网络参数。
11.一种电子设备,其特征在于,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中:
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行时,所述至少一个处理器能够执行如权利要求1-5中任一所述的模型更新方法。
12.一种存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1-5中任一项所述的模型更新方法。
CN202010761179.8A 2020-07-31 2020-07-31 预测模型的模型参数更新方法及装置 Active CN111898740B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010761179.8A CN111898740B (zh) 2020-07-31 2020-07-31 预测模型的模型参数更新方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010761179.8A CN111898740B (zh) 2020-07-31 2020-07-31 预测模型的模型参数更新方法及装置

Publications (2)

Publication Number Publication Date
CN111898740A CN111898740A (zh) 2020-11-06
CN111898740B true CN111898740B (zh) 2021-07-20

Family

ID=73184107

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010761179.8A Active CN111898740B (zh) 2020-07-31 2020-07-31 预测模型的模型参数更新方法及装置

Country Status (1)

Country Link
CN (1) CN111898740B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113256973B (zh) * 2021-05-11 2022-03-25 青岛海信网络科技股份有限公司 一种高峰开始时间预测方法、装置、设备及介质
CN116128072B (zh) * 2023-01-20 2023-08-25 支付宝(杭州)信息技术有限公司 一种风险控制模型的训练方法、装置、设备及存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107871332A (zh) * 2017-11-09 2018-04-03 南京邮电大学 一种基于残差学习的ct稀疏重建伪影校正方法及系统
CN108491928A (zh) * 2018-03-29 2018-09-04 腾讯科技(深圳)有限公司 模型参数训练方法、装置、服务器及存储介质
CN109902818A (zh) * 2019-01-15 2019-06-18 中国科学院信息工程研究所 一种面向深度学习训练任务的分布式加速方法及系统
CN109919990A (zh) * 2019-02-19 2019-06-21 北京工业大学 利用深度感知网络和视差遥感影像进行森林高度预测方法
CN110633796A (zh) * 2019-09-05 2019-12-31 北京达佳互联信息技术有限公司 模型更新方法、装置、电子设备及存储介质
US10581469B1 (en) * 2017-04-17 2020-03-03 DeepSig Inc. Machine learning-based nonlinear pre-distortion system
CN111079153A (zh) * 2019-12-17 2020-04-28 支付宝(杭州)信息技术有限公司 安全建模方法、装置、电子设备及存储介质
CN111402129A (zh) * 2020-02-21 2020-07-10 西安交通大学 一种基于联合上采样卷积神经网络的双目立体匹配方法
CN111460528A (zh) * 2020-04-01 2020-07-28 支付宝(杭州)信息技术有限公司 一种基于Adam优化算法的多方联合训练方法及系统
CN111459661A (zh) * 2020-03-16 2020-07-28 湖北亿咖通科技有限公司 一种神经网络模型参数的更新方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109754105B (zh) * 2017-11-07 2024-01-05 华为技术有限公司 一种预测方法及终端、服务器
CN110084371B (zh) * 2019-03-27 2021-01-15 平安国际智慧城市科技股份有限公司 基于机器学习的模型迭代更新方法、装置和计算机设备
CN111176832B (zh) * 2019-12-06 2022-07-01 重庆邮电大学 基于内存计算框架Spark的性能优化和参数配置方法
CN111144582B (zh) * 2019-12-31 2022-07-05 第四范式(北京)技术有限公司 训练及更新机器学习模型的方法及相应装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10581469B1 (en) * 2017-04-17 2020-03-03 DeepSig Inc. Machine learning-based nonlinear pre-distortion system
CN107871332A (zh) * 2017-11-09 2018-04-03 南京邮电大学 一种基于残差学习的ct稀疏重建伪影校正方法及系统
CN108491928A (zh) * 2018-03-29 2018-09-04 腾讯科技(深圳)有限公司 模型参数训练方法、装置、服务器及存储介质
CN109902818A (zh) * 2019-01-15 2019-06-18 中国科学院信息工程研究所 一种面向深度学习训练任务的分布式加速方法及系统
CN109919990A (zh) * 2019-02-19 2019-06-21 北京工业大学 利用深度感知网络和视差遥感影像进行森林高度预测方法
CN110633796A (zh) * 2019-09-05 2019-12-31 北京达佳互联信息技术有限公司 模型更新方法、装置、电子设备及存储介质
CN111079153A (zh) * 2019-12-17 2020-04-28 支付宝(杭州)信息技术有限公司 安全建模方法、装置、电子设备及存储介质
CN111402129A (zh) * 2020-02-21 2020-07-10 西安交通大学 一种基于联合上采样卷积神经网络的双目立体匹配方法
CN111459661A (zh) * 2020-03-16 2020-07-28 湖北亿咖通科技有限公司 一种神经网络模型参数的更新方法
CN111460528A (zh) * 2020-04-01 2020-07-28 支付宝(杭州)信息技术有限公司 一种基于Adam优化算法的多方联合训练方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
10个梯度下降优化算法+备忘单;AI研习社;《云+社区-腾讯云》;20190715;第1-12页 *
An overview of gradient descent optimization;Sebastian Ruder;《arXiv:1609.047v2》;20170615;第1-14页 *

Also Published As

Publication number Publication date
CN111898740A (zh) 2020-11-06

Similar Documents

Publication Publication Date Title
CN109684510B (zh) 视频排序方法、装置、电子设备及存储介质
CN109978177B (zh) 模型训练方法、业务处理方法、装置及相关设备
CN109670632B (zh) 广告点击率的预估方法、广告点击率的预估装置、电子设备及存储介质
CN112131410A (zh) 多媒体资源展示方法、装置、系统和存储介质
CN111898740B (zh) 预测模型的模型参数更新方法及装置
JP2007317068A (ja) リコメンド装置およびリコメンドシステム
CN106250430A (zh) 智能设备列表的排序方法及装置
CN111160448A (zh) 一种图像分类模型的训练方法及装置
CN114169534A (zh) 分布式机器学习模型的训练方法、装置、设备及介质
CN115202889A (zh) 计算资源调整方法及计算系统
CN112783779A (zh) 测试用例的生成方法、装置、电子设备和存储介质
CN112712385A (zh) 广告推荐方法、装置、电子设备及存储介质
CN111859097A (zh) 数据处理方法、装置、电子设备及存储介质
CN113326436B (zh) 确定推荐资源的方法、装置、电子设备和存储介质
CN107515853B (zh) 一种细胞词库推送方法及装置
CN110909886B (zh) 一种机器学习网络运行方法、装置及介质
CN111984864B (zh) 对象推荐方法、装置、电子设备和存储介质
CN115689130A (zh) 奖励策略配置方法、装置、电子设备、存储介质及产品
CN111858970B (zh) 多媒体内容推荐方法、装置、电子设备及可读存储介质
CN110909075B (zh) 数据的同步方法、装置、电子设备及存储介质
CN112948763B (zh) 件量预测方法、装置、电子设备及存储介质
CN113553509A (zh) 一种内容推荐方法、装置、电子设备及存储介质
CN110209924B (zh) 推荐参数获取方法、装置、服务器及存储介质
CN113190748A (zh) 账户推荐方法、装置、电子设备、计算机可读存储介质
CN114254193B (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