CN116432019A - 一种数据处理方法及相关设备 - Google Patents

一种数据处理方法及相关设备 Download PDF

Info

Publication number
CN116432019A
CN116432019A CN202211586646.3A CN202211586646A CN116432019A CN 116432019 A CN116432019 A CN 116432019A CN 202211586646 A CN202211586646 A CN 202211586646A CN 116432019 A CN116432019 A CN 116432019A
Authority
CN
China
Prior art keywords
plm
layer
feature representation
processing
attention
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.)
Pending
Application number
CN202211586646.3A
Other languages
English (en)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202211586646.3A priority Critical patent/CN116432019A/zh
Publication of CN116432019A publication Critical patent/CN116432019A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Machine Translation (AREA)

Abstract

一种数据处理方法,应用于预训练模型,方法包括:通过第一预训练语言模型PLM,处理文本数据,得到目标特征表示;其中,第一PLM包括一个或多个第一网络层,目标特征表示为根据一个或多个第一网络层输出的第一特征表示得到;通过第二PLM,处理文本数据;第二PLM包括第一注意力层以及与第一注意力层连接的第二网络层;第一注意力层的输入包括目标特征表示以及第二网络层输出的第二特征表示。本申请从通用预训练语言模型中构建通用记忆知识表征,然后通过记忆增强层(第一注意力层)将其融合到特定领域的预训练语言模型(第二PLM)中,使得特定领域的预训练语言模型能够获取遗忘的通用领域知识,减少了预训练过程中出现的灾难性遗忘问题。

Description

一种数据处理方法及相关设备
技术领域
本申请涉及人工智能领域,尤其涉及一种数据处理方法及相关设备。
背景技术
人工智能(artificial intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
预训练语言模型(pre-trained language model,PLM)的领域转移问题吸引了越来越多的研究,因为预训练语料和下游任务之间的领域差异会导致性能大幅下降。在自适应预训练后会出现对一般领域知识的灾难性遗忘,从而导致下游任务的表现较差。灾难性遗忘是连续学习中的一个常见现象,它发生在一个训练有素的模型忘记了以前学过的知识而过度适应新的任务。
现有的实现中,通过基于记忆的方法来降低灾难性遗忘,具体的,通过将过去任务中的重要样本存储在外部记忆中,并通过一些梯度变换策略对其进行排练来减轻遗忘。然而,上述方法需要使用外部存储器占用额外的存储空间来保存过去任务的样本。
发明内容
本申请提供了一种数据处理方法,减少了预训练过程中出现的灾难性遗忘问题。
第一方面,本申请提供了一种数据处理方法,所述方法包括:通过第一预训练语言模型PLM,处理文本数据,得到目标特征表示;其中,所述第一PLM包括一个或多个第一网络层,所述目标特征表示为根据所述一个或多个第一网络层输出的第一特征表示得到;通过第二PLM,处理所述文本数据;其中,所述第二PLM包括第一注意力层以及与所述第一注意力层连接的第二网络层;所述第一注意力层的输入包括所述目标特征表示以及所述第二网络层输出的第二特征表示。通过上述方式,从通用预训练语言模型(第一PLM)中有效地构建通用记忆知识表征,然后通过记忆增强层(第一注意力层)将其融合到特定领域的预训练语言模型(第二PLM)中,使得特定领域的预训练语言模型能够获取遗忘的通用领域知识,在不需要额外的存储空间的占用的前提下,减少了预训练过程中出现的灾难性遗忘问题。
在一种可能的实现中,所述第一PLM为基于多领域的文本数据训练得到。
在一种可能的实现中,所述第一PLM为参数固定的模型。
也就是说,第一PLM可以为参数固定的通用预训练语言模型,也就是不存在灾难性遗忘的模型,在模型更新的过程中,特定领域的预训练语言模型会根据损失函数值更新梯度的大小。为了保持通用领域知识的不变性,通用领域模型的参数会固定住,因此通用领域的模型梯度不会在训练过程中发生改变。因此,参数固定的预训练语言模型不会受到遗忘的影响。
在一种可能的实现中,所述通过第一预训练语言模型PLM,处理文本数据,得到目标特征表示,包括:通过第一预训练语言模型PLM,处理文本数据,得到多个所述第一网络层输出的第一特征表示;将多个所述第一网络层输出的第一特征表示进行融合,得到所述目标特征表示。
具体的可以分为如下几种情况:
情况1:可以仅将第一PLM中的一个网络层输出的特征表示输入至第二PLM中的一个注意力层中。
情况2:可以将第一PLM中的多个网络层输出的特征表示输入至第二PLM中的多个注意力层中,每个网络层输出的特征表示输入至第二PLM中的一个注意力层中。其中,多个网络层可以为第一PLM的部分网络层。
情况3:可以将第一PLM中的多个网络层输出的特征表示输入至第二PLM中的多个注意力层中,每个网络层输出的特征表示输入至第二PLM中的一个注意力层中。其中,多个网络层可以为第一PLM的全部网络层(所谓全部网络层,可以理解为用于得到特征表示的全部网络层,例如可以不包括输出层)。
情况4:可以仅将第一PLM中的多个网络层输出的特征表示进行融合,并将融合结果输入至第二PLM中的一个注意力层中。其中,多个网络层可以为第一PLM的部分网络层。
情况5:可以仅将第一PLM中的多个网络层输出的特征表示进行融合,并将融合结果输入至第二PLM中的一个注意力层中,每个网络层输出的特征表示输入至第二PLM中的一个注意力层中。其中,多个网络层可以为第一PLM的全部网络层(所谓全部网络层,可以理解为用于得到特征表示的全部网络层,例如可以不包括输出层)。
情况6:可以将第一PLM中的多组网络层中的每组网络层进行融合(每组网络层可以包括多个网络层),得到多个融合结果,并将多个融合结果中的每个融合结果输入至第二PLM中一个注意力层中。其中,多组网络层包括的网络层可以为第一PLM的部分网络层。
情况7:可以将第一PLM中的多组网络层中的每组网络层进行融合(每组网络层可以包括多个网络层),得到多个融合结果,并将多个融合结果中的每个融合结果输入至第二PLM中一个注意力层中。其中,多组网络层包括的网络层可以为第一PLM的全部网络层(所谓全部网络层,可以理解为用于得到特征表示的全部网络层,例如可以不包括输出层)。
情况8:可以将第一PLM中的多组网络层中的每组网络层进行融合(每组网络层可以包括一个或多个网络层,在包括一个网络层的情况下,该组网络层不需要融合),得到多个融合结果,并将多个融合结果中的每个融合结果输入至第二PLM中一个注意力层中。
在一种可能的实现中,所述将所述第一网络层输出的第一特征表示进行融合,得到所述目标特征表示,包括:根据多个所述第一网络层输出的第一特征表示、以及每个第一网络层对应的权重,通过加权求和,得到所述目标特征表示。每个第一网络层对应的权重可以在训练过程中被更新,权重较大的第一网络层的输出可以被认为是更重要的。
在一种可能的实现中,所述第二PLM还包括第二注意力层以及与所述第二注意力层连接的第三网络层;所述第二注意力层的输入包括所述目标特征表示以及所述第三网络层输出的第三特征表示。
在一种可能的实现中,所述第一注意力层为所述第二PLM中最靠近输出层的注意力层。可选的,可以选择靠近特定领域PLM模型顶部的那一层作为记忆增强层,这个方法在实验中表现最好且不需要额外的参数。
在一种可能的实现中,所述通过第二PLM,处理所述文本数据,包括:
通过所述第一注意力层,处理所述目标特征表示以及所述第二特征表示;其中,所述文本所述第一注意力层用于进行所述目标特征表示和所述第二特征表示中不同嵌入向量之间的交互,以得到注意力信息,每个所述嵌入向量对应于所述文本数据中的一个文本单元。
在一种可能的实现中,所述第一注意力层具体用于:根据所述目标特征表示,得到第一Q矩阵和第一V矩阵,以及根据第二特征表示,得到第一K矩阵;进行所述第一Q矩阵、所述第一V矩阵和所述第一K矩阵之间的交互。
由于输入既包括来自于通用的PLM(也就是第一PLM)的网络层的数据,又包括来自于自身网络(也就是第二PLM)的网络层的数据,因此,记忆增强层与传统的自注意力层的不同之处仅在于多头自我注意模块的设计。本申请实施例提出新的记忆增强型注意力模块,将通用领域的记忆表征融合到特定领域的预训练语言模型中,表示为记忆-注意力。具体是将记忆表征线性转化为新的值-键对,并将它们串联到由特定领域预训练语言模型产生的对的后面。然后进行多头自我关注,以适应性地融合这个新的串联表示。整个过程重复使用特定领域预训练语言模型的转换层的参数,不引入任何新的参数。
在一种可能的实现中,所述第一网络层和所述第二网络层为transformer层。
在一种可能的实现中,在所述通过第二PLM,处理所述文本数据之后,得到所述文本数据的处理结果;所述方法还包括:根据所述处理结果和对应的真值,更新所述第二PLM,得到更新后的所述第二PLM。
第二方面,本申请提供了一种数据处理方法,所述方法包括:
获取文本数据;
通过第二PLM,处理文本数据,得到所述文本数据对应的处理结果;其中,所述第二PLM包括第一注意力层以及与所述第一注意力层连接的第二网络层;在训练所述第二PLM时,所述第一注意力层的输入包括所述第二网络层输出的第二特征表示以及目标特征表示,所述目标特征表示为第一PLM在处理所述文本数据时一个或多个第一网络层输出的第一特征表示得到的。
在一种可能的实现中,所述第一PLM为基于多领域的文本数据训练得到。
在一种可能的实现中,所述目标特征表示具体为通过将多个所述第一网络层输出的第一特征表示进行融合得到的。
在一种可能的实现中,所述目标特征表示具体为通过将多个所述第一网络层输出的第一特征表示与每个第一网络层对应的权重进行加权求和得到的。
在一种可能的实现中,所述第二PLM还包括第二注意力层以及与所述第二注意力层连接的第三网络层;在训练所述第二PLM时,所述第二注意力层的输入包括所述目标特征表示以及所述第三网络层输出的第三特征表示。
在一种可能的实现中,所述第一注意力层为所述第二PLM中最靠近输出层的注意力层。
在一种可能的实现中,所述第一网络层和所述第二网络层为transformer层。
第三方面,本申请提供了一种数据处理装置,所述装置包括:
处理模块,用于通过第一预训练语言模型PLM,处理文本数据,得到目标特征表示;其中,所述第一PLM包括一个或多个第一网络层,所述目标特征表示为根据所述一个或多个第一网络层输出的第一特征表示得到;
通过第二PLM,处理所述文本数据;其中,所述第二PLM包括第一注意力层以及与所述第一注意力层连接的第二网络层;所述第一注意力层的输入包括所述目标特征表示以及所述第二网络层输出的第二特征表示。
在一种可能的实现中,所述第一PLM为基于多领域的文本数据训练得到。
在一种可能的实现中,所述处理模块,具体用于:
通过第一预训练语言模型PLM,处理文本数据,得到多个所述第一网络层输出的第一特征表示;
将多个所述第一网络层输出的第一特征表示进行融合,得到所述目标特征表示。
在一种可能的实现中,所述处理模块,具体用于:
根据多个所述第一网络层输出的第一特征表示、以及每个第一网络层对应的权重,通过加权求和,得到所述目标特征表示。
在一种可能的实现中,所述第二PLM还包括第二注意力层以及与所述第二注意力层连接的第三网络层;所述第二注意力层的输入包括所述目标特征表示以及所述第三网络层输出的第三特征表示。
在一种可能的实现中,所述第一注意力层为所述第二PLM中最靠近输出层的注意力层。
在一种可能的实现中,所述处理模块,具体用于:
通过所述第一注意力层,处理所述目标特征表示以及所述第二特征表示;其中,所述文本所述第一注意力层用于进行所述目标特征表示和所述第二特征表示中不同嵌入向量之间的交互,以得到注意力信息,每个所述嵌入向量对应于所述文本数据中的一个文本单元。
在一种可能的实现中,所述第一注意力层具体用于:
根据所述目标特征表示,得到第一Q矩阵和第一V矩阵,以及根据第二特征表示,得到第一K矩阵;
进行所述第一Q矩阵、所述第一V矩阵和所述第一K矩阵之间的交互。
在一种可能的实现中,所述第一网络层和所述第二网络层为transformer层。
在一种可能的实现中,在所述通过第二PLM,处理所述文本数据之后,得到所述文本数据的处理结果;所述装置还包括:
更新模块,用于根据所述处理结果和对应的真值,更新所述第二PLM,得到更新后的所述第二PLM。
第四方面,本申请提供了一种数据处理装置,所述装置包括:
处理模块,用于获取文本数据;
通过第二PLM,处理文本数据,得到所述文本数据对应的处理结果;其中,所述第二PLM包括第一注意力层以及与所述第一注意力层连接的第二网络层;在训练所述第二PLM时,所述第一注意力层的输入包括所述第二网络层输出的第二特征表示以及目标特征表示,所述目标特征表示为第一PLM在处理所述文本数据时一个或多个第一网络层输出的特征表示得到的。
在一种可能的实现中,所述第一PLM为基于多领域的文本数据训练得到。
在一种可能的实现中,所述目标特征表示具体为通过将多个所述第一网络层输出的第一特征表示进行融合得到的。
在一种可能的实现中,所述目标特征表示具体为通过将多个所述第一网络层输出的第一特征表示与每个第一网络层对应的权重进行加权求和得到的。
在一种可能的实现中,所述第二PLM还包括第二注意力层以及与所述第二注意力层连接的第三网络层;在训练所述第二PLM时,所述第二注意力层的输入包括所述目标特征表示以及所述第三网络层输出的第三特征表示。
在一种可能的实现中,所述第一注意力层为所述第二PLM中最靠近输出层的注意力层。
在一种可能的实现中,所述第一网络层和所述第二网络层为transformer层。
第五方面,本申请实施例提供了一种执行设备,可以包括存储器、处理器以及总线系统,其中,存储器用于存储程序,处理器用于执行存储器中的程序,以执行如上述第一方面以及第二方面中任一可选的方法中和模型推理相关的步骤。
第六方面,本申请实施例提供了一种训练设备,可以包括存储器、处理器以及总线系统,其中,存储器用于存储程序,处理器用于执行存储器中的程序,以执行如上述第一方面以及第二方面中任一可选的方法中和模型训练相关的步骤。
第七方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行上述第一方面及其任一可选的方法、或者如上述第二方面及其任一可选的方法。
第八方面,本申请实施例提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述第一方面及其任一可选的方法、或者如上述第二方面及其任一可选的方法。
第九方面,本申请提供了一种芯片系统,该芯片系统包括处理器,用于支持训练设备或者执行设备实现上述方面中所涉及的功能,例如,发送或处理上述方法中所涉及的数据;或,信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存执行设备或训练设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
附图说明
图1为人工智能主体框架的一种结构示意图;
图2为一种自然语言处理系统;
图3a为另一种自然语言处理系统;
图3b为一种系统的结构示意图;
图4为本申请实施例提供的自然语言处理的相关设备的示意图;
图5为一种transformer层的架构示意;
图6A为本申请实施例提供的一种数据处理方法的实施例示意;
图6B为一种模型训练方法的实施例示意;
图6C为一种transformer层的结构示意;
图6D为一个注意力头head的操作示意图;
图7为本申请实施例提供的一种数据处理方法的实施例示意;
图8为本申请实施例提供的一种数据处理方法的实施例示意;
图9为本申请实施例提供的一种数据处理方法的实施例示意;
图10为本申请实施例提供的一种数据处理方法的实施例示意;
图11为本申请实施例提供的一种数据处理方法的实施例示意;
图12为本申请实施例提供的一种数据处理方法的实施例示意;
图13为本申请实施例提供的模型训练装置的一种结构示意图;
图14为本申请实施例提供的执行设备的一种结构示意图;
图15为本申请实施例提供的训练设备一种结构示意图;
图16为本申请实施例提供的芯片的一种结构示意图。
具体实施方式
下面结合本发明实施例中的附图对本发明实施例进行描述。本发明的实施方式部分使用的术语仅用于对本发明的具体实施例进行解释,而非旨在限定本发明。
下面结合附图,对本申请的实施例进行描述。本领域普通技术人员可知,随着技术的发展和新场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
首先对人工智能系统总体工作流程进行描述,请参见图1,图1示出的为人工智能主体框架的一种结构示意图,下面从“智能信息链”(水平轴)和“IT价值链”(垂直轴)两个维度对上述人工智能主题框架进行阐述。其中,“智能信息链”反映从数据的获取到处理的一列过程。举例来说,可以是智能信息感知、智能信息表示与形成、智能推理、智能决策、智能执行与输出的一般过程。在这个过程中,数据经历了“数据—信息—知识—智慧”的凝练过程。“IT价值链”从人智能的底层基础设施、信息(提供和处理技术实现)到系统的产业生态过程,反映人工智能为信息技术产业带来的价值。
(1)基础设施
基础设施为人工智能系统提供计算能力支持,实现与外部世界的沟通,并通过基础平台实现支撑。通过传感器与外部沟通;计算能力由智能芯片(CPU、NPU、GPU、ASIC、FPGA等硬件加速芯片)提供;基础平台包括分布式计算框架及网络等相关的平台保障和支持,可以包括云存储和计算、互联互通网络等。举例来说,传感器和外部沟通获取数据,这些数据提供给基础平台提供的分布式计算系统中的智能芯片进行计算。
(2)数据
基础设施的上一层的数据用于表示人工智能领域的数据来源。数据涉及到图形、图像、语音、文本,还涉及到传统设备的物联网数据,包括已有系统的业务数据以及力、位移、液位、温度、湿度等感知数据。
(3)数据处理
数据处理通常包括数据训练,机器学习,深度学习,搜索,推理,决策等方式。
其中,机器学习和深度学习可以对数据进行符号化和形式化的智能信息建模、抽取、预处理、训练等。
推理是指在计算机或智能系统中,模拟人类的智能推理方式,依据推理控制策略,利用形式化的信息进行机器思维和求解问题的过程,典型的功能是搜索与匹配。
决策是指智能信息经过推理后进行决策的过程,通常提供分类、排序、预测等功能。
(4)通用能力
对数据经过上面提到的数据处理后,进一步基于数据处理的结果可以形成一些通用的能力,比如可以是算法或者一个通用系统,例如,翻译,文本的分析,计算机视觉的处理,语音识别,图像的识别等等。
(5)智能产品及行业应用
智能产品及行业应用指人工智能系统在各领域的产品和应用,是对人工智能整体解决方案的封装,将智能信息决策产品化、实现落地应用,其应用领域主要包括:智能终端、智能交通、智能医疗、自动驾驶、智慧城市等。
本申请可以应用于人工智能领域的自然语言处理领域,下面以自然语言处理为例将对多个落地到产品的多个应用场景进行介绍。
为了更好地理解本申请实施例的方案,下面先结合图2至图3a对本申请实施例可能的应用场景进行简单的介绍。
图2示出了一种自然语言处理系统,该自然语言处理系统包括用户设备以及数据处理设备。其中,用户设备包括手机、个人电脑或者信息处理中心等智能终端。用户设备为自然语言数据处理的发起端,作为语言问答或者查询等请求的发起方,通常用户通过用户设备发起请求。
上述数据处理设备可以是云服务器、网络服务器、应用服务器以及管理服务器等具有数据处理功能的设备或服务器。数据处理设备通过交互接口接收来自智能终端的查询语句/语音/文本等,再通过存储数据的存储器以及数据处理的处理器环节进行机器学习,深度学习,搜索,推理,决策等方式的语言数据处理,并将处理结果反馈至用户设备。数据处理设备中的存储器可以是一个统称,包括本地存储以及存储历史数据的数据库,数据库可以在数据处理设备上,也可以在其它网络服务器上。
在图2所示的自然语言处理系统中,用户设备可以接收用户的指令,例如用户设备可以接收用户输入的一段文本,然后向数据处理设备发起请求,使得数据处理设备针对用户设备得到的该一段文本执行自然语言处理应用(例如自然语言生成、文本分类、文本推理、命名实体识别、翻译等),从而得到针对该一段文本的对应的自然语言处理应用的处理结果(例如预测词结果、分类结果、推理结果、命名实体识别结果、翻译结果等)。
以自然语言生成为例,自然语言生成(natural language generation)也可以称之为文本预测任务或者自然语言合成任务,是指在给定一段文字的前提下,生成其中的缺失文本或者后续文本的任务。自然语言生成在搜索引擎,输入法等场景均有广泛应用,可以在用户输入部分文字的前提下预测用户接下来的输入,可以大大提高用户的使用该产品的效率,此外还可以对存在文字缺失的文本进行恢复。
预训练模型普适性能让其从大规模的语料中学习通用的语言知识,因此与预训练语言模型的训练练语料相关的下游任务以及应用是人们关注的重点。相关的任务包括通用语言理解评估(GLUE),知识问答(Question Answering),情感分类(Sentiment Analysis),命名体识别(Named Entity Recognition),机器翻译(Machine Translation),文本总结(Text Summarization),命名体识别(Name Entity Recognition):
通用语言理解评估(GLUE):基准由9种自然语言理解任务数据集组成,包括单句分类任务,文本对分类任务,文本相似任务和排序任务等。目前的最新出现的改进版本SuperBLUE相比于GLUE,包含更多样的任务类型。
知识问答(Question Answering):问答是阅读理解中的一个子模块。从简单到困难,QA分为可以分为三种:单轮抽取式问答、多轮生成式的和多跳问答。对于抽取式的问答任务,研究者提出了一个回顾性的阅读模型并使用预训练模型来初始化编码器;对于多轮生成式的问答任务,有研究者提出了“预训练模型+对抗训练+逻辑标注+知识蒸馏”的模型;对于多跳的问答,有研究者提出了可解释的“选择,回答和解释”的系统并使用预训练语言模型(Pretrained Language Model)作为编码器。
情感分析(Sentiment Analysis):研究者通过对预训练语言模型进行微调在SST-2情感分类数据集上去了了最好的效果,然而在更细粒度的情感分类任务ABSA上直接微调的效果一般。有研究者将ABSA任务从单句的分类转变为句子对的分类任务;还有研究者对预训练语言模型在ABSA领域上使用增量训练的方式也取得较好效果。
机器翻译(Machine Translation):机器翻译是NLP中非常重要的一类任务,基于神经网络的翻译模型通常采用encoder-decoder框架,在编码侧将输入的文本编码为隐层表示,在解码端将隐层表示解码为目标语言文本。研究者尝试使用多语言的预训练语言模型BERT模型来初始化NMT中的编码器和解码器,并在无监督翻译和英文-罗马语的翻译任务中都取得了明显提升。
文本总结(Text Summarization):文本总结任务是从长文本中生成一段能够代表文本中心意义的端文本。预训练模型的引入也大大提升了摘要总结任务的效果。研究者尝试在文章级别通过直接预测句子来训练预训练语言模型,并直接应用到文本总结任务中。
命名体识别(Named Entity Recognition):该应用的主要目的是识别出一个句子中的实体词,以及其对应的实体类型。命名体识别任务的基本解决方法是将其当成一个序列分类任务,一般采用BIO、BIOES等标注预测方法,其中的BIO标注方法,就是给句子中的每一个单词都标注一个标签,这个标签由两部分组成:一部分是该单词所属实体的位置,其中B表示该单词是实体的第一个单词,I表示该单词是实体的中间单词,O表示不是实体。常见的模型为预训练语言模型结合条件随机场算法。
本申请实施例中数据处理方法,均可应用但不限于上述应用领域。
示例性的,本申请实施例中,用户设备可以接收用户输入的一段文本数据,其中文本数据中包括已知词和待预测词,待预测词不可见,仅仅知晓待预测词在文本数据中的位置,然后用户设备可以向数据处理设备发起请求(请求中携带文本数据),使得数据处理设备对该文本数据中的待预测词进行预测,从而得到待预测词,并将待预测词反馈至用户设备。
示例性的,用户设备可以接收用户输入的一段文本数据,然后向数据处理设备发起请求,使得数据处理设备对该一段文本数据进行实体分类,从而得到针对该一段文本数据的实体分类结果,并将实体分类结果反馈至用户设备;
示例性的,用户设备可以接收用户输入的一段文本数据(文本数据为中文文本),然后向数据处理设备发起请求,使得数据处理设备将该一段文本数据翻译成英文,从而得到针对该一段文本数据的英文译文,并将英文译文反馈至用户设备。
图3a示出了另一种自然语言处理系统,在图3a中,用户设备直接作为数据处理设备,该用户设备能够直接接收来自用户的输入并直接由用户设备本身的硬件进行处理,具体过程与图2相似,可参考上面的描述,在此不再赘述。
图4是本申请实施例提供的自然语言处理的相关设备300的示意图。
上述图2和图3a中的用户设备具体可以是图4中的本地设备301或者本地设备302,图2中的数据处理设备具体可以是图4中的执行设备310,其中,数据存储系统350可以存储执行设备310的待处理数据,数据存储系统350可以集成在执行设备310上,也可以设置在云上或其它网络服务器上。
图2和图3a中的处理器可以通过神经网络模型或者其它模型进行数据训练/机器学习/深度学习,并利用数据最终训练或者学习得到的模型针对文本数据执行自然语言处理应用(例如自然语言生成、文本分类、序列标注、阅读理解、文本生成、文本推理、翻译等),从而得到相应的处理结果。
其中,对本申请实施例中的预训练语言模型进行微调后的高精度模型可以部署在数据处理设备中,数据处理设备可以提供高精度模型处理文本数据,以得到上述自然语言处理应用的处理结果。
下面结合图3b对本申请实施例提供的系统架构进行详细的介绍。图3b为本申请一实施例提供的系统架构示意图。如图3b所示,系统架构500包括执行设备510、训练设备520、数据库530、客户设备540、数据存储系统550以及数据采集系统560。
执行设备510包括计算模块511、I/O接口512、预处理模块513和预处理模块514。计算模块511中可以包括目标模型/规则501,预处理模块513和预处理模块514是可选的。
数据采集设备560用于采集训练数据。
其中,在自然语言合成的任务中,训练数据可以为存在文本缺失的文本数据以及该存在文本缺失的文本数据对应的完整文本数据。
其中,在翻译任务中,训练数据可以包括但不限于平行语料、单语语料等。
平行语料,是指由原文文本及其平行对应的译语文本构成的双语或多语语料(也就是具有标注的文本数据),原文文本和译语文本具有相同的语义且文本单元之间具有对应关系。比如原文文本是“这次旅行需要认真计划”,与其平行对应的英文文本为“The tripneedscareful planning”,则“这次旅行需要认真计划”和“The trip needs carefulplanning”可以看做一组平行语料,该组平行语料是中英平行语言对,可以将原文文本“这次旅行需要认真计划”看做该组平行语料的源语料,将译文文本“The trip needs carefulplanning”看做该组平行语料的目标语料。其中,旅行可以对应于trip。
此外,“这次旅行需要认真计划”可以看做一个单语语料,“The trip needscareful planning”也可以都看做一个单语语料。
在采集到训练数据之后,数据采集设备560将这些训练数据存入数据库530,训练设备520基于数据库530中维护的训练数据训练得到目标模型/规则501。
其中,训练设备520基于数据库530中维护的训练数据对本申请实施例中的预训练语言模型(pretrained language model,PLM)进行训练,得到目标模型/规则501。
其中,为了适配下游任务,训练设备520可以基于数据库530中维护的训练数据对训练好的预训练语言模型进行微调,得到目标模型/规则501。
应理解,上述训练预训练语言模型的训练设备520可以和对训练好的预训练语言模型进行微调的训练设备520可以为不同的设备。
需要说明的是,在实际应用中,数据库530中维护的训练数据不一定都来自于数据采集设备560的采集,也有可能是从其他设备接收得到的。另外需要说明的是,训练设备520也不一定完全基于数据库530维护的训练数据进行目标模型/规则501的训练,也有可能从云端或其他地方获取训练数据进行模型训练,上述描述不应该作为对本申请实施例的限定。
根据训练设备520训练得到的目标模型/规则501可以应用于不同的系统或设备中,如应用于图3b所示的执行设备510,所述执行设备510可以是终端,如手机终端,平板电脑,笔记本电脑,增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备,车载终端等,还可以是服务器或者云端等。在图3b中,执行设备510配置输入/输出(input/output,I/O)接口512,用于与外部设备进行数据交互,用户可以通过客户设备540向I/O接口512输入数据。
预处理模块513和预处理模块514用于根据I/O接口512接收到的输入数据进行预处理(例如获取已知数据单元以及待预测数据单元在目标数据中的位置、或者生成注意力信息等预处理过程)。应理解,可以没有预处理模块513和预处理模块514或者只有的一个预处理模块。当不存在预处理模块513和预处理模块514时,可以直接采用计算模块511对输入数据进行处理。
在执行设备510对输入数据进行预处理,或者在执行设备510的计算模块511执行计算等相关的处理过程中,执行设备510可以调用数据存储系统550中的数据、代码等以用于相应的处理,也可以将相应处理得到的数据、指令等存入数据存储系统550中。
最后,I/O接口512将处理结果呈现给客户设备540,从而提供给用户。
在图3b所示情况下,用户可以手动给定输入数据,该“手动给定输入数据”可以通过I/O接口512提供的界面进行操作。另一种情况下,客户设备540可以自动地向I/O接口512发送输入数据,如果要求客户设备540自动发送输入数据需要获得用户的授权,则用户可以在客户设备540中设置相应权限。用户可以在客户设备540查看执行设备510输出的结果,具体的呈现形式可以是显示、声音、动作等具体方式。客户设备540也可以作为数据采集端,采集如图所示输入I/O接口512的输入数据及输出I/O接口512的输出结果作为新的样本数据,并存入数据库530。当然,也可以不经过客户设备540进行采集,而是由I/O接口512直接将如图所示输入I/O接口512的输入数据及输出I/O接口512的输出结果,作为新的样本数据存入数据库530。
值得注意的是,图3b仅是本申请实施例提供的一种系统架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制,例如,在图3b中,数据存储系统550相对执行设备510是外部存储器,在其它情况下,也可以将数据存储系统550置于执行设备510中。
应理解上述执行设备510也可以部署于客户设备540中。
由于本申请实施例涉及大量神经网络的应用,为了便于理解,下面先对本申请实施例涉及的相关术语及神经网络等相关概念进行介绍。
(1)神经网络
神经网络可以是由神经单元组成的,神经单元可以是指以xs(即输入数据)和截距1为输入的运算单元,该运算单元的输出可以为:
Figure BDA0003991924500000121
其中,s=1、2、……n,n为大于1的自然数,Ws为xs的权重,b为神经单元的偏置。f为神经单元的激活函数(activation functions),用于将非线性特性引入神经网络中,来将神经单元中的输入信号转换为输出信号。该激活函数的输出信号可以作为下一层卷积层的输入,激活函数可以是sigmoid函数。神经网络是将多个上述单一的神经单元联结在一起形成的网络,即一个神经单元的输出可以是另一个神经单元的输入。每个神经单元的输入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若干个神经单元组成的区域。
(2)transformer层
参照图5,图5为一种transformer层的架构示意,如图5所示,神经网络包括嵌入层和至少一个transformer层,至少一个transformer层可以为N个transformer层(N大于0的整数),其中,每个transformer层包括依次相邻的注意力层、加和与归一化(add&norm)层、前馈(feed forward)层和加和与归一化层。在嵌入层,对当前输入进行嵌入处理,得到多个嵌入向量;在所述注意力层,从所述第一transformer层的上一层获取P个输入向量,以P个输入向量中的任意的第一输入向量为中心,基于预设的注意力窗口范围内的各个输入向量与该第一输入向量之间的关联度,得到该第一输入向量对应的中间向量,如此确定出P个输入向量对应的P个中间向量;在所述池化层,将所述P个中间向量合并为Q个输出向量,其中transformer层中最后一个transformer层得到的多个输出向量用作所述当前输入的特征表示。
(3)注意力机制(attention mechanism)
注意力机制模仿了生物观察行为的内部过程,即一种将内部经验和外部感觉对齐从而增加部分区域的观察精细度的机制,能够利用有限的注意力资源从大量信息中快速筛选出高价值信息。注意力机制可以快速提取稀疏数据的重要特征,因而被广泛用于自然语言处理任务,特别是机器翻译。而自注意力机制(self-attention mechanism)是注意力机制的改进,其减少了对外部信息的依赖,更擅长捕捉数据或特征的内部相关性。注意力机制的本质思想可以改写为如下公式:
其中,Lx=||Source||代表Source的长度,公式含义即将Source中的构成元素想象成是由一系列的数据对构成,此时给定目标Target中的某个元素Query,通过计算Query和各个Key的相似性或者相关性,得到每个Key对应Value的权重系数,然后对Value进行加权求和,即得到了最终的Attention数值。所以本质上Attention机制是对Source中元素的Value值进行加权求和,而Query和Key用来计算对应Value的权重系数。从概念上理解,把Attention可以理解为从大量信息中有选择地筛选出少量重要信息并聚焦到这些重要信息上,忽略大多不重要的信息。聚焦的过程体现在权重系数的计算上,权重越大越聚焦于其对应的Value值上,即权重代表了信息的重要性,而Value是其对应的信息。自注意力机制可以理解为内部Attention(intra attention),Attention机制发生在Target的元素Query和Source中的所有元素之间,自注意力机制指的是在Source内部元素之间或者Target内部元素之间发生的Attention机制,也可以理解为Target=Source这种特殊情况下的注意力计算机制,其具体计算过程是一样的,只是计算对象发生了变化而已。
(4)自然语言处理(natural language processing,NLP)
自然语言(natural language)即人类语言,自然语言处理(NLP)就是对人类语言的处理。自然语言处理是以一种智能与高效的方式,对文本数据进行系统化分析、理解与信息提取的过程。通过使用NLP及其组件,我们可以管理非常大块的文本数据,或者执行大量的自动化任务,并且解决各式各样的问题,如自动摘要(automatic summarization),机器翻译(machine translation,MT),命名实体识别(named entity recognition,NER),关系提取(relation extraction,RE),信息抽取(information extraction,IE),情感分析,语音识别(speech recognition),问答系统(question answering)以及主题分割等等。
(5)预训练语言模型(pre-trained language model,PLM)
预训练语言模型是一个自然语言序列编码器,为自然语言序列中的每个词进行编码成为一个向量表示,从而进行预测任务。它的训练包含两个阶段。在预训练(pre-training)阶段,该模型在大规模无监督文本上进行语言模型任务的训练,从而学习到一个词表示。在微调(finetuning)阶段,该模型利用预训练阶段学到的参数做初始化,在文本分类(text classification),序列标注(sequence labeling)等下游任务(downstreamtask)上进行较少步骤的训练,就可以成功把预训练得到的语义信息成功迁移到下游任务上来。
(6)序列到序列的自然语言生成
序列到序列的自然语言生成是自然语言处理任务中非常重要的一个方向,常采用编码器-解码器的设计框架。给定一个训练实例(X,Y),其中X为源序列的句子,Y为目标序列。在训练过程中将X输入到编码器并产生一组向量表示z,然后通过交叉注意力模块将表示z输入到解码器中,并在解码器端解码生成目标序列Y。根据生成目标序列方式的不同,可以将序列生成任务分为自回归的生成和非自回归(并行)生成。自回归生成是指在生成目标序列的过程中,首先预测生成目标序列的第一个字符,然后根据已经生成的子序列一步一步的预测整个目标序列。非自回归生成则是指在解码时并行的生成完整的目标序列,不再需要一步一步的迭代过程,从而极大的缩减了生成目标序列所等待的时间。对于翻译、对话等对实时性要求较高的任务来说,非自回归的生成变得越发重要。
(7)预训练词向量
例如Word2Vec,CBOW和Glove等从无标注语料中训练得到词向量可以视为最早的语言表示模。词向量模型结构简单,但是能够捕获潜在的文本中词之间的语法和语义信息。
(8)预训练循环神经网络编码模型
例如LSTM和双向LSTM作为编码器,能得到上下文相关的embedding。在使用序列到序列的架构的情况下,能够得到更有效的词向量表征并且对如机器翻译等下游任务上取得明显的进展。在双向LSTM的基础上,研究者提出了ELMO模型,产出的上下文语义表示对下游任务有着进一步的提升。然而早期基于循环神经网络的预训练模型参数往往是固定的,主模型参数依旧需要重头训练,因此,ULMFiT模型提出改进,首先在通用的语料上进行预训练,并在与预训练语料相关的目标任务相关的数据集上进行微调(Finetune)。
(9)基于自注意力架构的预训练语言模型
随着自注意力架构模型(Transformer)的引入,预训练语言模型结构更加复杂,层数更多的预训练语言模型的到更多的研究,如GPT和BERT等相关模型,这类模型通常使用语言模型目标函数,带掩码机制的语言模型目标函数,全排序的语言模型目标函数和基于对比学习的目标函数对海量的语料数据进行预训练。
应理解,上述架构还可以适用于其他自然语言处理任务,例如自然语言合成、语义理解、摘要生成等等。
(10)领域自适应(Domain Adaptation)
预训练的语言模型,如BERT和RoBERTa,在NLP任务上取得了很好的表现。通常情况下,这些通用模型首先在大型无标签语料库上进行预训练,然后直接在下游任务上进行微调。然而,在无标签的预训练语料库和有标签的任务语料库之间存在固有的文本分布差距,这导致了分布偏移问题,使PLM在某些领域任务上表现不佳。为了解决这个分布偏移问题,相关研究提出了领域自适应预训练,在大规模的领域语料上进一步预训练一般的PLM,取得比一般PLM更好的性能。
最近,PLM的领域转移问题吸引了越来越多的研究,因为预训练语料和下游任务之间的领域差异会导致性能大幅下降。在自适应预训练后会出现对一般领域知识的灾难性遗忘,从而导致下游任务的表现较差。灾难性遗忘是连续学习中的一个常见现象,它发生在一个训练有素的模型忘记了以前学过的知识而过度适应新的任务。
现有的实现中,通过基于记忆的方法来降低灾难性遗忘,具体的,通过将过去任务中的重要样本存储在外部记忆中,并通过一些梯度变换策略对其进行排练来减轻遗忘。然而,上述方法需要使用外部存储器占用额外的存储空间来保存过去任务的样本。
为了解决上述问题,本申请实施例提供了一种数据处理方法。
参照图6A,图6A为本申请实施例提供的一种数据处理方法的实施例示意,本申请实施例提供的一种数据处理方法可以应用在上述描述的训练设备或者执行设备中,具体的,数据处理方法可以应用在手机、平板、笔记本电脑、智能穿戴设备等终端设备上,或者应用在云侧的服务器上,如图6A示出的那样,本申请实施例提供的一种数据处理方法,包括:
601、通过第一预训练语言模型PLM,处理文本数据,得到目标特征表示;其中,所述第一PLM包括一个或多个第一网络层,所述目标特征表示为根据所述一个或多个第一网络层输出的第一特征表示得到。
在一种可能的实现中,可以获取到针对于PLM的训练样本(也就是文本数据),其中,示例性的,训练样本可以包括第一数据序列和第二数据序列,第一数据序列可以基于源语料得到,第二数据序列可以基于目标语料得到,PLM需要基于源语料来预测并生成目标语料。
在一种可能的实现中,PLM可以用于实现不同语言类型之间的序列转换任务,例如可以为文本翻译任务、不同语言之间的摘要生成任务等,则第一数据序列和第二数据序列可以为包括不同语言类型的文本(不限定第一数据序列中的每个数据单元都和第二数据序列中数据单元是不同的语言类型,例如第一数据序列中的部分数据单元和第二数据序列中数据单元(部分或全部数据单元)是相同的语言类型)。其中,语言类型也可以称之为语种。
例如,在中英翻译任务中,原文文本是“这次旅行需要认真计划”,与其平行对应的英文文本为“The trip needscareful planning”,则“这次旅行需要认真计划”和“Thetrip needs careful planning”可以看做一组平行语料,该组平行语料是中英平行语言对,可以将原文文本“这次旅行需要认真计划”看做该组平行语料的源语料,将译文文本“The trip needs careful planning”看做该组平行语料的目标语料。
例如,在英德翻译任务中,原文文本是“We danse on the grass”,与其平行对应的德文文本为“Wir tanzen auf dem gras”,则“We danse on the grass”和“Wir tanzenauf dem gras”可以看做一组平行语料,该组平行语料是英德平行语言对,可以将原文文本“We danse on the grass”看做该组平行语料的源语料,将译文文本“Wir tanzen auf demgras”看做该组平行语料的目标语料。
在一种可能的实现中,所述进行掩码操作前的所述第一数据序列和进行掩码操作前的所述第二数据序列为经过样本标注的不同数据序列。
在一种可能的实现中,PLM可以用于实现文本的摘要生成任务,则源语料可以为需要提取摘要的源语料,目标语料可以为需要生成的摘要文本。
在一种可能的实现中,PLM可以用于实现文本答复任务,则源语料可以为需要答复的源语料,目标语料可以为针对于源语料的答复内容。
在一种可能的实现中,进行掩码操作前的所述第一数据序列和进行掩码操作前的所述第二数据序列为相同的数据序列,也就是说进行掩码操作前的所述第一数据序列和进行掩码操作前的所述第二数据序列为未被标注的数据。
在一种可能的实现中,第一数据序列可以通过对原始的源语料进行掩码得到,第二数据序列可以通过对原始的目标语料进行掩码得到。其中,在所述PLM可以用于实现不同语言类型的文本之间的序列转换任务(例如翻译任务)的情况下,原始的源语料和原始的目标语料可以为不同语言类型表达的文本。
可选的,原始的源语料和原始的目标语料可以从外部的数据库中得到。
在一种可能的实现中,PLM可以包括嵌入层,可以通过嵌入层对数据序列中未被掩码的数据单元进行嵌入处理。其中嵌入层可以称为输入嵌入(input embedding)层。当前输入可以为未被掩码的数据单元。嵌入层在获取当前输入后,可以对该当前输入中各个未被掩码的数据单元进行嵌入处理,可得到各个未被掩码的数据单元对应的嵌入向量。
在一些实施例中,还可以获取未被掩码的数据单元中的每个数据单元的位置向量,所述位置向量用于指示每个数据单元在数据序列中的位置,具体的,位置向量可以用于指示未被掩码的数据单元中的每个数据单元与其他被掩码的数据单元以及被掩码的数据单元之间的相对位置关系。
在一种可能的实现中,所述嵌入层可以包括输入嵌入层和位置编码(positionalencoding)层。在输入嵌入层,可以对当前输入中的未被掩码的数据单元中的每个数据单元进行词嵌入处理,从而得到未被掩码的数据单元中的每个数据单元的词向量(例如可以表示语义信息)。在位置编码层,可以获取未被掩码的数据单元中的每个数据单元在该当前输入中的位置,进而对未被掩码的数据单元中的每个数据单元的位置生成位置向量。
在一些示例中,未被掩码的数据单元中的每个数据单元在数据序列中的位置信息可以为未被掩码的数据单元中的每个数据单元在数据序列中的绝对位置。以当前输入为“几号应还花呗”为例,其中的“几”的位置可以表示为第一位,“号”的位置可以表示为第二位,……。在一些示例中,未被掩码的数据单元中的每个数据单元在数据序列中的位置可以为未被掩码的数据单元中的每个数据单元在数据序列中的相对位置。仍以当前输入为“几号应还花呗”为例,其中的“几”的位置可以表示为“号”之前,“号”的位置可以表示为“几”之后、“应”之前,……。当得到当前输入中未被掩码的数据单元中的每个数据单元的词向量和位置向量时,可以将未被掩码的数据单元中的每个数据单元的位置向量和对应的词向量进行融合,得到未被掩码的数据单元中的每个数据单元的嵌入向量。应理解,融合的方式可以是对位置向量和对应的词向量进行加法运算,或者是通过其他运算,这里并不限定具体的融合方式。嵌入向量可以表示为具有预设维度的嵌入矩阵。可以设定该嵌入向量的个数为M,预设维度为H维,则嵌入向量可以表示为M×H的嵌入矩阵。
在一种可能的实现中,所述第一PLM为基于多领域的文本数据训练得到。
在一种可能的实现中,所述第一PLM为参数固定的模型。
也就是说,第一PLM可以为参数固定的通用预训练语言模型,也就是不存在灾难性遗忘的模型,在模型更新的过程中,特定领域的预训练语言模型会根据损失函数值更新梯度的大小。为了保持通用领域知识的不变性,通用领域模型的参数会固定住,因此通用领域的模型梯度不会在训练过程中发生改变。因此,参数固定的预训练语言模型不会受到遗忘的影响。
本申请实施例中,第一PLM可以包括多个网络层(例如包括一个或多个第一网络层)可以将第一PLM中一个或多个第一网络层的输出传输至待训练的神经网络模型(也就是本申请实施例中的第二PLM),进而将通用领域的知识(来自于第一PLM)和特定领域的知识进行融合,进而降低第二PLM的灾难性遗忘的程度。
在一种可能的实现中,第一PLM和第二PLM可以为Pangu模型、BERT系列模型、GPT系列模型等。
在一种可能的实现中,第一PLM的第一网络层可以为transformer层。
在一种可能实现中,PLM可以包括串行的多个transformer层。可以通过每个所述transformer层,对与所述transformer层相邻的上一个transformer层输出的数据进行处理,以得到中间向量,并将所述中间向量输出至与所述transformer层相邻的下一个transformer层;其中,若所述transformer层为所述多个transformer层中最靠近输入侧的transformer层,则所述transformer层的输入数据为嵌入向量;若所述transformer层为所述多个transformer层中最靠近输出侧的transformer层,则所述transformer层输出的数据为隐状态。
transformer层的核心特点在于其采用的独特的注意力机制。在处理自然语言,例如一个句子时,transformer模型利用该注意力机制,为句子中各个词的嵌入向量赋予不同的注意力系数,从而更全面地考虑句子中上下文对各个词的影响。具体的transformer层可以包括依次相邻的多头注意力层、加和与归一化(add&norm)层、前馈(feed forward)层、加和与归一化层。其中,注意力层与嵌入层相连,从嵌入层获取嵌入向量作为输入向量,基于嵌入向量中各个嵌入向量之间的关联度,对各个嵌入向量进行综合,得到输出向量,输出给后续的transformer层。transformer层获取前一层的输出作为输入向量,执行与前一级transformer层类似的操作。
参照图6C,图6C为一种transformer层的结构示意,本申请实施例中的各个transformer层都可以参照图6C中示出的结构,如图6C中示出的那样,transformer层包括依次相邻的多头注意力层、加和与归一化(add&norm)层、前馈(feed forward)层、加和与归一化层。
其中,多头注意力层从其上一层获取M个输入向量Xl,又可以表示为矩阵X,采用自注意力机制,基于向量间的关联度对各个向量进行变换,得到M个输出向量,又可以表示为矩阵Y。可以理解,当该多头注意力层是与嵌入层直接相连的层,其获取的输入向量即为嵌入层输出的嵌入向量;当该多头注意力层是后续的transformer层包括的多头注意力层,其获取的输入向量即为前一级transformer层的输出向量。在多头注意力层,基于多头注意力(multi-head attention,MHA)的MHA层包括多个注意力头head(如图6C中示出的Head 1、Head 2、…、Head N)。
图6D为一个注意力头head的操作示意图,该示意图示出注意力头head如何将输入矩阵X变换为输出矩阵Y。如图6D所示,分别采用第一变换矩阵Q,第二变换矩阵K和第三变换矩阵V对M个输入向量<X1,X2,…,XN>中各个输入向量Xi进行变换,得到各个输入向量对应的第一中间向量(q向量),第二中间向量(k向量)和第三中间向量(v向量)。操作上,可以分别用第一变换矩阵Q,第二变换矩阵K和第三变换矩阵V,对N个输入向量构成的输入矩阵X进行线性变换,分别得到输入矩阵的Q矩阵,K矩阵和V矩阵,再分别对矩阵进行拆分,即可得到各个输入向量对应的q向量,k向量和v向量。对于M个输入向量中任意的第i输入向量Xi,基于该第i输入向量对应的第一中间向量(q向量,qi)与各个输入向量Xj对应的各个第二中间向量(k向量,kj)的点乘操作,确定该第i输入向量Xi与各个输入向量Xj的各个关联度。尽管也可以直接将qi与kj的点乘结果确定为关联度,但是更经典地,先将点乘结果除以一常数,然后进行softmax运算,将运算结果作为输入向量Xi与Xj的关联度,即:
Figure BDA0003991924500000181
于是,可以以该第i输入向量Xi与各个输入向量Xj的各个关联度αi,j作为权重因子,对各个输入向量Xj对应的第三中间向量(v向量,vj)进行加权组合,得到该第i输入向量Xi对应的第i组合向量Ci:
Figure BDA0003991924500000182
于是,可以得到M个输入向量对应的M个组合向量的向量序列<C1,C2,…,CN>,或矩阵C。基于该组合向量序列,可以得到M个输出向量。具体地,在一个实施例中,可以直接将N个组合向量的向量序列作为M个输出向量,即Yi=Ci。此时,输出矩阵Y即为组合向量矩阵C,又可以写成:
Figure BDA0003991924500000183
/>
以上为一个注意力头head的处理过程描述,在MHA架构中,MHA层维护m套变换矩阵,每套变换矩阵包括前述第一变换矩阵Q、第二变换矩阵K和第三变换矩阵V,从而可以并行地进行上述操作,得到m个组合向量序列(即m个矩阵C),每个向量序列包括基于一套变换矩阵得到的N个组合向量。在这样的情况下,MHA层将得到的m个组合向量序列进行拼接,得到拼接矩阵;再通过第四变换矩阵W对该拼接矩阵进行变换,得到最终的输出矩阵Y。将该输出矩阵Y拆分即对应于M个输出向量<Y1,Y2,…,YN>。通过以上的操作过程,MHA层基于N个输入向量之间的关联度进行变换操作,得到M个输出向量。
如图8中示出的那样,transformer层可以包括前馈层,其中前馈层包括输入层、中间层intermediate layer以及输出层。如前所述,神经网络模型可以包含多个transformer层。在一个实施例中,上述多个transformer层可以采用残差网络的方式堆叠连接。
接下来首先介绍如何将第一PLM中一个或多个第一网络层的输出进行融合。
在一种可能的实现中,可以将第一PLM中一个第一网络层的输出(目标特征表示)传输至第二PLM中。
在一种可能的实现中,可以将第一PLM中多个第一网络层的输出进行融合,得到目标特征表示,并将目标特征表示传输至第二PLM中。其中,多个网络层中的每个第一网络层可以得到一个第一特征表示,进而可以将多个第一特征表示进行融合,得到所述目标特征表示。
在一种可能的实现中,可以根据多个所述第一网络层输出的第一特征表示、以及每个第一网络层对应的权重,通过加权求和,得到所述目标特征表示。每个第一网络层对应的权重可以在训练过程中被更新,权重较大的第一网络层的输出可以被认为是更重要的。
上述加权求和的融合方式可以称之为门控记忆转移策略,利用细粒度token水平的门控机制,自适应地将不同层的同一token表征进行权重(可学习或者调整的参数)计算,并将其加权求和成为一个记忆表征,然后将其融合成一层特定领域的PLM。门控记忆转移策略如图6B所示,图6B的左边为隐藏层记忆表征缓存,图6B的右边为特定领域预训练语言模型。
在得到目标特征表示之后,可以将目标特征表示输入到第二PLM的一个网络层中。具体的,可以输入到第二PLM的一个网络层的注意力层中。
接下来不同的层对应情况进行介绍,从本质上讲,这是一个通用的预训练语言模型和特定领域的预训练语言模型之间的一对多、多对多或者多对一的层分配问题。
情况1:
参照图7,可以仅将第一PLM中的一个网络层输出的特征表示输入至第二PLM中的一个注意力层中。
情况2:
参照图8,可以将第一PLM中的多个网络层输出的特征表示输入至第二PLM中的多个注意力层中,每个网络层输出的特征表示输入至第二PLM中的一个注意力层中。其中,多个网络层可以为第一PLM的部分网络层。
情况3:
可以将第一PLM中的多个网络层输出的特征表示输入至第二PLM中的多个注意力层中,每个网络层输出的特征表示输入至第二PLM中的一个注意力层中。其中,多个网络层可以为第一PLM的全部网络层(所谓全部网络层,可以理解为用于得到特征表示的全部网络层,例如可以不包括输出层)。
情况4:
参照图9,可以仅将第一PLM中的多个网络层输出的特征表示进行融合,并将融合结果输入至第二PLM中的一个注意力层中。其中,多个网络层可以为第一PLM的部分网络层。
情况5:
可以仅将第一PLM中的多个网络层输出的特征表示进行融合,并将融合结果输入至第二PLM中的一个注意力层中,每个网络层输出的特征表示输入至第二PLM中的一个注意力层中。其中,多个网络层可以为第一PLM的全部网络层(所谓全部网络层,可以理解为用于得到特征表示的全部网络层,例如可以不包括输出层)。
情况6:
参照图10,可以将第一PLM中的多组网络层中的每组网络层进行融合(每组网络层可以包括多个网络层),得到多个融合结果,并将多个融合结果中的每个融合结果输入至第二PLM中一个注意力层中。其中,多组网络层包括的网络层可以为第一PLM的部分网络层。
情况7:
可以将第一PLM中的多组网络层中的每组网络层进行融合(每组网络层可以包括多个网络层),得到多个融合结果,并将多个融合结果中的每个融合结果输入至第二PLM中一个注意力层中。其中,多组网络层包括的网络层可以为第一PLM的全部网络层(所谓全部网络层,可以理解为用于得到特征表示的全部网络层,例如可以不包括输出层)。
情况8:
参照图11,可以将第一PLM中的多组网络层中的每组网络层进行融合(每组网络层可以包括一个或多个网络层,在包括一个网络层的情况下,该组网络层不需要融合),得到多个融合结果,并将多个融合结果中的每个融合结果输入至第二PLM中一个注意力层中。
上述情况1、4、5可以称之为单层记忆转移策略,也就是说,可以根据隐藏层记忆表征缓存的最后一个隐藏状态(不限定哪一个或者多个)提取Mf(融合结果或者拿到某一层输出),然后将其融合到特定领域的预训练语言模型其中的一层中。上述情况2、3可以称之为多层记忆转移策略:单层记忆转移策略可能忽略了从通用的预训练语言模型中浅层学到的知识。为了在通用预训练语言模型和特定领域的预训练语言模型之间进行分层互动,提出了一个多层转移策略。这个策略利用隐藏层记忆表征缓存中的所有隐藏状态作为内存表征,然后将它们融合到特定领域预训练与语言模型的相应层中,这也不会引入任何新的参数。
由于预训练的语言模型的上层和下层的表征有很大的不同。基于这一观察,提出了基于块的变体(也就是上述情况6、7、8),将一般PLM的各层分离为高层块和低层块,然后应用门控融合策略,分别得到上层和下层的记忆表征
Figure BDA0003991924500000211
和/>
Figure BDA0003991924500000212
最后,我们将它们融合到特定领域的预训练语言模型中的两个记忆增强层中。
在一种可能的实现中,所述第二PLM还包括第二注意力层以及与所述第二注意力层连接的第三网络层;所述第二注意力层的输入包括所述目标特征表示以及所述第三网络层输出的第三特征表示。此外,为了降低网络处理的复杂度,第二PLM的多个网络层还可以共享目标特征表示,也就是可以将目标特征表示输入到第二PLM的多个注意力层(例如包括第一注意力层和第二注意力层)。
602、通过第二PLM,处理所述文本数据;其中,所述第二PLM包括第一注意力层以及与所述第一注意力层连接的第二网络层;所述第一注意力层的输入包括所述目标特征表示以及所述第二网络层输出的第二特征表示。
本申请实施例中,将隐藏层记忆表征缓存(也就是目标特征表示)和领域相关的文本内容输入到特定领域的预训练模型中,该模型将领域相关文本内容进行前向推理。其中,既处理目标特征表示、又处理来自于自身模型的数据的注意力层可以称之为记忆增强层,在记忆增强层中,可以将记忆增强策略获得的知识表征与特定领域的知识表征进行注意力自适应融合。并将通用知识融合后的增强表前向传播到输出层,并提高模型在下游任务的泛化能力。
在一种可能的实现中,所述第一注意力层为所述第二PLM中最靠近输出层的注意力层。可选的,可以选择靠近特定领域PLM模型顶部的那一层作为记忆增强层,这个方法在实验中表现最好且不需要额外的参数。
接下来介绍本申请实施例中的第一注意力层,也就是记忆增强层。
在一种可能的实现中,可以通过所述第一注意力层,处理所述目标特征表示以及所述第二特征表示;其中,所述文本所述第一注意力层用于进行所述目标特征表示和所述第二特征表示中不同嵌入向量之间的交互,以得到注意力信息,每个所述嵌入向量对应于所述文本数据中的一个文本单元。
在一种可能的实现中,所述第一注意力层具体用于:根据所述目标特征表示,得到第一Q矩阵和第一V矩阵,以及根据第二特征表示,得到第一K矩阵;进行所述第一Q矩阵、所述第一V矩阵和所述第一K矩阵之间的交互。
由于输入既包括来自于通用的PLM(也就是第一PLM)的网络层的数据,又包括来自于自身网络(也就是第二PLM)的网络层的数据,因此,记忆增强层与传统的自注意力层的不同之处仅在于多头自我注意模块的设计。本申请实施例提出新的记忆增强型注意力模块,将通用领域的记忆表征融合到特定领域的预训练语言模型中,表示为记忆-注意力。具体是将记忆表征线性转化为新的值-键对,并将它们串联到由特定领域预训练语言模型产生的对的后面。然后进行多头自我关注,以适应性地融合这个新的串联表示。整个过程重复使用特定领域预训练语言模型的转换层的参数,不引入任何新的参数。因此,记忆增强层的公式简洁地表达为如下公式:
Figure BDA0003991924500000213
其中,下标i指当前层为i,下标j个指特定的注意力头j,
Figure BDA0003991924500000221
和/>
Figure BDA0003991924500000222
为串联后得到的新的值-键对,Qi,j为特定领域预训练语言模型的询问表征。
在一种可能的实现中,在所述通过第二PLM,处理所述文本数据之后,可以得到所述文本数据的处理结果;进而可以根据所述处理结果和对应的真值,更新所述第二PLM,得到更新后的所述第二PLM。
本申请提供了一种数据处理方法,所述方法包括:通过第一预训练语言模型PLM,处理文本数据,得到目标特征表示;其中,所述第一PLM包括一个或多个第一网络层,所述目标特征表示为根据所述一个或多个第一网络层输出的第一特征表示得到;通过第二PLM,处理所述文本数据;其中,所述第二PLM包括第一注意力层以及与所述第一注意力层连接的第二网络层;所述第一注意力层的输入包括所述目标特征表示以及所述第二网络层输出的第二特征表示。通过上述方式,从通用预训练语言模型(第一PLM)中有效地构建通用记忆知识表征,然后通过记忆增强层(第一注意力层)将其融合到特定领域的预训练语言模型(第二PLM)中,使得特定领域的预训练语言模型能够获取遗忘的通用领域知识,在不需要额外的存储空间的占用的前提下,减少了预训练过程中出现的灾难性遗忘问题。
接下来针对于本申请实施例中的数据处理方法描述一个具体的示意:
在该实施例中,本方法使用通用预训练语言模型(General RoBERTa)和领域预训练语言模型(包括生物医学领域,计算机领域,新闻领域,网络评论领域等)组成模型的主架构,在主架构的基础上我们进行记忆增强层和记忆增强策略的创新。如图1所示,在本实施例中,本方法将针对计算机领域的文本内容作为输入,该任务主要是对计算机领域文章功能的注释引文进行分类的任务。
具体的,如图12所示,对于每一个输入的特定领域的文本语句,首先将其进行词划分,并根据预训练语言模型提供的字典将词转为字典索引。同时获取每个词的位置编码,将其和词的字典索引一起向量化,并将词的位置编码和词向量进行相加融合。得到文本语句的初始表征之后,我们将表征首先通过一个参数固定的通用预训练语言模型。在参数固定的通用预训练语言模型中,输入表征后模型会进行前向推理,在每一层分别得到各自通用领域知识的表征,我们将其按层的顺序存储到隐藏层记忆缓存中。其次,我们将隐藏层记忆缓存和初始表征输入到特定领域的预训练语言模型中。此时,记忆增强策略模块会根据设定的策略从隐藏层记忆缓存中获取通用记忆表征Mf。在特定领域预训练模型的某一记忆增强层中,Mf会与来自特定领域知识表征的键K与值V分别进行串行拼接(Concatenate),得到同时包含通用领域知识和特定领域知识的键-值对。同时,特定领域知识表征的查询Q会与融合后的键-值对进行如公式1相同的注意力权重计算。通过注意力机制自适应地通过查询Q自动地选取通用领域和特定领域的知识,从而让模型不会遗忘曾经学到过的通用领域知识。经过通用领域的知识增强后,特定领域的预训练模型输出的融合表征将会前向传播到输出层,在输出层进行Softmax操作后获得每个种类的概率,并与标签索引值进行交叉熵操作获得前向传播损失。
在后向传播过程中,特定领域的预训练语言模型会根据损失函数值更新梯度的大小。为了保持通用领域知识的不变性,通用领域模型的参数会固定住,因此通用领域的模型梯度不会在训练过程中发生改变。
本申请实施例还提供了一种数据处理方法,应用于基于图6A对应的实施例训练得到的模型的推理过程,具体的,所述方法包括:
获取文本数据;
通过第二PLM,处理文本数据,得到所述文本数据对应的处理结果;其中,所述第二PLM包括第一注意力层以及与所述第一注意力层连接的第二网络层;在训练所述第二PLM时,所述第一注意力层的输入包括所述第二网络层输出的第二特征表示以及目标特征表示,所述目标特征表示为第一PLM在处理所述文本数据时一个或多个第一网络层输出的第一特征表示得到的。
在一种可能的实现中,所述第一PLM为基于多领域的文本数据训练得到。
在一种可能的实现中,所述目标特征表示具体为通过将多个所述第一网络层输出的第一特征表示进行融合得到的。
在一种可能的实现中,所述目标特征表示具体为通过将多个所述第一网络层输出的第一特征表示与每个第一网络层对应的权重进行加权求和得到的。
在一种可能的实现中,所述第二PLM还包括第二注意力层以及与所述第二注意力层连接的第三网络层;在训练所述第二PLM时,所述第二注意力层的输入包括所述目标特征表示以及所述第三网络层输出的第三特征表示。
在一种可能的实现中,所述第一注意力层为所述第二PLM中最靠近输出层的注意力层。
在一种可能的实现中,所述第一网络层和所述第二网络层为transformer层。
在图1至图12所对应的实施例的基础上,为了更好的实施本申请实施例的上述方案,下面还提供用于实施上述方案的相关设备。具体参阅图13,图13为本申请实施例提供的数据处理装置1300的一种结构示意图,数据处理装置1300可以是终端设备或服务器,数据处理装置1300可以包括:
处理模块1301,用于通过第一预训练语言模型PLM,处理文本数据,得到目标特征表示;其中,所述第一PLM包括一个或多个第一网络层,所述目标特征表示为根据所述一个或多个第一网络层输出的第一特征表示得到;
通过第二PLM,处理所述文本数据;其中,所述第二PLM包括第一注意力层以及与所述第一注意力层连接的第二网络层;所述第一注意力层的输入包括所述目标特征表示以及所述第二网络层输出的第二特征表示。
其中,关于处理模块1301的具体描述可以参照上述实施例中步骤601和602的描述,这里不再赘述。
在一种可能的实现中,所述第一PLM为基于多领域的文本数据训练得到。
在一种可能的实现中,所述处理模块,具体用于:
通过第一预训练语言模型PLM,处理文本数据,得到多个所述第一网络层输出的第一特征表示;
将多个所述第一网络层输出的第一特征表示进行融合,得到所述目标特征表示。
在一种可能的实现中,所述处理模块,具体用于:
根据多个所述第一网络层输出的第一特征表示、以及每个第一网络层对应的权重,通过加权求和,得到所述目标特征表示。
在一种可能的实现中,所述第二PLM还包括第二注意力层以及与所述第二注意力层连接的第三网络层;所述第二注意力层的输入包括所述目标特征表示以及所述第三网络层输出的第三特征表示。
在一种可能的实现中,所述第一注意力层为所述第二PLM中最靠近输出层的注意力层。
在一种可能的实现中,所述处理模块,具体用于:
通过所述第一注意力层,处理所述目标特征表示以及所述第二特征表示;其中,所述文本所述第一注意力层用于进行所述目标特征表示和所述第二特征表示中不同嵌入向量之间的交互,以得到注意力信息,每个所述嵌入向量对应于所述文本数据中的一个文本单元。
在一种可能的实现中,所述第一注意力层具体用于:
根据所述目标特征表示,得到第一Q矩阵和第一V矩阵,以及根据第二特征表示,得到第一K矩阵;
进行所述第一Q矩阵、所述第一V矩阵和所述第一K矩阵之间的交互。
在一种可能的实现中,所述第一网络层和所述第二网络层为transformer层。
在一种可能的实现中,在所述通过第二PLM,处理所述文本数据之后,得到所述文本数据的处理结果;所述装置还包括:
更新模块,用于根据所述处理结果和对应的真值,更新所述第二PLM,得到更新后的所述第二PLM。
在一种可能的实现中,所述目标特征表示具体为通过将多个所述第一网络层输出的第一特征表示进行融合得到的。
在一种可能的实现中,所述目标特征表示具体为通过将多个所述第一网络层输出的第一特征表示与每个第一网络层对应的权重进行加权求和得到的。
在一种可能的实现中,所述第二PLM还包括第二注意力层以及与所述第二注意力层连接的第三网络层;在训练所述第二PLM时,所述第二注意力层的输入包括所述目标特征表示以及所述第三网络层输出的第三特征表示。
在一种可能的实现中,所述第一注意力层为所述第二PLM中最靠近输出层的注意力层。
在一种可能的实现中,所述第一网络层和所述第二网络层为transformer层。
本申请实施例还提供了一种数据处理装置,所述装置包括:
处理模块,用于获取文本数据;
通过第二PLM,处理文本数据,得到所述文本数据对应的处理结果;其中,所述第二PLM包括第一注意力层以及与所述第一注意力层连接的第二网络层;在训练所述第二PLM时,所述第一注意力层的输入包括所述第二网络层输出的第二特征表示以及目标特征表示,所述目标特征表示为第一PLM在处理所述文本数据时一个或多个第一网络层输出的特征表示得到的。
在一种可能的实现中,所述第一PLM为基于多领域的文本数据训练得到。
在一种可能的实现中,所述目标特征表示具体为通过将多个所述第一网络层输出的第一特征表示进行融合得到的。
在一种可能的实现中,所述目标特征表示具体为通过将多个所述第一网络层输出的第一特征表示与每个第一网络层对应的权重进行加权求和得到的。
在一种可能的实现中,所述第二PLM还包括第二注意力层以及与所述第二注意力层连接的第三网络层;在训练所述第二PLM时,所述第二注意力层的输入包括所述目标特征表示以及所述第三网络层输出的第三特征表示。
在一种可能的实现中,所述第一注意力层为所述第二PLM中最靠近输出层的注意力层。
在一种可能的实现中,所述第一网络层和所述第二网络层为transformer层。
接下来介绍本申请实施例提供的一种执行设备,请参阅图14,图14为本申请实施例提供的执行设备的一种结构示意图,执行设备1400具体可以表现为虚拟现实VR设备、手机、平板、笔记本电脑、智能穿戴设备、监控数据处理设备或服务器等,此处不做限定。具体的,执行设备1400包括:接收器1401、发射器1402、处理器1403和存储器1404(其中执行设备1400中的处理器1403的数量可以一个或多个,图14中以一个处理器为例),其中,处理器1403可以包括应用处理器14031和通信处理器14032。在本申请的一些实施例中,接收器1401、发射器1402、处理器1403和存储器1404可通过总线或其它方式连接。
存储器1404可以包括只读存储器和随机存取存储器,并向处理器1403提供指令和数据。存储器1404的一部分还可以包括非易失性随机存取存储器(non-volatile randomaccess memory,NVRAM)。存储器1404存储有处理器和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。
处理器1403控制执行设备的操作。具体的应用中,执行设备的各个组件通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都称为总线系统。
上述本申请实施例揭示的方法可以应用于处理器1403中,或者由处理器1403实现。处理器1403可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1403中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1403可以是通用处理器、数字信号处理器(digital signal processing,DSP)、微处理器或微控制器,还可进一步包括专用集成电路(application specific integratedcircuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。该处理器1403可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1404,处理器1403读取存储器1404中的信息,结合其硬件完成上述方法的步骤。
接收器1401可用于接收输入的数字或字符信息,以及产生与执行设备的相关设置以及功能控制有关的信号输入。发射器1402可用于通过第一接口输出数字或字符信息;发射器1402还可用于通过第一接口向磁盘组发送指令,以修改磁盘组中的数据;发射器1402还可以包括显示屏等显示设备。
本申请实施例还提供了一种训练设备,请参阅图15,图15是本申请实施例提供的训练设备一种结构示意图,具体的,训练设备1500由一个或多个服务器实现,训练设备1500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessing units,CPU)1515(例如,一个或一个以上处理器)和存储器1532,一个或一个以上存储应用程序1542或数据1544的存储介质1530(例如一个或一个以上海量存储设备)。其中,存储器1532和存储介质1530可以是短暂存储或持久存储。存储在存储介质1530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对训练设备中的一系列指令操作。更进一步地,中央处理器1515可以设置为与存储介质1530通信,在训练设备1500上执行存储介质1530中的一系列指令操作。
训练设备1500还可以包括一个或一个以上电源1526,一个或一个以上有线或无线网络接口1550,一个或一个以上输入输出接口1558;或,一个或一个以上操作系统1541,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
本申请实施例中,中央处理器1515,用于执行图6A对应实施例中描述的数据处理方法。
本申请实施例中还提供一种包括计算机程序产品,当其在计算机上运行时,使得计算机执行如前述执行设备所执行的步骤,或者,使得计算机执行如前述训练设备所执行的步骤。
本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有用于进行信号处理的程序,当其在计算机上运行时,使得计算机执行如前述执行设备所执行的步骤,或者,使得计算机执行如前述训练设备所执行的步骤。
本申请实施例提供的执行设备、训练设备或终端设备具体可以为芯片,芯片包括:处理单元和通信单元,所述处理单元例如可以是处理器,所述通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使执行设备内的芯片执行上述实施例描述的模型训练方法,或者,以使训练设备内的芯片执行上述实施例描述的模型训练方法。可选地,所述存储单元为所述芯片内的存储单元,如寄存器、缓存等,所述存储单元还可以是所述无线接入设备端内的位于所述芯片外部的存储单元,如只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)等。
具体的,请参阅图16,图16为本申请实施例提供的芯片的一种结构示意图,上述图6A对应的实施例中描述的数据处理方法可以在图16所示的芯片中实现。具体的,所述芯片可以表现为神经网络处理器NPU 1600,NPU 1600作为协处理器挂载到主CPU(Host CPU)上,由Host CPU分配任务。NPU的核心部分为运算电路1603,控制器1604控制运算电路1603提取存储器(权重存储器或输入存储器)中的数据并进行运算。
可选的,上述图6A对应的实施例中描述的模型训练方法可以由图16所示的芯片中的主CPU和NPU共同配合完成。
在一些实现中,运算电路1603内部包括多个处理单元(Process Engine,PE)。在一些实现中,运算电路1603是二维脉动阵列。运算电路1603还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路1603是通用的矩阵处理器。
举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路从权重存储器1602中取矩阵B相应的数据,并缓存在运算电路中每一个PE上。运算电路从输入存储器1601中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器(accumulator)1608中。
统一存储器1606用于存放输入数据以及输出数据。权重数据直接通过存储单元访问控制器(Direct Memory Access Controller,DMAC)1605,DMAC被搬运到权重存储器1602中。输入数据也通过DMAC被搬运到统一存储器1606中。
BIU为Bus Interface Unit即,总线接口单元1610,用于AXI总线与DMAC和取指存储器(Instruction Fetch Buffer,IFB)1609的交互。
总线接口单元1610(Bus Interface Unit,简称BIU),用于取指存储器1609从外部存储器获取指令,还用于存储单元访问控制器1605从外部存储器获取输入矩阵A或者权重矩阵B的原数据。
DMAC主要用于将外部存储器DDR中的输入数据搬运到统一存储器1606或将权重数据搬运到权重存储器1602中或将输入数据数据搬运到输入存储器1601中。
向量计算单元1607包括多个运算处理单元,在需要的情况下,对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。主要用于神经网络中非卷积/全连接层网络计算,如Batch Normalization(批归一化),像素级求和,对特征平面进行上采样等。
在一些实现中,向量计算单元1607能将经处理的输出的向量存储到统一存储器1606。例如,向量计算单元1607可以将线性函数;或,非线性函数应用到运算电路1603的输出,例如对卷积层提取的特征平面进行线性插值,再例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元1607生成归一化的值、像素级求和的值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路1603的激活输入,例如用于在神经网络中的后续层中的使用。
控制器1604连接的取指存储器(instruction fetch buffer)1609,用于存储控制器1604使用的指令;
统一存储器1606,输入存储器1601,权重存储器1602以及取指存储器1609均为On-Chip存储器。外部存储器私有于该NPU硬件架构。
其中,上述任一处提到的处理器,可以是一个通用中央处理器,微处理器,ASIC,或一个或多个用于控制上述程序执行的集成电路。
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、ROM、RAM、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,训练设备,或者网络设备等)执行本申请各个实施例所述的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、训练设备或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、训练设备或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的训练设备、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。

Claims (27)

1.一种数据处理方法,其特征在于,所述方法包括:
通过第一预训练语言模型PLM,处理文本数据,得到目标特征表示;其中,所述第一PLM包括一个或多个第一网络层,所述目标特征表示为根据所述一个或多个第一网络层输出的第一特征表示得到;
通过第二PLM,处理所述文本数据;其中,所述第二PLM包括第一注意力层以及与所述第一注意力层连接的第二网络层;所述第一注意力层的输入包括所述目标特征表示以及所述第二网络层输出的第二特征表示。
2.根据权利要求1所述的方法,其特征在于,所述第一PLM为基于多领域的文本数据训练得到;或者,
所述第一PLM为参数固定的模型。
3.根据权利要求1或2所述的方法,其特征在于,所述通过第一预训练语言模型PLM,处理文本数据,得到目标特征表示,包括:
通过第一预训练语言模型PLM,处理文本数据,得到多个所述第一网络层输出的第一特征表示;
将多个所述第一网络层输出的第一特征表示进行融合,得到所述目标特征表示。
4.根据权利要求1至3任一所述的方法,其特征在于,所述将所述第一网络层输出的第一特征表示进行融合,得到所述目标特征表示,包括:
根据多个所述第一网络层输出的第一特征表示、以及每个第一网络层对应的权重,通过加权求和,得到所述目标特征表示。
5.根据权利要求1至4任一所述的方法,其特征在于,所述第二PLM还包括第二注意力层以及与所述第二注意力层连接的第三网络层;所述第二注意力层的输入包括所述目标特征表示以及所述第三网络层输出的第三特征表示。
6.根据权利要求1至5任一所述的方法,其特征在于,所述第一注意力层为所述第二PLM中最靠近输出层的注意力层。
7.根据权利要求1至6任一所述的方法,其特征在于,所述通过第二PLM,处理所述文本数据,包括:
通过所述第一注意力层,处理所述目标特征表示以及所述第二特征表示;其中,所述文本所述第一注意力层用于进行所述目标特征表示和所述第二特征表示中不同嵌入向量之间的交互,以得到注意力信息,每个所述嵌入向量对应于所述文本数据中的一个文本单元。
8.根据权利要求7所述的方法,其特征在于,所述第一注意力层具体用于:
根据所述目标特征表示,得到第一Q矩阵和第一V矩阵,以及根据第二特征表示,得到第一K矩阵;
进行所述第一Q矩阵、所述第一V矩阵和所述第一K矩阵之间的交互。
9.根据权利要求1至8任一所述的方法,其特征在于,所述第一网络层和所述第二网络层为transformer层。
10.根据权利要求1至9任一所述的方法,其特征在于,在所述通过第二PLM,处理所述文本数据之后,得到所述文本数据的处理结果;所述方法还包括:
根据所述处理结果和对应的真值,更新所述第二PLM,得到更新后的所述第二PLM。
11.一种数据处理方法,其特征在于,所述方法包括:
获取文本数据;
通过第二PLM,处理文本数据,得到所述文本数据对应的处理结果;其中,所述第二PLM包括第一注意力层以及与所述第一注意力层连接的第二网络层;在训练所述第二PLM时,所述第一注意力层的输入包括所述第二网络层输出的第二特征表示以及目标特征表示,所述目标特征表示为第一PLM在处理所述文本数据时一个或多个第一网络层输出的特征表示得到的。
12.根据权利要求11所述的方法,其特征在于,所述第一PLM为基于多领域的文本数据训练得到;或者,
所述第一PLM为参数固定的模型。
13.一种数据处理装置,其特征在于,所述装置包括:
处理模块,用于通过第一预训练语言模型PLM,处理文本数据,得到目标特征表示;其中,所述第一PLM包括一个或多个第一网络层,所述目标特征表示为根据所述一个或多个第一网络层输出的第一特征表示得到;
通过第二PLM,处理所述文本数据;其中,所述第二PLM包括第一注意力层以及与所述第一注意力层连接的第二网络层;所述第一注意力层的输入包括所述目标特征表示以及所述第二网络层输出的第二特征表示。
14.根据权利要求13所述的装置,其特征在于,所述第一PLM为基于多领域的文本数据训练得到;或者,
所述第一PLM为参数固定的模型。
15.根据权利要求13或14所述的装置,其特征在于,所述处理模块,具体用于:
通过第一预训练语言模型PLM,处理文本数据,得到多个所述第一网络层输出的第一特征表示;
将多个所述第一网络层输出的第一特征表示进行融合,得到所述目标特征表示。
16.根据权利要求13至15任一所述的装置,其特征在于,所述处理模块,具体用于:
根据多个所述第一网络层输出的第一特征表示、以及每个第一网络层对应的权重,通过加权求和,得到所述目标特征表示。
17.根据权利要求13至16任一所述的装置,其特征在于,所述第二PLM还包括第二注意力层以及与所述第二注意力层连接的第三网络层;所述第二注意力层的输入包括所述目标特征表示以及所述第三网络层输出的第三特征表示。
18.根据权利要求13至17任一所述的装置,其特征在于,所述第一注意力层为所述第二PLM中最靠近输出层的注意力层。
19.根据权利要求13至18任一所述的装置,其特征在于,所述处理模块,具体用于:
通过所述第一注意力层,处理所述目标特征表示以及所述第二特征表示;其中,所述文本所述第一注意力层用于进行所述目标特征表示和所述第二特征表示中不同嵌入向量之间的交互,以得到注意力信息,每个所述嵌入向量对应于所述文本数据中的一个文本单元。
20.根据权利要求19所述的装置,其特征在于,所述第一注意力层具体用于:
根据所述目标特征表示,得到第一Q矩阵和第一V矩阵,以及根据第二特征表示,得到第一K矩阵;
进行所述第一Q矩阵、所述第一V矩阵和所述第一K矩阵之间的交互。
21.根据权利要求13至20任一所述的装置,其特征在于,所述第一网络层和所述第二网络层为transformer层。
22.根据权利要求13至21任一所述的装置,其特征在于,在所述通过第二PLM,处理所述文本数据之后,得到所述文本数据的处理结果;所述装置还包括:
更新模块,用于根据所述处理结果和对应的真值,更新所述第二PLM,得到更新后的所述第二PLM。
23.一种数据处理装置,其特征在于,所述装置包括:
处理模块,用于获取文本数据;
通过第二PLM,处理文本数据,得到所述文本数据对应的处理结果;其中,所述第二PLM包括第一注意力层以及与所述第一注意力层连接的第二网络层;在训练所述第二PLM时,所述第一注意力层的输入包括所述第二网络层输出的第二特征表示以及目标特征表示,所述目标特征表示为第一PLM在处理所述文本数据时一个或多个第一网络层输出的特征表示得到的。
24.根据权利要求23所述的装置,其特征在于,所述第一PLM为基于多领域的文本数据训练得到;或者,
所述第一PLM为参数固定的模型。
25.一种数据处理装置,其特征在于,所述装置包括存储器和处理器;所述存储器存储有代码,所述处理器被配置为获取所述代码,并执行如权利要求1至12任一所述的方法。
26.一种计算机存储介质,其特征在于,所述计算机存储介质存储有一个或多个指令,所述指令在由一个或多个计算机执行时使得所述一个或多个计算机实施权利要求1至12任一所述的方法。
27.一种计算机程序产品,其特征在于,所述计算机程序产品包括代码,当所述代码被执行时,用于实现权利要求1至12任一项所述的方法的步骤。
CN202211586646.3A 2022-12-09 2022-12-09 一种数据处理方法及相关设备 Pending CN116432019A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211586646.3A CN116432019A (zh) 2022-12-09 2022-12-09 一种数据处理方法及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211586646.3A CN116432019A (zh) 2022-12-09 2022-12-09 一种数据处理方法及相关设备

Publications (1)

Publication Number Publication Date
CN116432019A true CN116432019A (zh) 2023-07-14

Family

ID=87078418

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211586646.3A Pending CN116432019A (zh) 2022-12-09 2022-12-09 一种数据处理方法及相关设备

Country Status (1)

Country Link
CN (1) CN116432019A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116991985A (zh) * 2023-09-28 2023-11-03 宏景科技股份有限公司 基于生成式预训练模型的实时信息响应方法及其系统
CN117274823A (zh) * 2023-11-21 2023-12-22 成都理工大学 基于DEM特征增强的视觉Transformer滑坡识别方法
CN117852974A (zh) * 2024-03-04 2024-04-09 禾辰纵横信息技术有限公司 一种基于人工智能的在线考评得分评估方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116991985A (zh) * 2023-09-28 2023-11-03 宏景科技股份有限公司 基于生成式预训练模型的实时信息响应方法及其系统
CN116991985B (zh) * 2023-09-28 2023-12-19 宏景科技股份有限公司 基于生成式预训练模型的实时信息响应方法及其系统
CN117274823A (zh) * 2023-11-21 2023-12-22 成都理工大学 基于DEM特征增强的视觉Transformer滑坡识别方法
CN117274823B (zh) * 2023-11-21 2024-01-26 成都理工大学 基于DEM特征增强的视觉Transformer滑坡识别方法
CN117852974A (zh) * 2024-03-04 2024-04-09 禾辰纵横信息技术有限公司 一种基于人工智能的在线考评得分评估方法

Similar Documents

Publication Publication Date Title
CN112487182B (zh) 文本处理模型的训练方法、文本处理方法及装置
WO2020228376A1 (zh) 文本处理方法、模型训练方法和装置
Torfi et al. Natural language processing advancements by deep learning: A survey
CN111368993B (zh) 一种数据处理方法及相关设备
WO2022057776A1 (zh) 一种模型压缩方法及装置
CN112288075B (zh) 一种数据处理方法及相关设备
WO2023160472A1 (zh) 一种模型训练方法及相关设备
CN112883149B (zh) 一种自然语言处理方法以及装置
WO2022253074A1 (zh) 一种数据处理方法及相关设备
WO2023236977A1 (zh) 一种数据处理方法及相关设备
CN116432019A (zh) 一种数据处理方法及相关设备
CN111898636B (zh) 一种数据处理方法及装置
CN113704460B (zh) 一种文本分类方法、装置、电子设备和存储介质
CN113656563B (zh) 一种神经网络搜索方法及相关设备
Zhang et al. A multi-feature fusion model for Chinese relation extraction with entity sense
US20240046067A1 (en) Data processing method and related device
CN115512005A (zh) 一种数据处理方法及其装置
CN116541492A (zh) 一种数据处理方法及相关设备
CN111597816A (zh) 一种自注意力命名实体识别方法、装置、设备及存储介质
WO2023143262A1 (zh) 一种数据处理方法及相关设备
CN117035019A (zh) 一种数据处理方法及相关设备
WO2023207665A1 (zh) 一种数据处理方法及相关设备
Muhammed Kunju et al. A transformer based real-time photo captioning framework for visually impaired people with visual attention
Zhang et al. LCA-BERT: A Local and Context Fusion Sentiment Analysis Model Based on BERT

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