CN112699216A - 端到端的语言模型预训练方法、系统、设备及存储介质 - Google Patents
端到端的语言模型预训练方法、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN112699216A CN112699216A CN202011587439.0A CN202011587439A CN112699216A CN 112699216 A CN112699216 A CN 112699216A CN 202011587439 A CN202011587439 A CN 202011587439A CN 112699216 A CN112699216 A CN 112699216A
- Authority
- CN
- China
- Prior art keywords
- knowledge
- segment
- training
- language model
- input
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
Abstract
本发明提供一种端到端的语言模型预训练方法、系统、设备及存储介质。所述方法包括:根据预设的知识相近判断规则,从现有知识库中检索得到与输入的知识片段的知识相近的现有知识片段;将输入的所述知识片段和检索到的所述现有知识片段进行拼接,得到拼接知识片段;将所述拼接知识片段进行掩码处理;将掩码后的拼接知识片段作为语言模型预训练的输入进行预测训练,完成端到端的语言模型预训练。本发明利用预设的相近判断规则,通过检索在现有知识库中进行相近的现有知识片段的检索,减小了训练时模型对参数的需求,从而使得语言模型能够基于检索增强利用外部知识,提高了语言模型训练的效率。
Description
技术领域
本发明涉及语言模型的预训练方法,具体为一种端到端的语言模型预训练方法、系统、设备及存储介质。
背景技术
自然语言处理(NLP),目的是使得计算机具备人类的听、说、读、写、译、问、答、搜索、摘要、对话和聊天等能力,并可利用知识和常识进行推理和决策,并支持客服、诊断、法律、教学等场景。自然语言理解,被认为是AI皇冠上的明珠。一旦有突破,则会大幅度推动AI在很多重要场景落地。
预训练模型,则是使自然语言处理由原来的手工调参、依靠ML专家的阶段,进入到可以大规模、可复制的大工业施展的阶段。而且预训练模型从单语言、扩展到多语言、多模态任务。预训练通过自监督学习从大规模数据中获得与具体任务无关的预训练模型。
之所以需要做预训练模型,首先,预训练模型是一种迁移学习的应用,利用几乎无限的文本,学习输入句子的每一个成员的上下文相关的表示,它隐式地学习到了通用的语法语义知识。第二,它可以将从开放领域学到的知识迁移到下游任务,以改善低资源任务,对低资源语言处理也非常有利。第三,预训练模型在几乎所有NLP任务中都取得了目前最佳的成果。最后,这个预训练模型+微调机制具备很好的可扩展性,在支持一个新任务时,只需要利用该任务的标注数据进行微调即可,一般工程师就可以实现。
预训练有三个关键技术,第一个是用来对输入的一句话或者一个段落进行编码或者进行解码的转换器(Transformer),第二个是用于学习单词的上下文相关表示的自监督学习,第三个就是微调,旨在利用其标注样本对预训练网络的参数进行调整。
近年来,主流的预训练(Pre-training)语言模型(language modeling)方法通过在大规模数据集上进行预训练,将数据集中蕴含着的大量知识注入到模型本身的参数中,在下游领域的任务(例如问答任务)上进行微调(fine-tuning)达到了非常不错的性能。后续发展的诸多改进方法也从:1.在更大规模的数据集上进行训练;2.采用参数量更加庞大的模型,这两个角度对性能做了更进一步的提升。
然而,在实际场景中,收集大规模的高质量样本是极其昂贵的,甚至在某些领域,只能从逻辑上或者概念上相近的其他领域的样本中借鉴并吸取相通的知识,参数量巨大的模型在实际的部署及使用中也是极其耗费资源的,一方面加大的服务器的负载,另一方面,训练和微调它的成本也是非常巨大的。更进一步的,即使模型本身具备如此庞大的参数量,但是依然无法将样本中蕴含的所有知识全部存储在模型本身的参数中,一方面我们无法得知数据样本中本身究竟蕴含多少知识,另一方面,我们也无法操控对模型已经学习到的知识进行修改或者增加,而这一点对后期的可视化分析及可解释性带来了许多无法逾越的困难。
发明内容
针对现有技术中存在的语言模型的预训练对参数的需求量庞大,训练效率低,同时还增加了语言模型的部署成本问题,本发明提供一种端到端的语言模型预训练方法、系统、设备及存储介质。
本发明是通过以下技术方案来实现:
端到端的语言模型预训练方法,包括:
根据预设的知识相近判断规则,从现有知识库中检索得到与输入的知识片段的知识相近的现有知识片段;
将输入的所述知识片段和检索到的所述现有知识片段进行拼接,得到拼接知识片段;
将所述拼接知识片段进行掩码处理;
将掩码后的拼接知识片段作为语言模型预训练的输入进行预测训练,完成端到端的语言模型预训练。
优选的,所述现有知识库为现有的外部知识库和/或语言模型预训练样本中除输入的所述知识片段外其他知识片段的集合。
进一步,当所述现有知识库为现有的所述外部知识库时,所述根据预设的知识相近判断规则,从现有知识库中检索得到与输入的知识片段的知识相近的现有知识片段之前,所述方法还包括:
对所述外部知识库中的每篇目标文章进行切分,得到长度小于设定的单词数量的知识片段;
将由切分得到的每个所述知识片段转化为对应的向量表示,该向量表示中包含了对应知识片段的所有语义信息;
对所述外部知识库中所有知识片段对应的向量表示建立索引,完成外部知识库的初步预处理。
优选的,所述根据预设的知识相近判断规则,从现有知识库中检索得到与输入的知识片段的知识相近的现有知识片段包括:
将输入的所述知识片段的向量表示,与所述现有知识片段的向量表示做向量内积;
将得到的所述向量内积作为相关性的得分,从大到小进行排序;
从排序中选择符合设定阈值的目标向量内积,得到目标向量内积对应的现有知识片段为相近的现有知识片段。
优选的,所述将输入的所述知识片段和检索到的所述现有知识片段进行拼接,得到拼接知识片段包括:
在第一字符后依次拼接输入的所述知识片段和检索到的所述现有知识片段;
在输入的所述知识片段和检索到的所述现有知识片段之间分别设置第二字符;
所述第一字符作为整个拼接知识片段的起始标识;
所述第二字符作为知识片段间的分隔标识。
优选的,所述将掩码后的拼接知识片段作为语言模型预训练的输入进行预测训练时,预测训练的交叉熵表示如下,
其中,K表示被掩码掉的单词数量,即样本数量;(l)表示向量的第l维;mi表示被掩码掉的第i个单词;yi为真实单词所对应的编码。
优选的,所述将输入的所述知识片段和检索到的所述现有知识片段进行拼接,以及所述将所述拼接知识片段进行掩码处理时,均采用BERT模型的拼接和掩码方法。
端到端的语言模型预训练系统,包括:
检索增强模块,根据预设的知识相近判断规则,从现有知识库中检索得到与输入的知识片段的知识相近的现有知识片段;
拼接模块,将输入的所述知识片段和检索到的所述现有知识片段进行拼接,得到拼接知识片段;
掩码模块,将所述拼接知识片段进行掩码处理;
预训练模块,将掩码后的拼接知识片段作为语言模型预训练的输入进行预测训练,完成端到端的语言模型预训练。
一种电子设备,包括:
至少一个处理器;以及
与至少一个处理器通信连接的存储器;其中,
所述存储器存储有能够被至少一个处理器执行的指令,所述指令被至少一个处理器执行时,实现如上述任一项所述的端到端的语言模型预训练方法。
一种计算机可读存储介质,存储有能够执行的计算机指令,所述的计算机指令被执行时,实现上述任一项所述的端到端的语言模型预训练方法。
与现有技术相比,本发明具有以下有益的技术效果:
本发明利用预设的相近判断规则,通过检索在现有知识库中进行相近的现有知识片段的检索,减小了训练时模型对参数的需求;将输入的所述知识片段和检索到的所述现有知识片段进行拼接,得到拼接知识片段,从而能够充分的利用现有知识库的现有知识片段,提高了语言模型训练的效率;通过对拼接知识片段进行掩码处理,作为语言模型预训练的输入,从而使得语言模型能够基于检索增强,结合经检索找寻到的对自己真正有价值的信息即所述知识相近的现有知识片段,然后再通过预测训练进行学习的方式,实现了从依赖于参数直接静态输入的训练到输入参数根据检索动态变化的训练的转换过程,也更加符合知识本身的学习过程;本发明所述方法开辟了除增大数据集或者增大模型的另外一种语言模型训练范式,为模型的线下训练和线上部署降低了成本。
附图说明
图1为本发明实例中所述的端到端的语言模型预训练方法流程图;
图2为本发明实例中所述的端到端的语言模型预训练系统框图;
图3为本发明实例中所述的基于检索增强的预训练语言模型的架构图;
图4为本发明实例中所述的对知识库初步的预处理方法流程图;
图5为本发明实例中所述的数据处理模块的结构框图;
图6为本发明实例中所述的相近判断方法的流程图;
图7为本发明实例中所述的检索增强模块的结构框图;
图8为本发明实例中所述的现有的掩码语言建模模型的架构图;
图9为本发明实例中所述的拼接方法的流程图;
图10为本发明实例中所述的拼接掩码模块的结构框图。
具体实施方式
下面结合具体的实施例对本发明做进一步的详细说明,所述是对本发明的解释而不是限定。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、元件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
在本发明中,“模块”、“装置”、“系统”等指应用于计算机的相关实体,如硬件、硬件和软件的组合、软件或执行中的软件等。详细地说,例如,元件可以、但不限于是运行于处理器的过程、处理器、对象、可执行元件、执行线程、程序和/或计算机。还有,运行于服务器上的应用程序或脚本程序、服务器都可以是元件。一个或多个元件可在执行的过程和/或线程中,并且元件可以在一台计算机上本地化和/或分布在两台或多台计算机之间,并可以由各种计算机可读介质运行。元件还可以根据具有一个或多个数据包的信号,例如,来自一个与本地系统、分布式系统中另一元件交互的,和/或在因特网的网络通过信号与其它系统交互的数据的信号通过本地和/或远程过程来进行通信。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”,不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本领域技术人员对端到端的语言模型预训练,一般都会套用现有的训练方法,例如BERT模型,BERT的全称是Bidirectional Encoder Representation fromTransformers,即双向转换器(Transformer)的编码器(decoder),因为decoder是不能获要预测的信息的。模型的主要创新点都在预训练(pre-train)方法上,即用了掩码语言模型(Masked LM)和语言预测(Next Sentence Prediction)两种方法分别捕捉词语和句子级别的语义(representation)。
BERT模型预训练阶段包括两个无监督预测任务:掩蔽语言模型和下一句预测。掩蔽语言模型(MLM)——由于BERT模型的双向功能(双向性)及其使用的多层自关注机制的效果,为了训练深度双向表示,一些百分比(论文中为15%)输入令牌的输入被简单地随机掩盖,然后预测那些被屏蔽的令牌。下一句预测(NSP)。为了训练理解句子关系以及单词之间的语义关系的模型,BERT模型还预先训练二进制化的下一句预测任务,该任务可以从任何文本语料库中轻易生成。
但是在实际的使用和预测过程中,要想提高现有的端到端的语言模型的预训练效果,要么需要更大规模的训练集,要么采用参数更加庞大的模型,导致了后期模型中对已经学习到的知识无法进行修改或增加,并且可视化分析和实际部署使用极其耗费资源。
实时上与其让语言模型一次性学习样本中全部的知识并存储到参数中,不如让模型学会如何在需要的时候先寻找有用的知识,再进行学习的能力,也更加的符合知识学习的一个过程。
因此本发明在主流预训练语言模型BERT的基础上引入了检索增强模块或方法,进行端到端的学习,从而实现了模型可以对现有知识找寻相关或者互补知识的能力,减轻了模型参数量的压力,从而可以采用参数量较小的模型便于后期进行部署;并且通过端到端的学习,使得检索增强模块本身可以不断地进行学习更新,从而具备在特定领域进行检索的能力,这对于一些样本稀缺的领域价值极大;在分析具体任务时,我们可以通过观察检索增强模块返回的知识来断定模型本身的理解是否有误,因此提高了模型的可解释性。
其中,所述端到端的学习是由输入端的数据直接得到输出端的结果。就是不要特征预处理和特征提取,直接把原始数据输入到语言模型中得到最终结果,本优选实例中,就是通过将拼接知识片段掩码后直接作为输入进行预训练,而不对其进行特征预处理和提取,通过预测训练直接得到最终的结果。
因此在本优选实例中,以BERT模型的预训练方法为例,基于主流预训练语言模型方法BERT,遵循检索增强和语言模型预训练一体化的思路,本发明一种端到端的语言模型预训练方法的整体流程如图1所示,可以包括,
步骤101,根据预设的知识相近判断规则,从现有知识库中检索得到与输入的知识片段的知识相近的现有知识片段;
本实例中,该步骤即为检索增强步骤,其中相近的现有知识片段可以根据预设的判断规则选择一个或者是多个,利用预设的判断规则能够快速的从已有的现有知识库中快速的得到目标对象,提高了输入对象的确定,同时减少了对参数的需求
步骤102,将输入的所述知识片段和检索到的所述现有知识片段进行拼接,得到拼接知识片段;
本实例中,通过输入的知识片段和通过检索得到的现有知识片段通过拼接实现融合,极大的提高了输入参量的可控维度,能够实现输入和检索的多种组合,输入的变化带来检索结果的变化,则使得拼接结果也发生改变,更进一步的提高了在实际输入稳定的情况下,对语言模型输入的裂变式增加;
步骤103,将所述拼接知识片段进行掩码处理;
步骤104,将掩码后的拼接知识片段作为语言模型预训练的输入进行预测训练,完成端到端的语言模型预训练。本实例中,通过掩码的处理使得拼接知识片段形成语言模型预训练的对象即输入,从而能够通过不断的重复训练,达到预设的目标,完成端到端的语言模型预训练。
通过上述的方法能够得到对应的基于检索增强的预训练语言模型,如图3所示,将如步骤101所述的通过检索得到的相近的现有知识片段的检索增强融入BERT模型进行端到端的学习后,其只需要有一个知识片段的输入,能够通过对现有知识片段的检索一起作为输入,充分的利用现有的知识库,无需再对参数的体量进行扩大,极大程度的削弱了模型对参数的渴求性,显著增强了模型对知识的学习与消化能力。将现有知识片段与输入的知识片段拼接掩码后作为输入,则使得基于检索增强的预训练语言模型学会了如何利用外部知识首先找寻对自己真正有价值的信息再进行的学习的方式,实现了从静态到动态的转换过程,也更加符合知识本身的学习过程。
本发明一实施例中,在上述步骤中,作为检索对象的现有知识库,实际上就是从现有的外部知识库或者是作为语言模型预训练样本中的除输入的知识片段外的其他所有知识片段的集合,或者是它们的合集,从中进行现有知识片段的检索,能够极大的减少预训练直接输入时,对输入样本规模及参数的依赖,并且能够对现有的知识库中的知识片段进行充分的利用,保证对语言模型的预训练效果和效率。
本发明一实施例中,当所述现有知识库为现有的所述外部知识库时,所述根据预设的知识相近判断规则,从现有知识库中检索得到与输入的知识片段的知识相近的现有知识片段之前,所述方法还包括如下初步的预处理,对其进行向量表示,如图4所示。
步骤401,对所述外部知识库中的每篇目标文章进行切分,得到长度小于设定的单词数量的知识片段;也就是在每个知识片段包含最多完整句子的前提下,使得每个知识片段的长度小于设定的单词数量;
步骤402,将每一个由切分得到的每个所述知识片段转化为对应的向量表示,该向量表示中包含了对应知识片段的所有语义信息;
步骤403,对所述外部知识库中所有知识片段对应的向量表示建立索引,完成外部知识库的初步预处理。
具体的对外部知识库的处理,以常用的外部知识库为例进行说明。基于公开的维基百科英文文章数据构建外部知识数据库database,通过英伟达官方提供的WikicorpusTextFormatting.py脚本文件对其进行初步的预处理,提取出每篇wiki百科文章中的主要内容信息,记做
Database={d1,d2,d3,…,di,…,dN}
总计共有N篇文章,di表示第i篇文章的主要内容信息,由于每篇文章的长度不一,这里对每一篇文章di做进一步地处理,
di={pi1,pi2,…pij,…,pim}
具体流程如下,对每一篇文章,按照从前向后的顺序对文章di进行切分m个小片段,使得每一个小片段pij的长度小于128个单词,切分点的原则是尽可能包含更多完整的句子,便于后期BERT模型处理,将每片文章切分后的片段进行打乱处理,进行合并后简记为
Database={s1,s2,s3,…sK}
其中,pi来自于某一篇文章切分后的片段,处理合并后一共有K个知识片段sk,构成模型最终的知识片段库,即现有的外部知识库。
将每一个知识片段si通过BERT模型获得一个512维的向量表示hi,该向量表示蕴含了该知识片段的所有语义信息;
通过微软开源的MIPS框架对所有知识片段的向量表示hi建立索引(index),其目的在于当给定一个知识片段(query)时,能高效快速的返回知识片段库中与其在语义层面上(意思上)最接近的k个相关知识片段。
在初步预处理完成后,基于初步预处理的数据,能够方便的进行相近的判断,而所述的相近的关系具体的体现为相似或互补。
本发明一实施例中,所述根据预设的知识相近判断规则,从现有知识库中检索得到与输入的知识片段的知识相近的现有知识片段,上述的这种相近关系能够通过如下步骤进行判断和选择,从而得到检索的结果,如图6所示,具体包括如下步骤,
步骤601,将输入的所述知识片段的向量表示,与所述现有知识片段的向量表示做向量内积;
步骤602,将得到的所述向量内积作为相关性的得分,从大到小进行排序;
步骤603,从排序中选择符合设定阈值的目标向量内积,得到目标向量内积对应的现有知识片段为相近的现有知识片段。
继续结合上述的实例,其中知识片段(query)与每个相关知识片段的相似度得分根据下式进行描述;
score=BERT(query)Thi
即知识片段(query)项通过BERT得到的向量表示与每一个相关知识片段hi做向量内积,该内积作为衡量对给定的query(知识片段)来说,每个相关知识片段hi与它的相关性,我们根据相关性得分的大小进行排序,选取与给定知识最为相近的c个知识片段,在本发明中,出于内存方面的考虑,我们设置对应的阈值c=3,也就是取三个最为相似或互补的知识片段,作为限定条件下的检索结果,也即检索增强模块的输出。
本发明一实施例中,以上的描述只是对本发明所述预训练方法的第一部分进行了说明,当通过极小的消耗和参数得到预训练的输入时,还需要对其结果和预训练的语言模型进行融合;即将输入知识片段和检索到的现有知识片段进行拼接,将得到的拼接知识片段作为语言模型预训练的输入进行掩码;结合到具体的预训练模型中,本发明提出的增强式语言模型仅基于BERT模型中两个任务中的一个进行最终的训练,即掩码语言建模任务(masked language modeling,MLM),得到的掩码语言建模模型如图8所示,在拼接后的拼接知识片段中进行掩码[mask]后进行BERT的语言模型预训练。
本优选实例中,对于不同的句子间用[sep]字符进行区分,图8的示例假设第一个知识片段有10个单词,第二个知识片段有16个单词,每个知识片段里不同的句子间也用[sep]字符进行分隔。简单来说,MLM任务首先随机将一个段落(在这里指两个知识片段,可以包含多个知识片段)中的某些单词替换成掩码[mask],在这里指的是第一个知识片段中的单词2和第二个知识片段中的单词15,模型利用被掩码掉的单词的上下文,即该段落中未被掩码的部分,也就是除了第一个知识片段中的单词2和第二个知识片段中的单词15对其进行预测,从而实现对语言模型的预训练。
在上述的在原始的现有技术方法中,可能包含多个知识片段的段落是由文章di中本身连续的多个知识片段,即本质上连续的一段构成,而本发明可以根据第一个知识片段的内容动态的调整后续知识片段的选取,灵活性更高。
并且对于给定的段落,原始的现有技术方法中对于被掩码的单词来说,模型所能利用的上下文信息在模型从始至终的训练过程中都是固定的,一成不变的,而在本发明中,检索增强中的参数也是不断更新的,即对于第一个知识片段来说,与其配对的现有知识片段在训练过程中是不断发生变化的,因此可以每一个被掩码的单词在训练过程中可以利用的上下文信息也是随着最相关知识片段的变化而不断发生变化的。
本优选实例中进行预训练时,首先,本发明中所述将输入的所述知识片段和检索到的所述现有知识片段进行拼接,得到拼接知识片段;也就是将输入知识片段和检索到的现有知识片段进行拼接,如图9所示,其方法如下,
步骤901,在第一字符后依次拼接输入的所述知识片段和检索到的所述现有知识片段;
步骤902,在输入的所述知识片段和检索到的所述现有知识片段之间分别设置第二字符;
所述第一字符作为整个拼接知识片段的起始标识;
所述第二字符作为知识片段间的分隔标识。
在上述的BERT模型的处理基础上,本发明将检索增强融入到其中,使得拼接的对象发生了变化,相对于原始的现有技术方法中需要输入的多个知识片段,本发明对输入的一个知识片段能够得到多个相近的知识片段,从而减少了对输入参数的需求,具体的对包含K个知识片段的知识片段库中的每一个知识片段,以si为例,利用检测增强返回与其知识最为相近的3个知识片段si1,si2,si3;
将si与si1,si2,si3拼接在一起,拼接方式采用和BERT方法相同的处理方式,即
Input=[cls]si[sep]si1[sep]si2[sep]si3[sep]
其中,[cls]字符作为第一字符,标识整个input输入的起始,知识片段间用第二字符[sep]进行分隔;
采用和BERT模型相同的掩码方法,即对上述已经拼接好的input,随机掩码掉15%的单词,被掩码的单词用[mask]字符进行表示。
本发明一实施例中,所述将掩码后的拼接知识片段作为语言模型预训练的输入进行预测训练时,在上述拼接和掩码实例的基础上,利用BERT模型的掩码语言建模任务对上述input中被mask的所有单词进行预测,从而实现对语言模型的预训练。以被mask掉的第i个单词mi为例,得到每个被掩码的单词的向量表示mi,与真实单词所对应的one-hot编码yi计算交叉熵
其中,K表示被掩码掉的单词数量,即样本数量,共有K个样本,(l)表示向量的第l维,one-hot编码指向量中真实单词所在的位置为1,其余位置均为0的表示方法。
最后,根据交叉熵损失函数,采用随机梯度下降算法(SGD),并在pytorch框架进行预训练语言模型的建模,实现对掩码的预测,同时能够使得检索增强模块和BERT模块参数得到更新。采用随机梯度下降法,采用一个样本迭代来进行梯度下降。对于训练速度来说,随机梯度下降法由于每次仅仅采用一个样本来迭代,训练速度很快,从而也减小了运算的开支,同时符合本发明所述对样本变化以及极少参量的需求。
本发明一实施例中,除了上述具体的拼接和掩码的方法,本发明中将输入的所述知识片段和检索到的所述现有知识片段进行拼接,以及将所述拼接知识片段进行掩码处理时,可以直接采用BERT模型的拼接和掩码方法。
本发明中将检索增强模块融入BERT模型进行端到端的学习后,极大程度的削弱了模型对参数的渴求性,显著增强了模型对知识的学习与消化能力。通过端到端的检索增强语言模型在训练完成后,在解决诸如开放领域问答(open domain QA)等需要首先从海量信息中找寻包含答案的知识片段,在进行问题的回答等任务时具备显著优势,本发明通过检索增强将上述任务各阶段融为一体,极大的简化了任务的流程,也降低了任务的难度;开辟了除增大数据集或者增大模型的另外一种语言模型训练范式,为模型的线下训练和线上部署降低了成本。
本发明一实施例中,对应上述各方法的流程提供一种端到端的语言模型预训练系统,如图2所示,其包括:
检索增强模块201,根据预设的知识相近判断规则,从现有知识库中检索得到与输入的知识片段的知识相近的现有知识片段;
拼接模块202,将输入的所述知识片段和检索到的所述现有知识片段进行拼接,得到拼接知识片段;
掩码模块203,将所述拼接知识片段进行掩码处理;
预训练模块204,将掩码后的拼接知识片段作为语言模型预训练的输入进行预测训练,完成端到端的语言模型预训练。
其中,当所述现有知识库为现有的所述外部知识库时,所述根据预设的知识相近判断规则,在检索增强模块对现有知识库进行检索得到与输入的知识片段的知识相近的现有知识片段之前,通过数据处理模块对外部知识库进行如下的初步预处理,如图5所示,数据处理模块包括如下单元:
切分单元501,对所述外部知识库中的每篇目标文章进行切分,得到长度小于设定的单词数量的知识片段;
向量表示单元502,将由切分得到的每个所述知识片段转化为对应的向量表示,该向量表示中包含了对应知识片段的所有语义信息;
索引单元503,对所述外部知识库中所有知识片段对应的向量表示建立索引,完成外部知识库的初步预处理。
其中,检索增强模块根据预设的知识相近判断规则进行检索时,根据预设的知识相近判断规则,从现有知识库中检索得到与输入的知识片段的知识相近的现有知识片段,如图7所示,具体包括如下单元:
向量内积单元701,将输入的所述知识片段的向量表示,与所述现有知识片段的向量表示做向量内积;
排序单元702,将得到的所述向量内积作为相关性的得分,从大到小进行排序;
选择单元703,从排序中选择符合设定阈值的目标向量内积,得到目标向量内积对应的现有知识片段为相近的现有知识片段。
其中,拼接单元对输入的所述知识片段和检索到的所述现有知识片段进行拼接时,得到拼接知识片段,如图10所示,通过如下单元进行拼接处理:
起始拼接单元1001,在第一字符后依次拼接输入的所述知识片段和检索到的所述现有知识片段;所述的第一字符作为整个拼接知识片段的起始标识;
分隔拼接单元1002,在输入的所述知识片段和检索到的所述现有知识片段之间分别设置第二字符;所述的第二字符作为知识片段间的分隔标识。
本发明一实施例提供的应用一种端到端的语言模型预训练的电子设备,其包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;所述存储器存储有能够被至少一个处理器执行的指令,所述指令被至少一个处理器执行时,实现如上述任意一个实施例所述的端到端的语言模型预训练方法。
本发明一实施例还提供一种计算机可读存储介质,存储有能够执行的计算机指令,所述的计算机指令被执行时,实现任意一个实施例所述的端到端的语言模型预训练方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
Claims (10)
1.端到端的语言模型预训练方法,其特征在于,包括:
根据预设的知识相近判断规则,从现有知识库中检索得到与输入的知识片段的知识相近的现有知识片段;
将输入的所述知识片段和检索到的所述现有知识片段进行拼接,得到拼接知识片段;
将所述拼接知识片段进行掩码处理;
将掩码后的拼接知识片段作为语言模型预训练的输入进行预测训练,完成端到端的语言模型预训练。
2.根据权利要求1所述的端到端的语言模型预训练方法,其特征在于,所述现有知识库为现有的外部知识库和/或语言模型预训练样本中除输入的所述知识片段外其他知识片段的集合。
3.根据权利要求2所述的端到端的语言模型预训练方法,其特征在于,当所述现有知识库为现有的所述外部知识库时,所述根据预设的知识相近判断规则,从现有知识库中检索得到与输入的知识片段的知识相近的现有知识片段之前,所述方法还包括:
对所述外部知识库中的每篇目标文章进行切分,得到长度小于设定的单词数量的知识片段;
将由切分得到的每个所述知识片段转化为对应的向量表示,该向量表示中包含了对应知识片段的所有语义信息;
对所述外部知识库中所有知识片段对应的向量表示建立索引,完成外部知识库的初步预处理。
4.根据权利要求1所述的端到端的语言模型预训练方法,其特征在于,所述根据预设的知识相近判断规则,从现有知识库中检索得到与输入的知识片段的知识相近的现有知识片段包括:
将输入的所述知识片段的向量表示,与所述现有知识片段的向量表示做向量内积;
将得到的所述向量内积作为相关性的得分,从大到小进行排序;
从排序中选择符合设定阈值的目标向量内积,得到目标向量内积对应的现有知识片段为相近的现有知识片段。
5.根据权利要求1所述的端到端的语言模型预训练方法,其特征在于,所述将输入的所述知识片段和检索到的所述现有知识片段进行拼接,得到拼接知识片段包括:
在第一字符后依次拼接输入的所述知识片段和检索到的所述现有知识片段;
在输入的所述知识片段和检索到的所述现有知识片段之间分别设置第二字符;
所述第一字符作为整个拼接知识片段的起始标识;
所述第二字符作为知识片段间的分隔标识。
7.根据权利要求1所述的端到端的语言模型预训练方法,其特征在于,所述将输入的所述知识片段和检索到的所述现有知识片段进行拼接,以及所述将所述拼接知识片段进行掩码处理时,均采用BERT模型的拼接和掩码方法。
8.端到端的语言模型预训练系统,其特征在于,包括:
检索增强模块,根据预设的知识相近判断规则,从现有知识库中检索得到与输入的知识片段的知识相近的现有知识片段;
拼接模块,将输入的所述知识片段和检索到的所述现有知识片段进行拼接,得到拼接知识片段;
掩码模块,将所述拼接知识片段进行掩码处理;
预训练模块,将掩码后的拼接知识片段作为语言模型预训练的输入进行预测训练,完成端到端的语言模型预训练。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与至少一个处理器通信连接的存储器;其中,
所述存储器存储有能够被至少一个处理器执行的指令,所述指令被至少一个处理器执行时,实现如权利要求1-7中任一项所述的端到端的语言模型预训练方法。
10.一种计算机可读存储介质,其特征在于,存储有能够执行的计算机指令,所述的计算机指令被执行时,实现权利要求1至7任一项所述的端到端的语言模型预训练方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011587439.0A CN112699216A (zh) | 2020-12-28 | 2020-12-28 | 端到端的语言模型预训练方法、系统、设备及存储介质 |
PCT/CN2021/084283 WO2022141878A1 (zh) | 2020-12-28 | 2021-03-31 | 端到端的语言模型预训练方法、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011587439.0A CN112699216A (zh) | 2020-12-28 | 2020-12-28 | 端到端的语言模型预训练方法、系统、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112699216A true CN112699216A (zh) | 2021-04-23 |
Family
ID=75511469
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011587439.0A Pending CN112699216A (zh) | 2020-12-28 | 2020-12-28 | 端到端的语言模型预训练方法、系统、设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112699216A (zh) |
WO (1) | WO2022141878A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113673702A (zh) * | 2021-07-27 | 2021-11-19 | 北京师范大学 | 一种预训练语言模型的评测方法、装置以及存储介质 |
CN114625861A (zh) * | 2022-05-11 | 2022-06-14 | 之江实验室 | 改进Transformer融入知识的端到端对话方法 |
CN115640520A (zh) * | 2022-11-07 | 2023-01-24 | 北京百度网讯科技有限公司 | 跨语言跨模态模型的预训练方法、设备和存储介质 |
CN116245197A (zh) * | 2023-02-21 | 2023-06-09 | 北京数美时代科技有限公司 | 一种提升语言模型的训练速率的方法、系统、介质及设备 |
CN116501859A (zh) * | 2023-06-26 | 2023-07-28 | 中国海洋大学 | 基于冰箱领域的段落检索方法、设备和介质 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115270988A (zh) * | 2022-08-10 | 2022-11-01 | 浙江大学 | 知识表征解耦的分类模型的微调方法、装置和应用 |
CN116204642B (zh) * | 2023-03-06 | 2023-10-27 | 上海阅文信息技术有限公司 | 数字阅读中角色隐式属性智能识别分析方法、系统和应用 |
CN116719911B (zh) * | 2023-08-10 | 2023-10-31 | 成都不烦智能科技有限责任公司 | 自动化流程生成方法、装置、设备及存储介质 |
CN117312928B (zh) * | 2023-11-28 | 2024-02-13 | 南京网眼信息技术有限公司 | 一种基于aigc识别用户设备信息的方法及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10817650B2 (en) * | 2017-05-19 | 2020-10-27 | Salesforce.Com, Inc. | Natural language processing using context specific word vectors |
CN111563166B (zh) * | 2020-05-28 | 2024-02-13 | 浙江学海教育科技有限公司 | 一种针对数学问题分类的预训练模型方法 |
CN111680145B (zh) * | 2020-06-10 | 2023-08-15 | 北京百度网讯科技有限公司 | 知识表示学习方法、装置、设备以及存储介质 |
-
2020
- 2020-12-28 CN CN202011587439.0A patent/CN112699216A/zh active Pending
-
2021
- 2021-03-31 WO PCT/CN2021/084283 patent/WO2022141878A1/zh active Application Filing
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113673702A (zh) * | 2021-07-27 | 2021-11-19 | 北京师范大学 | 一种预训练语言模型的评测方法、装置以及存储介质 |
CN114625861A (zh) * | 2022-05-11 | 2022-06-14 | 之江实验室 | 改进Transformer融入知识的端到端对话方法 |
CN115640520A (zh) * | 2022-11-07 | 2023-01-24 | 北京百度网讯科技有限公司 | 跨语言跨模态模型的预训练方法、设备和存储介质 |
CN115640520B (zh) * | 2022-11-07 | 2023-07-14 | 北京百度网讯科技有限公司 | 跨语言跨模态模型的预训练方法、设备和存储介质 |
CN116245197A (zh) * | 2023-02-21 | 2023-06-09 | 北京数美时代科技有限公司 | 一种提升语言模型的训练速率的方法、系统、介质及设备 |
CN116245197B (zh) * | 2023-02-21 | 2023-11-07 | 北京数美时代科技有限公司 | 一种提升语言模型的训练速率的方法、系统、介质及设备 |
CN116501859A (zh) * | 2023-06-26 | 2023-07-28 | 中国海洋大学 | 基于冰箱领域的段落检索方法、设备和介质 |
CN116501859B (zh) * | 2023-06-26 | 2023-09-01 | 中国海洋大学 | 基于冰箱领域的段落检索方法、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2022141878A1 (zh) | 2022-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102350543B1 (ko) | 시맨틱 표현 모델의 처리 방법, 장치, 전자 기기 및 저장 매체 | |
CN112699216A (zh) | 端到端的语言模型预训练方法、系统、设备及存储介质 | |
CN110717017B (zh) | 一种处理语料的方法 | |
CN107329949B (zh) | 一种语义匹配方法和系统 | |
CN107818085B (zh) | 阅读机器人进行阅读理解的答案选择方法及系统 | |
CN110020438A (zh) | 基于序列识别的企业或组织中文名称实体消歧方法和装置 | |
RU2721190C1 (ru) | Обучение нейронных сетей с использованием функций потерь, отражающих зависимости между соседними токенами | |
CN111831789A (zh) | 一种基于多层语义特征提取结构的问答文本匹配方法 | |
CN114580382A (zh) | 文本纠错方法以及装置 | |
CN114661872B (zh) | 一种面向初学者的api自适应推荐方法与系统 | |
US11727915B1 (en) | Method and terminal for generating simulated voice of virtual teacher | |
CN112434142B (zh) | 一种标记训练样本的方法、服务器、计算设备及存储介质 | |
CN111079418A (zh) | 命名体识别方法、装置、电子设备和存储介质 | |
CN111145914B (zh) | 一种确定肺癌临床病种库文本实体的方法及装置 | |
CN114691864A (zh) | 文本分类模型训练方法及装置、文本分类方法及装置 | |
CN115688753A (zh) | 中文预训练语言模型的知识注入方法和交互系统 | |
CN114298055B (zh) | 基于多级语义匹配的检索方法、装置、计算机设备和存储介质 | |
Khassanov et al. | Enriching rare word representations in neural language models by embedding matrix augmentation | |
CN115906818A (zh) | 语法知识预测方法、装置、电子设备和存储介质 | |
CN111090720B (zh) | 一种热词的添加方法和装置 | |
Wohlgenannt et al. | Relation extraction datasets in the digital humanities domain and their evaluation with word embeddings | |
CN112349294A (zh) | 语音处理方法及装置、计算机可读介质、电子设备 | |
CN115114915B (zh) | 短语识别方法、装置、设备和介质 | |
Wang et al. | Sentence compression with reinforcement learning | |
Jain et al. | Finnish Language Modeling with Deep Transformer Models |
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 |