一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据处理方法、系统、设备、程序产品及存储介质与流程

2022-02-21 19:35:06 来源:中国专利 TAG:


1.本公开涉及数据处理技术领域,尤其涉及一种数据处理方法、系统、设备、程序产品及存储介质。


背景技术:

2.随着深度学习技术的发展,深度学习模型已经广泛应用到了多种类点击通过率(clickthrough rate,ctr)场景中。例如,可以基于深度学习模型实现广告、新闻、视频、音乐等信息的推荐。
3.现有的深度学习训练架构一般包括worker节点和参数服务器(parameter server)节点。例如,可以在图形处理器(graphics processing unit,gpu)上部署worker节点,在中央处理器(central processing unit,cpu)上部署parameter server节点。worker节点上可以设置有待训练模型,parameter server节点上可以存储有稀疏特征和embedding向量之间的对应关系。进行深度学习训练时,worker节点可以读取训练样本,训练样本包括样本特征和分类标签,样本特征包括密集特征和稀疏特征。读取到训练样本后,worker节点可以根据稀疏特征,访问parameter server节点完成embeddding lookup,得到稀疏特征对应的embedding向量。然后,worker节点可以根据密集特征、分类标签、以及embedding向量,对待训练模型进行前向传播和反向传播的计算,并根据计算结果对待训练模型的参数进行更新。通过不断迭代前述流程,即可完成待训练模型的深度学习训练。
4.在上述深度学习训练架构中,部署worker节点的gpu的输入网络带宽主要训练样本和embedding向量两部分组成。当大量的训练样本输入到gpu时,会消耗gpu中大量的输入网络带宽,导致输入gpu的embedding向量较少,而使得gpu实际根据embedding向量进行计算所占的资源仅仅为gpu可使用资源的一小部分,严重降低了gpu的利用率。


技术实现要素:

5.本公开提供一种数据处理方法、系统、设备、程序产品及存储介质,可以减少训练样本消耗的gpu中的输入网络带宽,充分利用gpu资源,提高gpu的利用率。
6.本公开实施例的技术方案如下:
7.第一方面,本公开实施例提供一种数据处理方法,该方法应用于数据处理系统。该数据处理系统包括:第一节点、第二节点和第三节点。该方法包括:第一节点获取用于训练待训练模型的样本数据,样本数据包括样本特征和分类标签,样本特征包括稀疏特征和密集特征。第一节点向第二节点发送样本数据的稀疏特征,向第三节点发送样本数据的密集特征和分类标签。第二节点根据样本数据的稀疏特征、及存储的稀疏特征与嵌入向量的对应关系,确定样本数据的稀疏特征对应的嵌入向量,并向第三节点发送样本数据的稀疏特征对应的嵌入向量。第三节点根据样本数据的密集特征和分类标签、及样本数据的稀疏特征对应的嵌入向量,对存储的待训练模型进行训练。
8.可选地,在第一节点向第二节点发送样本数据的稀疏特征,向第三节点发送样本
数据的密集特征和分类标签之前,该方法还包括:第一节点根据样本数据的分类标签,将样本数据划分为多个样本批,多个样本批中的每个样本批包括一个或多个具有相同分类标签的样本数据。
9.第一节点向第二节点发送样本数据的稀疏特征,向第三节点发送样本数据的密集特征和分类标签,包括:第一节点向第二节点发送多个样本批中的每个样本批的稀疏特征,向第三节点发送多个样本批中的每个样本批的密集特征和分类标签。
10.可选地,上述第二节点根据样本数据的稀疏特征、及存储的稀疏特征与嵌入向量的对应关系,确定样本数据的稀疏特征对应的嵌入向量,并向第三节点发送样本数据的稀疏特征对应的嵌入向量,包括:第二节点根据第一样本批的稀疏特征、及存储的稀疏特征与嵌入向量的对应关系,确定第一样本批的稀疏特征对应的嵌入向量,并向第三节点发送第一样本批的稀疏特征对应的嵌入向量;其中,第一样本批为多个样本批中的任意一个样本批。
11.第三节点根据样本数据的密集特征和分类标签、及样本数据的稀疏特征对应的嵌入向量,对存储的待训练模型进行训练,包括:第三节点根据第一样本批的密集特征和分类标签、及第一样本批的稀疏特征对应的嵌入向量,对存储的待训练模型进行训练。
12.可选地,在第二节点根据第一样本批的稀疏特征、及存储的稀疏特征与嵌入向量的对应关系,确定第一样本批的稀疏特征对应的嵌入向量之前,该方法还包括:第三节点获取第一样本批的标识信息。第三节点向第二节点发送第一样本批的标识信息。第二节点根据第一样本批的标识信息,从来自第一节点的多个样本批的稀疏特征中,确定第一样本批的稀疏特征。
13.可选地,上述第三节点根据样本数据的密集特征和分类标签、及样本数据的稀疏特征对应的嵌入向量,对存储的待训练模型进行训练,包括:第三节点根据样本数据的密集特征、及样本数据的稀疏特征对应的嵌入向量,通过待训练模型确定样本数据对应的预测分类标签。第三节点根据样本数据的分类标签与预测分类标签之间的误差,对待训练模型进行反向传播计算,获取待训练模型的参数的梯度。第三节点根据梯度,对待训练模型的参数进行更新。
14.可选地,该方法还包括:第三节点向第二节点发送梯度。第二节点根据梯度,对存储的稀疏特征与嵌入向量的对应关系进行更新。
15.第二方面,本公开实施例还提供一种数据处理系统,该数据处理系统包括第一节点、第二节点和第三节点。
16.第一节点,用于获取用于训练待训练模型的样本数据,样本数据包括样本特征和分类标签,样本特征包括稀疏特征和密集特征;向第二节点发送样本数据的稀疏特征,向第三节点发送样本数据的密集特征和分类标签;
17.第二节点,用于根据样本数据的稀疏特征、及存储的稀疏特征与嵌入向量的对应关系,确定样本数据的稀疏特征对应的嵌入向量,并向第三节点发送样本数据的稀疏特征对应的嵌入向量;
18.第三节点,用于根据样本数据的密集特征和分类标签、及样本数据的稀疏特征对应的嵌入向量,对存储的待训练模型进行训练。
19.可选地,第一节点,具体用于根据样本数据的分类标签,将样本数据划分为多个样
本批,多个样本批中的每个样本批包括一个或多个具有相同分类标签的样本数据;向第二节点发送多个样本批中的每个样本批的稀疏特征,向第三节点发送多个样本批中的每个样本批的密集特征和分类标签。
20.可选地,第二节点,具体用于根据第一样本批的稀疏特征、及存储的稀疏特征与嵌入向量的对应关系,确定第一样本批的稀疏特征对应的嵌入向量,并向第三节点发送第一样本批的稀疏特征对应的嵌入向量;其中,第一样本批为多个样本批中的任意一个样本批。第三节点,具体用于根据第一样本批的密集特征和分类标签、及第一样本批的稀疏特征对应的嵌入向量,对存储的待训练模型进行训练。
21.可选地,第三节点,还用于获取第一样本批的标识信息;向第二节点发送第一样本批的标识信息。第二节点,还用于根据第一样本批的标识信息,从来自第一节点的多个样本批的稀疏特征中,确定第一样本批的稀疏特征。
22.可选地,第三节点,具体用于根据样本数据的密集特征、及样本数据的稀疏特征对应的嵌入向量,通过待训练模型确定样本数据对应的预测分类标签;根据样本数据的分类标签与预测分类标签之间的误差,对待训练模型进行反向传播计算,获取待训练模型的参数的梯度;根据梯度,对待训练模型的参数进行更新。
23.可选地,第三节点,还用于向第二节点发送梯度。第二节点,还用于根据梯度,对存储的稀疏特征与嵌入向量的对应关系进行更新。
24.第三方面,本公开实施例提供一种数据处理设备,包括:处理器和用于存储处理器可执行指令的存储器;其中,处理器被配置为执行所述指令,以实现如第一方面所述的方法。
25.第四方面,本公开实施例提供一种计算机可读存储介质,计算机可读存储介质上存储有指令,指令被处理器执行时实现如第一方面所述的方法。
26.第五方面,本公开实施例提供一种计算机程序产品,该计算机程序产品被执行时实现如第一方面所述的方法。
27.本公开的实施例提供的技术方案至少带来以下有益效果:
28.本公开实施例中,第一节点可以将样本数据的稀疏特征发送到第二节点,第二节点可以根据样本数据的稀疏特征、及存储的稀疏特征与嵌入向量的对应关系,确定样本数据的稀疏特征对应的嵌入向量并发送给第三节点,从而可以使得在对待训练模型进行训练时,第三节点的输入网络带宽中只包含来自第一节点的样本数据的密集特征和分类标签、以及来自第二节点的嵌入向量,样本数据的稀疏特征不再占用第三节点的输入网络带宽,所以,可以大大减少训练样本消耗的第三节点的输入网络带宽,提高嵌入向量占用的输入网络带宽,能够使得第三节点可以充分利用资源,根据样本数据的密集特征和分类标签、及样本数据的稀疏特征对应的嵌入向量,对存储的待训练模型进行训练,进而提高第三节点的资源利用率。
29.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
30.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施
例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
31.图1示出了一种深度学习训练架构的组成示意图;
32.图2示出了本公开实施例提供的数据处理系统的组成示意图;
33.图3示出了本公开实施例提供的数据处理方法的流程示意图;
34.图4示出了本公开实施例提供的数据处理方法的另一流程示意图;
35.图5示出了本公开实施例提供的数据处理方法的又一流程示意图;
36.图6示出了本公开实施例提供的数据处理方法的又一流程示意图;
37.图7示出了本公开实施例提供的数据处理方法的又一流程示意图。
具体实施方式
38.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
39.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
40.还应当理解的是,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其他特征、整体、步骤、操作、元素和/或组件的存在或添加。
41.深度学习技术已经被广泛的应用到了多种类点击通过率(click through rate,ctr)场景中。例如,可以通过训练深度学习模型,预测用户喜欢的广告、新闻、视频、音乐等。然后,可以基于深度学习模型的预测结果向用户前述广告、新闻、视频、音乐等信息。
42.图1示出了一种深度学习训练架构的组成示意图。如图1所示,目前常见的深度学习训练架构一般包括worker节点110和参数服务器(parameter server)节点120。其中,worker节点110部署于gpu上,parameter server节点120部署于cpu上。worker节点110上可以存储有待训练模型(如:神经网络),parameter server节点120上可以存储有稀疏特征和嵌入(embedding)向量之间的对应关系。
43.进行深度学习训练时,worker节点110可以读取训练样本,训练样本包括样本特征和分类标签,样本特征包括密集特征和稀疏特征。读取到训练样本后,worker节点110可以根据稀疏特征,访问parameter server节点120完成嵌入向量查询(embedddinglookup),得到稀疏特征对应的embedding向量。然后,worker节点110可以根据密集特征、分类标签、以及embedding向量,对待训练模型进行前向传播和反向传播的计算,并根据计算结果对待训练模型的参数进行更新。通过不断迭代前述流程,即可完成待训练模型的深度学习训练。
44.可以看到,在上述图1所示的深度学习训练架构中,作为worker节点110的gpu的输入网络带宽主要训练样本和embedding向量两部分组成。具体地,训练样本约占gpu的输入网络带宽的80%,embedding向量约占gpu的输入网络带宽的20%。
45.对待训练模型进行深度学习训练时,常常需要大量的训练样本,以保证训练效果。但是,当大量的训练样本输入到gpu时,会消耗gpu中大量的输入网络带宽,导致输入gpu的
embedding向量较少。输入gpu的embedding向量较少,会使得gpu实际根据密集特征、分类标签、以及embedding向量对待训练模型进行前向传播和反向传播计算,以及对待训练模型的参数进行更新所占的资源仅仅为gpu可使用资源的一小部分,严重降低了gpu的利用率。而gpu的成本相对较高,如果无法充分利用gpu资源,会造成大量的gpu资源浪费。
46.基于此,本公开实施例提供一种数据处理方法,可以减少训练样本消耗的gpu中的输入网络带宽,充分利用gpu资源,提高gpu的利用率。
47.以下结合附图对本公开实施例的技术方案进行示例性说明:
48.首先,对本公开实施例的应用场景进行介绍。
49.图2示出了本公开实施例提供的数据处理系统的组成示意图。
50.如图2所示,本公开实施例提供了一种数据处理系统。该数据处理系统可以包括:第一节点210、第二节点220、以及第三节点230。第一节点210、第二节点220、以及第三节点230彼此可以通信连接。
51.其中,第二节点220存储有稀疏特征与嵌入(embedding)向量的对应关系,第三节点230设置有待训练模型。第一节点210可以获取待训练模型的样本数据,样本数据包括样本特征和分类标签,样本特征包括稀疏特征和密集特征,并向第二节点220发送样本数据的稀疏特征,向第三节点230发送样本数据的密集特征和分类标签。
52.第二节点220可以根据样本数据的稀疏特征、及存储的稀疏特征与嵌入向量的对应关系,确定样本数据的稀疏特征对应的embedding向量,并向第三节点发送样本数据的稀疏特征对应的embedding向量。
53.第三节点230可以根据样本数据的密集特征和分类标签、及样本数据的稀疏特征对应的embedding向量,对存储的待训练模型进行训练。
54.请继续参考图2所示,一些实施例中,第一节点210可以为cpu集群1,第二节点220可以为cpu集群2,第三节点230可以为gpu集群。
55.或者,另外一些实施例中,上述cpu集群1和cpu集群2也可以是同一cpu集群中的不同cpu上。例如,cpu集群1和cpu集群2可以是属于同一cpu集群下的不同节点。
56.本公开实施例提供的数据处理方法可以应用于上述图2所示的数据处理系统。下面结合图2和图3,对本公开实施例提供的数据处理方法进行说明。
57.图3示出了本公开实施例提供的数据处理方法的流程示意图。
58.如图3所示,该数据处理方法可以包括:
59.s301、第一节点获取用于训练待训练模型的样本数据,样本数据包括样本特征和分类标签,样本特征包括稀疏特征和密集特征。
60.对于样本数据而言,每个样本数据的样本特征由密集特征和稀疏特征组成。密集特征可以是指样本数据中较为复杂的一下数据特征,如:样本数据为广告时,密集特征可以是广告的具体内容。稀疏特征可以是指样本数据中较为简单、可以稀疏表达的一些特征,如:可以是广告的标识、广告编号、广告名称等。
61.分类标签可以通过对样本数据进行人工标注得到。例如,样本数据为广告、待训练模型为广告分类模型时,样本数据的分类标签可以是视频标签、音乐标签、游戏标签等不同的广告类型标签。
62.可选地,对于部分密集特征和稀疏特征融合在一起的样本数据,第一节点可以对
样本数据的样本特征进行拆分,得到样本数据的稀疏特征和密集特征。
63.第一节点在获取到用于训练待训练模型的样本数据后,可以执行下述s302和s303。
64.s302、第一节点向第二节点发送样本数据的稀疏特征。
65.可选地,第一节点可以主动向第二节点发送所有样本数据的稀疏特征。
66.相应地,第二节点可以接收来自第一节点的样本数据的稀疏特征。
67.s303、第一节点向第三节点发送样本数据的密集特征和分类标签。
68.一种实施方式中,第一节点可以将所有样本数据的密集特征和分类标签置于本地(即第一节点中)进行排队。第三节点在开始对待训练模型进行训练时,可以先向第一节点发送训练请求,第一节点接收到该训练请求后,可以向第三节点发送样本数据的密集特征和分类标签。也即,该实施方式中,可以理解为是由第三节点从第一节点读取样本数据的密集特征和分类标签。
69.另一种实施方式中,第一节点也可以主动向第三节点发送所有样本数据的密集特征和分类标签,在此不作限制。
70.相应地,第三节点可以接收来自第一节点的样本数据的密集特征和分类标签。
71.需要说明的是,图3中所示的s302和s303的执行顺序仅仅为示例性说明,本公开实施例对s302和s303的先后顺序并不限制。例如,其他实施方式中,也可以是先执行s303,再执行s302;或者,s302和s303可以同时执行。
72.s304、第二节点根据样本数据的稀疏特征、及存储的稀疏特征与嵌入向量的对应关系,确定样本数据的稀疏特征对应的嵌入向量。
73.例如,当第二节点接收到来自第一节点的样本数据的稀疏特征后,可以查询存储的稀疏特征与嵌入(embedding)向量的对应关系,确定样本数据的稀疏特征对应的嵌入向量。然后,第二节点可以将查询到的嵌入向量发送给第三节点。如:可以执行s305。
74.s305、第二节点向第三节点发送样本数据的稀疏特征对应的嵌入向量。
75.相应地,第三节点可以接收来自第二节点的样本数据的稀疏特征对应的嵌入向量。
76.s306、第三节点根据样本数据的密集特征和分类标签、及样本数据的稀疏特征对应的嵌入向量,对存储的待训练模型进行训练。
77.第三节点在接收到来自第一节点的样本数据的密集特征和分类标签、以及来自第二节点的样本数据的稀疏特征对应的嵌入向量后,可以根据样本数据的密集特征和分类标签、及样本数据的稀疏特征对应的嵌入向量,对存储的待训练模型进行训练。
78.该数据处理方法中,第一节点可以将样本数据的稀疏特征发送到第二节点,第二节点可以根据样本数据的稀疏特征、及存储的稀疏特征与嵌入向量的对应关系,确定样本数据的稀疏特征对应的嵌入向量并发送给第三节点,从而可以使得在对待训练模型进行训练时,第三节点的输入网络带宽中只包含来自第一节点的样本数据的密集特征和分类标签、以及来自第二节点的嵌入向量,样本数据的稀疏特征不再占用第三节点的输入网络带宽,所以,可以大大减少训练样本消耗的第三节点的输入网络带宽,提高嵌入向量占用的输入网络带宽,能够使得第三节点可以充分利用资源,根据样本数据的密集特征和分类标签、及样本数据的稀疏特征对应的嵌入向量,对存储的待训练模型进行训练,进而提高第三节
点的资源利用率。
79.下面以第一节点为特征抽取节点、第二节点为parameter server节点、第三节点为worker节点,进行举例说明。假设worker节点为gpu(集群)、特征抽取节点和parameterserver节点均为不同的cpu集群。
80.以待训练模型为信息推荐模型为例:信息推荐模型的训练样本中稀疏特征占据了主要空间。本公开实施例提供的该数据处理方法中,特征抽取节点可以将样本数据的稀疏特征发送到parameter server节点进行排队,分类标签和密集特征在特征抽取节点本地进行排队。worker节点从特征抽取节点读取样本数据的分类标签和密集特征,从parameter server节点读取样本数据的稀疏特征对应的embedding向量,即可对信息推荐模型进行训练。样本数据的稀疏特征并不会占用worker节点的输入网络带宽,也即,不同占用gpu的输入网络带宽。从而,可以很大程度上减少训练样本所消耗的gpu的输入网络带宽,使得gpu的输入网络带宽可以更多用于传输embedding向量,进而能够充分利用gpu的资源,提高gpu的利用率。
81.可选地,本公开实施例提供的该数据处理方法,相对于现有的模型训练方法而言,训练效率更高,gpu利用率可以至少从40%提升到65% 。
82.下面结合图4对本公开实施例中第三节点根据样本数据的密集特征和分类标签、及样本数据的稀疏特征对应的嵌入向量,对存储的待训练模型进行训练的过程进行具体说明。
83.图4示出了本公开实施例提供的数据处理方法的另一流程示意图。
84.如图4所示,s306可以包括:s401-s403。
85.s401、第三节点根据样本数据的密集特征、及样本数据的稀疏特征对应的嵌入向量,通过待训练模型确定样本数据对应的预测分类标签。
86.s402、第三节点根据样本数据的分类标签与预测分类标签之间的误差,对待训练模型进行反向传播计算,获取待训练模型的参数的梯度。
87.s403、第三节点根据梯度,对待训练模型的参数进行更新。
88.以待训练模型为广告分类模型为例,第三节点可以将样本数据的密集特征、及样本数据的稀疏特征对应的嵌入(embedding)向量,输入广告分类模型的神经网络的第一层输入层,并采用前向传播算法对其进行前向传播计算,获取广告分类模型输出的样本数据对应的预测分类标签。在获取到预测分类标签后,第三节点可以计算样本数据的分类标签与预测分类标签之间的误差,并根据该误差采用反向传播算法对广告分类模型进行反向传播计算,获取广告分类模型的参数的梯度。然后,第三节点可以根据广告分类模型的参数的梯度,对广告分类模型的参数进行更新。
89.需要说明的是,前向传播算法和反向传播算法为深度学习领域较为成熟的算法,本公开实施例在此不再赘述,对前向传播算法和反向传播算法的具体类型也不作限制。
90.另外,本公开实施例对待训练模型的具体类型也不作限制。例如,待训练模型还可以新闻推荐模型、视频推送模型等。
91.一些实施例中,第三节点在根据样本数据的分类标签、以及预测分类标签,对待训练模型进行反向传播计算,获取到待训练模型的参数的梯度后,还可以将梯度发送给第二节点。第二节点可以根据接收到的梯度,对稀疏特征和嵌入(embedding)向量之间的对应关
系的参数进行更新。
92.例如,图5示出了本公开实施例提供的数据处理方法的又一流程示意图。如图5所示,在图4所示的基础上,该数据处理方法还可以包括:
93.s501、第三节点向第二节点发送梯度。
94.s502、第二节点根据梯度,对存储的稀疏特征与嵌入向量的对应关系进行更新。
95.对待训练模型进行每一次反向传播计算后,第二节点通过根据第三节点发送的梯度对稀疏特征和嵌入(embedding)向量之间的对应关系的参数进行更新,可以使得稀疏特征和embedding向量之间的对应关系愈加成熟。
96.在一些可能的实现方式中,第三节点为多个gpu组成的gpu集群时,可以采用模型并行或数据并行的方式,将待训练模型部署到多个gpu上,实现模型训练。
97.其中,模型并行是指将待训练模型分隔为多个不同的部分,不同的部分可以部署在不同的gpu上进行运行。例如,可以将待训练模型的神经网络的不同网络层部署在不同的gpu上进行运行等。
98.数据并行是指在不同的gpu上部署相同的待训练模型,不同的gpu可以采用不同的训练样本对待训练模型进行训练。所有gpu上的待训练模型训练完成后,可以收集各gpu上待训练模型的梯度,对最终的待训练模型进行统一参数更新。
99.一些实施例中,第二节点,即,参数服务器(parameter server)节点可以为分布式parameter server节点。例如,分布式parameter server节点可以由多个parameter server子节点构成,每个parameter server子节点可以部署于一台cpu上。多个parameter server子节点中,每个parameter server子节点,可以跟其他parameter server子节点通信,且每个parameter server子节点分别负责稀疏特征和embedding向量之间的对应关系的部分参数的更新。多个parameter server子节点共同维持稀疏特征和embedding向量之间的对应关系的所有参数的更新。
100.可选地,多个parameter server子节点中还可以有一个元数据parameter server子节点,可以用于维护多个parameter server子节点中的一些元数据的一致性,例如,元数据可以包括:各个parameter server子节点的状态、参数的分配情况等。
101.具体地,分布式parameter server节点可以基于分布式key-value服务,实现稀疏特征和embedding向量之间的对应关系。worker节点(上述第三节点)将梯度发送给分布式parameter server节点后,分布式parameter server节点可以聚合从worker节点传回的梯度,进行参数更新。
102.一些实施例中,为提高模型训练的效率,也可以将样本数据按照分类标签划分为多个样本批(batch)进行处理。例如,图6示出了本公开实施例提供的数据处理方法的又一流程示意图。
103.如图6所示,在前述实施例中所述的基础上,该数据处理方法在s302和s303之前,还可以包括s601。
104.s601、第一节点根据样本数据的分类标签,将样本数据划分为多个样本批,多个样本批中的每个样本批包括一个或多个具有相同分类标签的样本数据。
105.例如,若存在100个样本数据,则第一节点可以将100个样本数据划分为n个batch,n为大于0,小于或等于100的整数,如:n可以为10。n个batch中,不同batch中的样本数据可
以具有相同或不同的分类标签,但每个batch中的所有样本数据的分类标签均相同。
106.相应地,s302可以包括s602。
107.s602、第一节点向第二节点发送多个样本批中的每个样本批的稀疏特征。
108.例如,第一节点可以将每个batch的稀疏特征均发送到第二节点进行排队。
109.s303可以包括s603。
110.s603、第一节点向第三节点发送多个样本批中的每个样本批的密集特征和分类标签。
111.与前述s303类似,一种实施方式中,每个batch的密集特征和分类标签可以在本地进行排队。第三节点可以向第一节点发送一个训练请求,当第一节点接收到该训练请求后,可以将每个batch的分类标签和密集特征发送给第三节点。
112.另外一种实施方式中,第一节点也可以主动向第三节点发送每个batch的分类标签和密集特征。本公开对此不作限制。
113.s304可以包括s604。
114.s604、第二节点根据第一样本批的稀疏特征、及存储的稀疏特征与嵌入向量的对应关系,确定第一样本批的稀疏特征对应的嵌入向量。
115.其中,第一样本批为多个样本批中的任意一个样本批。采用“第一样本批”仅仅是为了便于描述本方案的具体实施过程。
116.例如,第二节点可以根据第一batch的稀疏特征,及存储的稀疏特征与embedding向量的对应关系,确定出第一batch的稀疏特征对应的embedding向量。
117.s305可以包括s605。
118.s605、第二节点向第三节点发送第一样本批的稀疏特征对应的嵌入向量。
119.相应地,第三节点接收来自第二节点的第一样本批的稀疏特征对应的嵌入向量。
120.一些实施例中,第一样本批可以是指上述多个样本批中的每个样本批。第二节点可以确定出每个样本批的稀疏特征对应的嵌入向量,并发送给第三节点。
121.另外一些实施例中,也可以是第三节点获取第一样本批的标识信息,并根据第一样本批的标识信息,向第二节点请求第一样本批的稀疏特征对应的嵌入向量。
122.s306可以包括s606。
123.s606、第三节点根据第一样本批的密集特征和分类标签、及第一样本批的稀疏特征对应的嵌入向量,对存储的待训练模型进行训练。
124.s606中对待训练模型的训练过程与前述s306中所述相同或相似,其区别仅仅在于,是以batch为单位,根据每个batch的密集特征和分类标签、及每个batch的稀疏特征对应的嵌入向量对待训练模型进行训练,在此不再赘述。
125.本公开实施例中,通过将样本数据划分为多个batch,并以batch为单位,对待训练模型进行训练,可以提高模型训练效率。
126.下面结合图7对第三节点获取第一样本批的标识信息,并根据第一样本批的标识信息,向第二节点请求第一样本批的稀疏特征对应的嵌入向量的具体过程进行说明。
127.图7示出了本公开实施例提供的数据处理方法的又一流程示意图。
128.如图7所示,在前述图6所示的基础上,s604之前,该数据处理方法还可以包括:s701-s703。
129.s701、第三节点获取第一样本批的标识信息。
130.在一些实施方式中,来自第一节点的第一样本批的密集特征和分类标签中的某些字段可以包含有第一样本批的标识信息。例如,第一节点可以为每个batch的密集特征和/或分类标签,增加一些可以表示该batch身份的字段或参数,也可称之为batch标识。以第一batch为例,第一节点可以在第一batch的分类标签的名称中增加batch标识的字段,当第三节点读取到第一batch的分类标签时,可以直接根据第一batch的分类标签,得知第一batch的batch标识。也即,第三节点获取第一样本批的标识信息可以是指第三节点根据来自第一节点的第一样本批的密集特征和分类标签中用于表示第一样本批的标识信息的字段,确定第一样本批的标识信息。
131.也有一些实施方式中,第一节点向第三节点发送第一样本批的密集特征和分类标签时,可以同时发送第一样本批的标识信息,如:可以是第一batch的batch_id。第三节点获取第一样本批的标识信息可以是指第三节点获取第一节点发送的第一样本批的标识信息,本公开在此不作限制。
132.s702、第三节点向第二节点发送第一样本批的标识信息。
133.相应地,第二节点接收第三节点发送的第一样本批的标识信息。
134.s703、第二节点根据第一样本批的标识信息,从来自第一节点的多个样本批的稀疏特征中,确定第一样本批的稀疏特征。
135.例如,第二节点接收到第三节点发送的第一batch的batch标识后,可以根据该第一batch的batch标识,从第一节点发送的多个batch的稀疏特征中查找得到第一batch的稀疏特征。
136.需要说明的是,上述图7所示,仅仅为本公开实施例中,第二节点确定第一样本批的稀疏特征的一种可选的实现方式。在实际实施时,也可以是第一节点在向第三节点发送第一batch的密集特征和分类标签时,可以同时向第二节点发送第一batch的batch标识。第二节点接收到第一节点发送的第一batch的batch标识后,同样可以根据第一batch的batch标识,获取第一batch的稀疏特征对应的embedding向量,并发送给第三节点。相对于上述图7所述的实施方式而言,本实施方式中,第三节点无需主动从第二节点获取embedding向量。本公开对具体实现方式并不作限制。
137.可选地,本公开实施例还提供一种数据处理系统,该数据处理系统的结构可以参考前述图2所示。该数据处理系统包括:第一节点、第二节点和第三节点。
138.第一节点,用于获取用于训练待训练模型的样本数据,样本数据包括样本特征和分类标签,样本特征包括稀疏特征和密集特征;向第二节点发送样本数据的稀疏特征,向第三节点发送样本数据的密集特征和分类标签。
139.第二节点,用于根据样本数据的稀疏特征、及存储的稀疏特征与嵌入向量的对应关系,确定样本数据的稀疏特征对应的嵌入向量,并向第三节点发送样本数据的稀疏特征对应的嵌入向量。
140.第三节点,用于根据样本数据的密集特征和分类标签、及样本数据的稀疏特征对应的嵌入向量,对存储的待训练模型进行训练。
141.可选地,第一节点,具体用于根据样本数据的分类标签,将样本数据划分为多个样本批,多个样本批中的每个样本批包括一个或多个具有相同分类标签的样本数据;向第二
节点发送多个样本批中的每个样本批的稀疏特征,向第三节点发送多个样本批中的每个样本批的密集特征和分类标签。
142.可选地,第二节点,具体用于根据第一样本批的稀疏特征、及存储的稀疏特征与嵌入向量的对应关系,确定第一样本批的稀疏特征对应的嵌入向量,并向第三节点发送第一样本批的稀疏特征对应的嵌入向量;其中,第一样本批为多个样本批中的任意一个样本批。第三节点,具体用于根据第一样本批的密集特征和分类标签、及第一样本批的稀疏特征对应的嵌入向量,对存储的待训练模型进行训练。
143.可选地,第三节点,还用于获取第一样本批的标识信息;向第二节点发送第一样本批的标识信息。第二节点,还用于根据第一样本批的标识信息,从来自第一节点的多个样本批的稀疏特征中,确定第一样本批的稀疏特征。
144.可选地,第三节点,具体用于根据样本数据的密集特征、及样本数据的稀疏特征对应的嵌入向量,通过待训练模型确定样本数据对应的预测分类标签;根据样本数据的分类标签与预测分类标签之间的误差,对待训练模型进行反向传播计算,获取待训练模型的参数的梯度;根据梯度,对待训练模型的参数进行更新。
145.可选地,第三节点,还用于向第二节点发送梯度。第二节点,还用于根据梯度,对存储的稀疏特征与嵌入向量的对应关系进行更新。
146.在示例性实施例中,本公开还提供了一种数据处理设备,包括:处理器和用于存储处理器可执行指令的存储器;其中,处理器被配置为执行所述指令,以实现如前述方法实施例中所述的方法。例如,处理器可以包括gpu、第一cpu和第二cpu,第一cpu可以作为上述第一节点,第二cpu可以作为上述第二节点,gpu可以作为上述第三节点。
147.在示例性实施例中,本公开还提供了一种计算机可读存储介质,计算机可读存储介质上存储有指令,指令被处理器执行时实现如前述方法实施例中所述的方法。
148.可选地,计算机可读存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
149.在示例性实施例中,本公开实施例还提供一种计算机程序产品,该计算机程序产品被执行时实现:如前述方法实施例中所述的方法。
150.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
151.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献