CN106033332B - 一种数据处理方法及设备 - Google Patents
一种数据处理方法及设备 Download PDFInfo
- Publication number
- CN106033332B CN106033332B CN201510104810.6A CN201510104810A CN106033332B CN 106033332 B CN106033332 B CN 106033332B CN 201510104810 A CN201510104810 A CN 201510104810A CN 106033332 B CN106033332 B CN 106033332B
- Authority
- CN
- China
- Prior art keywords
- training sample
- incremental value
- sub
- computing unit
- calculated result
- 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
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种数据处理方法。在将训练样本均匀划分为多个第一子训练样本后,继续将各子训练样本按照各MPI计算节点中所包含的计算单元的数量均匀划分为多个第二子训练样本,后续为各计算单元分配一个第二子训练样本,并根据各计算单元的生成的第一计算结果获取训练样本的计算结果。通过在支持多计算节点的并行处理的基础上进一步在每个计算节点内部采取并行处理,极大地提高了数据处理效率。
Description
技术领域
本申请涉及通信技术领域,特别涉及一种数据处理方法。本申请同时还涉及一种数据处理设备。
背景技术
序列标注(Sequene Labeling)是自然语言处理和机器学习领域的一类问题,该问题是为序列中每一个元素赋予正确的标签,序列中不同位置的元素往往是彼此相关的,典型的序列标注问题是词性标注,该问题中序列是句子,序列中的元素是词语,序列的标注是每个词语对应的词性。
CRF(Conditional Random Field,条件随机场)是一种通过条件概率来对序列标注问题进行建模的方法。以z来表示输入序列以及x表示标签序列为例,条件随机场用下面的概率模型来描述x和z的关系:
其中称为势函数(potential function),Z(z)称为分割函数(partition function),fk(xt,xt+1,z)称为特征函数,或者简称为特征。
在现有技术中,条件随机场用随机变量分别表示输入序列和标签序列,通过直接对标签序列整体相对于输入序列的概率进行建模,由于该方法能够考虑到序列内部不同元素上下文的相互依赖,因此是对类似的序列标注问题进行建模的方法之一。具体流程如下:
首先,给定条件随机场序列标注模型:
以及训练数据集合
在实际应用中,通常使用以下两种势函数:
(1)节点势函数:
(2)状态转移势函数:
在以上情况下,似然函数如下:
由于以上似然函数是凸函数,因此可以用凸优化的方法找到唯一的全局最优解。在模型训练过程中,现有要对似然函数计算针对参数的偏导数,这个偏导数也叫做梯度(Gradient),CRF的偏导数公式如下:
其中,Pt(xt|z)和Pt(xt,xt+1|z)称为局部概率,其含义分别是a)位置t的标签是xt的概率,b)位置t和t+1的标签分别是xt和xt+1的概率。
在实现本申请的过程中,发明人发现现有技术至少存在着以下技术问题:
对于自然语言处理的大多数问题,特征函数的数量都非常大,例如在词性标注问题里,的数量可以用词典规模乘以词性数量来作为上限,通常词典规模在百万甚至千万级别,词性数量在几十至上百级别,因此特征的量可以轻易达到千万;如果考虑不同的上下文特征,特征达到上亿规模也是常见的。第二个挑战是计算复杂度,Z(z)部分通常用动态规划的方法求解,复杂度是序列长度乘以标签数量,对于大量的训练数据,计算时间就会成为瓶颈。
由此可见,如何提高现有的数据处理效率,成为本领域普通技术人员亟待解决的技术问题。
发明内容
本申请提供了一种数据处理方法,用以对现有的数据处理方式进行优化,从而提高数据处理效率。该方法包括:
将训练样本均匀划分为多个第一子训练样本,所述第一子训练样本的数量与当前存在的MPI计算节点的数量相同;
将各所述子训练样本按照各所述MPI计算节点中所包含的计算单元的数量均匀划分为多个第二子训练样本;
为各所述计算单元分配一个第二子训练样本;
根据各所述计算单元的生成的第一计算结果获取所述训练样本的计算结果。
相应地,本申请还提出了一种数据处理设备,包括:
第一划分模块,用于将训练样本均匀划分为多个第一子训练样本,所述第一子训练样本的数量与当前存在的MPI计算节点的数量相同;
第二划分模块,用于将各所述子训练样本按照各所述MPI计算节点中所包含的计算单元的数量均匀划分为多个第二子训练样本;
分配模块,用于为各所述计算单元分配一个第二子训练样本;
获取模块,用于根据各所述计算单元的生成的第一计算结果获取所述训练样本的计算结果。
由此可见,通过应用本申请的技术方案,在将训练样本均匀划分为多个第一子训练样本后,继续将各子训练样本按照各MPI计算节点中所包含的计算单元的数量均匀划分为多个第二子训练样本,后续为各计算单元分配一个第二子训练样本,并根据各计算单元的生成的第一计算结果获取训练样本的计算结果。通过在支持多计算节点的并行处理的基础上进一步在每个计算节点内部采取并行处理,极大地提高了数据处理效率。
附图说明
图1为本申请提出的一种数据处理方法的流程示意图;
图2为本申请具体实施例中数据处理的实现架构示意图;
图3为本申请具体实施例中预测搜索示意图;
图4为本申请提出的一种数据处理设备的结构示意图。
具体实施方式
如背景技术所述,现有实现方案都无法联合使用MPI(Message PassingInterface,消息传递接口)和OpenMP并行架构,没有对OpenMP并行计算单元的数据稀疏问题进行优化,无法支持预测阶段引入人工先验知识,对此本申请提出了一种数据处理方法,如图1所示,包括以下步骤:
S101,将训练样本均匀划分为多个第一子训练样本,所述第一子训练样本的数量与当前存在的MPI计算节点的数量相同.
S102,将各所述子训练样本按照各所述MPI计算节点中所包含的计算单元的数量均匀划分为多个第二子训练样本。
在具体的实施例中,本申请技术方案将训练样本划分为K个均等的部分(K为MPI计算节点数量),之后对于每个MPI计算节点,再将其训练样本划分为M个均等的部分,每个部分分配给一个OpenMP计算单元进行训练。每个OpenMP计算单元的计算结果,包括对目标函数的增量值、梯度向量的增量值,在MPI计算节点进行累加,这种累加是在同一物理机器的内存中进行的,因此没有通信开销。单个MPI计算节点累加的目标函数增量值和梯度向量增量值,通过广播发送到所有MPI计算节点并累加,从而实现对目标函数和梯度向量的全局计算,该过程的示意图如图2所示。
S103,为各所述计算单元分配一个第二子训练样本。
S104,根据各所述计算单元的生成的第一计算结果获取所述训练样本的计算结果。
基于S101以及S102中所得到的结果,第一计算结果包括目标函数增量值以及梯度向量增量值,而在本申请优选的实施例中,该步骤的具体处理过程如下:
步骤a)将各所述MPI计算节点中所有计算单元生成的目标函数增量值及梯度向量增量值分别进行累加,生成与各所述MPI计算节点对应的中间计算结果;
步骤b)分别将所有中间计算结果中的目标函数增量值及梯度向量增量值进行累加,并将累加后的目标函数增量值及梯度向量增量值作为所述训练样本的计算结果。
此外,为了能够针对稀疏数据进行优化,在本申请优选的实施例中,计算单元中的梯度向量增量值是根据分配至所述计算单元的第二子训练样本中所出现的特征计算生成并通过映射表存储的。这样在有K个MPI计算节点且每个节点有M个OpenMP计算单元的情况下,每个计算单元上得到的训练样本数是总样本数的很小一部分。因为梯度向量的计算只对出现的特征会出现非零值,因此每个OpenMP计算单元只需要存储和计算训练子集中出现的特征的梯度子向量。在每个OpenMP计算单元只需用一个映射表来存储本计算单元出现的特征,并只存储针对这些特征的梯度子向量,能够使得存储空间大大降低。
以上步骤通过对于单个计算节点内部的OpenMP并行处理,对多个线程公用内存的内存占用量进行了优化,使得内存占用基本接近单个线程的内存占用量。进一步地,本申请具体实施例还通过融合模型的预测能力和先验知识来达到更好的效果,该方案在在将训练样本均匀划分为多个第一子训练样本之前获取预设的包含一个或多个规则式的先验信息,其中各规则式由运算符、指定元素以及标签组成,并遵循以下规则:
(1)若所述规则式中的运算符为OR,则所述规则式中的指定元素的标签取值为所述规则式中的包含的标签之一;
(2)若所述规则式中的运算符为NOT,则所述规则式中的指定元素的标签取值非所述规则式中的包含的任何标签。
在具体实施场景中,以上规则可采用布尔逻辑,使得用户可以在预测阶段引入人工定义的先验知识。这种布尔逻辑包括两种运算符,即OR和NOT。OR运算符的含义是,序列的当前元素的标签取值只能是表达式给定的标签之一;NOT运算符的含义是,序列的当前元素的标签取值不能是表达式给定的任何标签,只能是其他的标签。例如:
规则“work OR(V,N)”表示,对于work而言,其词性只能是V(动词),或N(名词)。
规则“work NOT(Prep,Adv)”表示,work的词性标签不能是Prep(介词)和Adv(副词)。
在具体实现过程中,通过对如图3所示的预测搜索图进行剪枝,可将预测的搜索空间限制在先验知识约束的搜索空间中。其中,白色的节点表示先验知识允许经过的标签选项,黑色的则表示先验知识不允许经过的标签选项,预测算法只会允许搜索在白色节点及其之间的连接边之内进行搜索。
通过以上流程可以看出,本申请的方案同时支持MPI和OpenMP联合使用,从而能够达到更高的并行度,或者在相同并行度的条件下使用更少的物理计算资源。此外在单个计算节点内部的OpenMP并行计算单元内,针对数据稀疏的问题进行了技术优化,且能够支持在预测阶段加入先验知识,从而在保证数据处理正确率的前提下,极大地提高了数据处理效率。
为达到以上技术目的,本申请还提出了一种数据处理设备,如图4所示,包括:
第一划分模块410,用于将训练样本均匀划分为多个第一子训练样本,所述第一子训练样本的数量与当前存在的MPI计算节点的数量相同;
第二划分模块420,用于将各所述子训练样本按照各所述MPI计算节点中所包含的计算单元的数量均匀划分为多个第二子训练样本;
分配模块430,用于为各所述计算单元分配一个第二子训练样本;
获取模块440,用于根据各所述计算单元的生成的第一计算结果获取所述训练样本的计算结果。
在具体的应用场景中,所述第一计算结果包括目标函数增量值以及梯度向量增量值,所述获取模块具体用于:
将各所述MPI计算节点中所有计算单元生成的目标函数增量值及梯度向量增量值分别进行累加,生成与各所述MPI计算节点对应的中间计算结果;
分别将所有中间计算结果中的目标函数增量值及梯度向量增量值进行累加,并将累加后的目标函数增量值及梯度向量增量值作为所述训练样本的计算结果。
在具体的应用场景中,所述计算单元中的梯度向量增量值是根据分配至所述计算单元的第二子训练样本中所出现的特征计算生成并通过映射表存储的。
在具体的应用场景中,还包括:
先验模块,用于获取预设的包含一个或多个规则式的先验信息,各所述规则式由运算符、指定元素以及标签组成;
其中,若所述规则式中的运算符为OR,则所述规则式中的指定元素的标签取值为所述规则式中的包含的标签之一;
若所述规则式中的运算符为NOT,则所述规则式中的指定元素的标签取值非所述规则式中的包含的任何标签。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。
本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请序号仅仅为了描述,不代表实施场景的优劣。
以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。
Claims (8)
1.一种数据处理方法,其特征在于,包括:
将训练样本均匀划分为多个第一子训练样本,所述第一子训练样本的数量与当前存在的消息传递接口MPI计算节点的数量相同;
将各所述子训练样本按照各所述MPI计算节点中所包含的计算单元的数量均匀划分为多个第二子训练样本;
为各所述计算单元分配一个第二子训练样本;
根据各所述计算单元的生成的第一计算结果获取所述训练样本的计算结果;
其中,所述第一计算结果包括目标函数增量值以及梯度向量增量值,所述根据各所述计算单元的生成的第一计算结果获取所述训练样本的计算结果具体为:
根据各所述MPI计算节点中所有计算单元生成的目标函数增量值及梯度向量增量值,获取所述训练样本的计算结果。
2.如权利要求1所述的方法,其特征在于,所述根据各所述计算单元的生成的第一计算结果获取所述训练样本的计算结果,具体为:
将各所述MPI计算节点中所有计算单元生成的目标函数增量值及梯度向量增量值分别进行累加,生成与各所述MPI计算节点对应的中间计算结果;
分别将所有中间计算结果中的目标函数增量值及梯度向量增量值进行累加,并将累加后的目标函数增量值及梯度向量增量值作为所述训练样本的计算结果。
3.如权利要求2所述的方法,其特征在于,
所述计算单元中的梯度向量增量值是根据分配至所述计算单元的第二子训练样本中所出现的特征计算生成并通过映射表存储的。
4.如权利要求1所述的方法,其特征在于,在将训练样本均匀划分为多个第一子训练样本之前,还包括:
获取预设的包含一个或多个规则式的先验信息,各所述规则式由运算符、指定元素以及标签组成;
其中,若所述规则式中的运算符为OR,则所述规则式中的指定元素的标签取值为所述规则式中的包含的标签之一;
若所述规则式中的运算符为NOT,则所述规则式中的指定元素的标签取值非所述规则式中的包含的任何标签。
5.一种数据处理设备,其特征在于,包括:
第一划分模块,用于将训练样本均匀划分为多个第一子训练样本,所述第一子训练样本的数量与当前存在的消息传递接口MPI计算节点的数量相同;
第二划分模块,用于将各所述子训练样本按照各所述MPI计算节点中所包含的计算单元的数量均匀划分为多个第二子训练样本;
分配模块,用于为各所述计算单元分配一个第二子训练样本;
获取模块,用于根据各所述计算单元的生成的第一计算结果获取所述训练样本的计算结果;
其中,所述第一计算结果包括目标函数增量值以及梯度向量增量值,所述根据各所述计算单元的生成的第一计算结果获取所述训练样本的计算结果具体为:
根据各所述MPI计算节点中所有计算单元生成的目标函数增量值及梯度向量增量值,获取所述训练样本的计算结果。
6.如权利要求5所述的设备,其特征在于,所述获取模块具体用于:
将各所述MPI计算节点中所有计算单元生成的目标函数增量值及梯度向量增量值分别进行累加,生成与各所述MPI计算节点对应的中间计算结果;
分别将所有中间计算结果中的目标函数增量值及梯度向量增量值进行累加,并将累加后的目标函数增量值及梯度向量增量值作为所述训练样本的计算结果。
7.如权利要求6所述的设备,其特征在于,
所述计算单元中的梯度向量增量值是根据分配至所述计算单元的第二子训练样本中所出现的特征计算生成并通过映射表存储的。
8.如权利要求5所述的设备,其特征在于,还包括:
先验模块,用于获取预设的包含一个或多个规则式的先验信息,各所述规则式由运算符、指定元素以及标签组成;
其中,若所述规则式中的运算符为OR,则所述规则式中的指定元素的标签取值为所述规则式中的包含的标签之一;
若所述规则式中的运算符为NOT,则所述规则式中的指定元素的标签取值非所述规则式中的包含的任何标签。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510104810.6A CN106033332B (zh) | 2015-03-10 | 2015-03-10 | 一种数据处理方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510104810.6A CN106033332B (zh) | 2015-03-10 | 2015-03-10 | 一种数据处理方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106033332A CN106033332A (zh) | 2016-10-19 |
CN106033332B true CN106033332B (zh) | 2019-07-26 |
Family
ID=57150374
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510104810.6A Active CN106033332B (zh) | 2015-03-10 | 2015-03-10 | 一种数据处理方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106033332B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108460453B (zh) * | 2017-02-21 | 2022-05-17 | 阿里巴巴集团控股有限公司 | 一种用于ctc训练的数据处理方法、装置及系统 |
CN110070117B (zh) * | 2019-04-08 | 2023-04-07 | 腾讯科技(深圳)有限公司 | 一种数据处理方法及装置 |
CN112446483B (zh) * | 2019-08-30 | 2024-04-23 | 阿里巴巴集团控股有限公司 | 一种基于机器学习的计算方法和计算单元 |
CN114882333B (zh) * | 2021-05-31 | 2024-09-06 | 北京百度网讯科技有限公司 | 数据处理模型的训练方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101799748A (zh) * | 2009-02-06 | 2010-08-11 | 中国移动通信集团公司 | 一种确定数据样本类别的方法及其系统 |
CN101939727A (zh) * | 2007-11-08 | 2011-01-05 | 遗传学金融(巴巴多斯)有限公司 | 执行复杂算法的分布式网络 |
CN102799486A (zh) * | 2012-06-18 | 2012-11-28 | 北京大学 | 一种MapReduce系统中的数据采样和划分方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020019844A1 (en) * | 2000-07-06 | 2002-02-14 | Kurowski Scott J. | Method and system for network-distributed computing |
-
2015
- 2015-03-10 CN CN201510104810.6A patent/CN106033332B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101939727A (zh) * | 2007-11-08 | 2011-01-05 | 遗传学金融(巴巴多斯)有限公司 | 执行复杂算法的分布式网络 |
CN101799748A (zh) * | 2009-02-06 | 2010-08-11 | 中国移动通信集团公司 | 一种确定数据样本类别的方法及其系统 |
CN102799486A (zh) * | 2012-06-18 | 2012-11-28 | 北京大学 | 一种MapReduce系统中的数据采样和划分方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106033332A (zh) | 2016-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220382564A1 (en) | Aggregate features for machine learning | |
US20200356875A1 (en) | Model training | |
US11531926B2 (en) | Method and apparatus for generating machine learning model by using distributed computing framework | |
CN104679743B (zh) | 一种确定用户的偏好模式的方法及装置 | |
CN109918662B (zh) | 一种电子资源的标签确定方法、装置和可读介质 | |
CN110263979B (zh) | 基于强化学习模型预测样本标签的方法及装置 | |
CN103886047A (zh) | 面向流式数据的分布式在线推荐方法 | |
CN110968695A (zh) | 基于弱监督技术主动学习的智能标注方法、装置及平台 | |
CN106033332B (zh) | 一种数据处理方法及设备 | |
EP3688673A1 (en) | Neural architecture search | |
CN110909182A (zh) | 多媒体资源搜索方法、装置、计算机设备及存储介质 | |
CN114186084B (zh) | 在线多模态哈希检索方法、系统、存储介质及设备 | |
CN111581923A (zh) | 文案生成方法、装置、设备和计算机可读存储介质 | |
CN112446727B (zh) | 广告触发的方法、装置、设备及计算机可读存储介质 | |
CN111581926A (zh) | 文案生成方法、装置、设备和计算机可读存储介质 | |
KR102142943B1 (ko) | 클라우드 기반의 인공지능 연산 서비스 방법 및 이를 수행하는 장치 | |
CN106202224B (zh) | 搜索处理方法及装置 | |
CN111222663B (zh) | 数据处理方法及其系统、计算机系统及计算机可读介质 | |
CN110852118B (zh) | 分布式机器翻译方法及系统 | |
CN108460453A (zh) | 一种用于ctc训练的数据处理方法、装置及系统 | |
CN113762992A (zh) | 一种处理数据的方法和装置 | |
CN116089722B (zh) | 基于图产出标签的实现方法、装置、计算设备和存储介质 | |
CN111767497B (zh) | 用于处理信息的方法和装置 | |
CN117389748B (zh) | 一种基于并行计算的bp神经网络算法的提速方法和系统 | |
US11681870B2 (en) | Reducing latency and improving accuracy of work estimates utilizing natural language processing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20211110 Address after: Room 507, floor 5, building 3, No. 969, Wenyi West Road, Wuchang Street, Yuhang District, Hangzhou City, Zhejiang Province Patentee after: Zhejiang tmall Technology Co., Ltd Address before: P.O. Box 847, 4th floor, Grand Cayman capital building, British Cayman Islands Patentee before: Alibaba Group Holdings Limited |
|
TR01 | Transfer of patent right |