掌桥专利:专业的专利平台
掌桥专利
首页

用于生成语言模型的方法、装置、电子设备和介质

文献发布时间:2024-04-18 19:58:53


用于生成语言模型的方法、装置、电子设备和介质

技术领域

本公开总体涉及人工智能领域,并且更具体地,涉及用于生成语言模型的方法、装置、电子设备和介质。

背景技术

大规模语言模型(LLM)是由具有许多参数(通常数十亿个权重或更多)的神经网络组成的语言模型,其能够学习到输入文本的潜在语义和语法结构,从而能够预测下一个词或下一段文本的概率分布。大规模语言模型的训练需要大量的文本数据。常见的训练数据来源包括互联网上的大规模文本语料库、书籍、新闻文章、百科等。通过在这些数据上进行大规模的无监督学习,语言模型可以捕捉到语言的规律、词汇的语义关系以及句子之间的联系。

大规模语言模型在自然语言处理领域具有广泛的应用,包括机器翻译、文本生成、问答系统、文本分类等任务。近年来,随着深度学习技术的不断发展和计算资源的提升,大规模语言模型在文本生成、对话系统和自然语言理解等方面取得了重要的突破和进展。这些模型在各种自然语言处理任务上取得了令人瞩目的性能,并被广泛应用于实际应用中。

发明内容

本公开的实施例提供了一种用于生成语言模型的方法、装置、电子设备和介质。在对现有的一种语言模型的词元表进行扩展以在其基础上继续训练另一种语言模型时,可以在将候选词元表中的候选词元添加到现有词元表中之前,确定候选词元是否满足要求。为了提高现有语言模型针对另一种语言的性能,可以确定候选词元是否包括目标语言的字符。如果候选词元不包括目标语言的字符,则更新候选词元表。然后,可以基于现有语言模型的词元表和更新后的候选词元表来生成新的词元表。通过这种方式能够在提升语言模型针对目标语言的性能的同时,减少该语言模型对源语言的性能的负面影响。

在本公开的实施例的第一方面中,提供了一种用于生成语言模型的方法。该方法包括获取源语言模型的源词元表和候选词元表,源词元表中的词元包括源语言的字符。该方法还包括针对候选词元表中的候选词元,确定候选词元是否包括目标语言的字符。该方法还包括响应于确定候选词元不包括目标语言的字符,更新候选词元表。此外,该方法还包括基于源词元表和更新后的候选词元表,生成目标语言模型的目标词元表。

在本公开的实施例的第二方面中,提供了一种用于生成语言模型的装置。该装置包括词元获取模块,被配置为获取源语言模型的源词元表和候选词元表,源词元表中的词元包括源语言的字符。该装置还包括候选确定模块,被配置为针对候选词元表中的候选词元,确定候选词元是否包括目标语言的字符。该装置还包括候选更新模块,被配置为响应于确定候选词元不包括目标语言的字符,更新候选词元表。该装置还包括目标生成模块,配置为基于源词元表和更新后的候选词元表,生成目标语言模型的目标词元表。

在本公开的实施例的第三方面中,提供了一种电子设备。该电子设备包括一个或多个处理器;以及存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现一种用于生成语言模型的方法。该方法包括获取源语言模型的源词元表和候选词元表,源词元表中的词元包括源语言的字符。该方法还包括针对候选词元表中的候选词元,确定候选词元是否包括目标语言的字符。该方法还包括响应于确定候选词元不包括目标语言的字符,更新候选词元表。此外,该方法还包括基于源词元表和更新后的候选词元表,生成目标语言模型的目标词元表。

在本公开的实施例的第四方面中,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现一种用于生成语言模型的方法。该方法包括获取源语言模型的源词元表和候选词元表,源词元表中的词元包括源语言的字符。该方法还包括针对候选词元表中的候选词元,确定候选词元是否包括目标语言的字符。该方法还包括响应于确定候选词元不包括目标语言的字符,更新候选词元表。此外,该方法还包括基于源词元表和更新后的候选词元表,生成目标语言模型的目标词元表。

提供发明内容部分是为了以简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识要求保护的主题的关键特征或主要特征,也无意限制要求保护的主题的范围。

附图说明

结合附图并参考以下详细说明,本公开各实施例的上述和其它特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:

图1示出了本公开的多个实施例可以在其中实现的示例环境的示意图;

图2示出了根据本公开的一些实施例的用于生成语言模型的方法的流程图;

图3示出了根据本公开的一些实施例的利用所生成的目标词元表要达到的目标的示例的示意图;

图4示出了根据本公开的一些实施例的生成目标词元表的过程的示意图;

图5示出了根据本公开的一些实施例的对新词元进行初始化的过程的示意图;

图6示出了根据本公开的一些实施例的训练数据构成的示例的示意图;

图7示出了根据本公开的一些实施例的预训练基准任务的示例和利用目标语言模型的人和人工智能对话的示例。

图8示出了根据本公开的一些实施例的用于生成语言模型的装置的框图;以及

图9示出了能够实现本公开的多个实施例的设备的框图。

具体实施方式

可以理解的是,本技术方案所涉及的所有与用户相关的数据都应当在经过用户授权之后获取和使用。这意味着,在本技术方案中,如果需要使用用户的个人信息,则在获取这些数据之前,需要经过用户明确的同意和授权,否则将不会进行相关的数据收集和使用。还应当理解,在实施本技术方案时,应当在数据的收集、使用和存储过程中严格遵守相关法律法规,采取必要的技术和措施来保障用户的数据安全,并确保数据的安全使用。

下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。

在本公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包括,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象,除非明确说明。下文还可能包括其他明确的和隐含的定义。

大规模语言模型(本文中也称为语言模型)具有强大的语言理解和生成能力,使得其在自然语言处理领域有着广泛的应用。例如,在语言模型被应用于问答系统时,用户可以提出问题,然后语言模型可以理解问题的文本的语义、对文本进行分类和推理、以及生成问题的回答。然而,语言模型在处理不同语言的文本时可能会面临一些限制和挑战。

训练数据的数量和质量是影响语言模型性能的重要因素之一。不同的语言具有独特的语法、词汇和结构规则,通过利用某种语言的训练数据对语言模型进行训练,能够使语言模型在训练过程中学习到该语言的特性和模式。如果训练数据中缺少另一种语言的数据,则语言模型可能对该语言的规则和结构不够敏感,从而导致在处理该语言时出现性能下降或错误的情况。

除此之外,诸如分词器(tokenizer)的对文本进行预处理的技术会显著影响语言模型在处理特定语言时的性能。分词器可以将原始文本按照预定的规则分割成多个离散的单元,这些单元也被称为词元(token)。在很多语言中,单词之间并没有明确的分割符,因此需要利用分词器来将连续的字符序列分割成有意义的单词。对于一些复杂的语言或具有丰富词汇的语言,分词器可以将文本分割为子词级别,例如,将长单词拆分为常见的前缀、后缀和词根等。分词器可以利用词元表(也称为词汇表(vocabulary))来执行此分割过程。词元表是预定义词元的集合,其包含语言模型所能识别和处理的所有单词或子词。针对一种语言,如果词元表中包括充足的该语言的词元,则分词器在对该语言的文本进行分词时可以具有较高的准确性。如果在文本中出现了词元表中没有的词或子词,则语言模型可能无法准确地理解和处理这些词,从而导致模型无法处理某些关键信息、对上下文的理解不准确,进一步导致模型的输出不准确。

目前已有一些开源的大规模语言模型,这些语言模型在大量的文本数据集上进行自回归训练,并且取得了良好的效果。然而,这些模型的大部分训练数据都来自英文场景,因此相比于它们卓越的英文能力,其中文能力明显较弱。例如,LLaMA是这些语言模型中的一个,LLaMA的分词器的词元表具有32000个词元,然而其中仅包括不到1000个包含中文字符的词元。常用的中文字有大约3500个,这意味着LLaMA的分词器在处理中文时,很可能将一个中文字分割为多个词元,因此其对中文文本的处理效率较低。

为此,根据本公开的各种实施例,提供了一种用于生成语言模型的方案。该方案获取源语言模型的源词元表和候选词元表,源词元表中的词元包括源语言的字符,然后针对候选词元表中的候选词元确定该候选词元是否包括目标语言的字符。如果候选词元不包括目标语言的字符,则更新候选词元表,然后基于源词元表和更新后的候选词元表来生成目标语言模型的目标词元表。通过这种方式,能够在提升语言模型针对目标语言的性能的同时,减少对源语言的性能的负面影响。

图1示出了本公开的多个实施例能够在其中实现的示例环境100的示意图。如图1所示,环境100中包括源语言模型102,源语言模型102包括源分词器104,源分词器104包括源词元表106,源词元表106包括词元108-1、108-2、…、108-N(统称为或单独称为词元108)。源语言模型102是针对源语言(也称为第一语言)场景训练的语言模型,其训练数据中的大部分数据是源语言的文本,仅有少部分的目标语言(也称为第二语言)的文本。除此之外,如图形110所示,在源词元表106中包括目标语言字符的词元的数目显著小于不包括目标语言字符的词元的数目。例如,在上文所述的LLaMA模型中,源语言是英文,目标语言可以是中文,包括中文字符的词元(例如,“坚持”)的数目显著小于不包括中文字符的词元(例如,“He”)的数目。应当注意,源词元表106中可以包括多种语言的词元、特殊字符(例如,逗号、句号等)、或它们的组合(例如,同一个词元中包括源语言的字符和特殊字符、同一个词元中包括源语言的字符和目标语言的字符等)。

如图1所示,环境100还包括候选词元表112,候选词元表112中包括词元114-1、114-2、…、114-N(统称为或单独称为词元114)。候选词元表112中同样可以包括多种语言的词元、特殊字符、或它们的组合。候选词元表112可以被用于扩展源词元表106,以增强分词器对目标语言的处理能力,因此候选词元表112通常具有一些包括目标语言字符的词元。候选词元表112中的词元114可以来自于已有的其他分词器的词元表、应用场景涉及的特定领域的专业词汇、从外部文本数据库中提取的出现频率较高的词或子词等等。如图1所示,环境100还包括更新后的候选词元表116,更新后的候选词元表116包括词元118-1、118-2、…、118-N(统称为或单独称为词元118),词元118是最终被用于扩展源词元表106的词元。更新操作例如可以包括过滤(例如,将不符合条件的词元114移除)、添加(例如,根据词元114来添加与其相关的新词元)、修改(例如,将词元114中的部分字符删除,或将词元114从一种语言转换为另一种语言)。

如图1所示,环境100还包括目标语言模型120,目标语言模型120包括目标分词器122,目标分词器122包括目标词元表124,目标词元表124包括词元集合126和词元集合128。目标语言模型120可以是在源语言模型102的基础上通过继续预训练而生成的语言模型,并且目标语言模型120相比于源语言模型102可以具有更好的针对目标语言的处理能力。目标词元表124中的词元集合126与源词元表106相对应,即,词元集合126包括源词元表106中的词元108。目标词元表124中的词元集合128与更新后的候选词元表116相对应,即,词元集合128包括更新后的候选词元表116中的词元118。

在一些实施例中,可以将更新后的候选词元表116与源词元表106合并,从而生成目标词元表124。在另一些实施例中,可以将候选词元表112与源词元表106合并,再更新候选词元表112的部分,从而生成目标词元表124。如图形130所示,目标词元表124中包括目标语言的词元所占的比例相比于图形110有所提高。应当注意,图形130仅旨在示出与图形110相比包括目标语言的词元所占的比例有所提高,但不旨在限制包括目标语言的词元的数目和不包括目标语言的词元的数目的具体比例。换句话说,在目标词元表124中,包括目标语言的词元可以小于、等于或大于不包括目标语言的词元的数目。

应当理解,为了便于理解,本文中使用英文作为源语言的示例,并使用中文作为目标语言的示例,然而并不旨在限制源语言和目标语言的具体种类,本公开所提供的方案可以应用于任何两种语言,例如,源语言是中文并且目标语言是英文,或者源语言是英文并且目标语言是西班牙文等等。还应当理解,虽然本文中以LLaMA模型作为源语言模型的示例,但并不旨在限制源语言模型是某个特定模型,源语言模型可以是任何其他语言模型。

图2示出了根据本公开的一些实施例的用于生成语言模型的方法200的流程图。如图2所示,在框202,方法200获取源语言模型的源词元表和候选词元表,源词元表中的词元包括源语言的字符。例如,在如图1所示的环境100中,方法200可以获取源语言模型102的源词元表106,源语言模型102例如可以是具有强大的英文处理能力但是其中文处理能力较弱的语言模型,并且源词元表106例如可以具有较多包括英文字符的词元和较少包括中文字符的词元。方法200还可以获取候选词元表112,候选词元表112例如可以具有包括中文字符的词元和不包括中文字符的词元。包括中文字符的词元可以是仅包括中文字符的词元(例如,“坚持”),也可以是由中文字符和其他字符组成的词元(例如,“U盘”)。

在框204,方法200可以针对候选词元表中的候选词元,确定候选词元是否包括目标语言的字符。例如,在如图1所示的环境100中,方法200可以针对候选词元表112中的候选词元114,确定候选词元114是否包括目标语言的字符。例如,在目标语言是中文时,方法200可以确定词元“坚持”和“U盘”包括中文字符,并且词元“burger”不包括中文字符。

在框206,方法200响应于确定候选词元不包括目标语言的字符,更新候选词元表。例如,在上述示例中,当方法200确定“burger”不包括中文字符时,可以更新候选词元表112,从而生成候选词元表116。例如,方法可以将“burger”从候选词元表112中移除,或者在移除之后,将“burger”转换为中文字符“汉堡”并添加到候选词元表112。

在框208,方法200基于源词元表和更新后的候选词元表,生成目标语言模型的目标词元表。例如,在如图1所示的环境100中,方法200可以基于源词元表106和更新后的候选词元表116来生成目标词元表124。目标词元表124中的词元集合126包括源词元表106中的全部词元118,并且词元集合128包括更新后的候选词元表116中的全部词元118。在一些实施例中,可以将更新后的候选词元表116与源词元表106合并,从而生成目标词元表124。在另一些实施例中,可以将候选词元表112与源词元表106合并,再保持源词元表106的词元108不变,更新候选词元表112的部分,从而生成目标词元表124。

通过这种方式,方法200在目标词元表中增加了包括目标语言的字符的词元,提高了目标分词器对目标语言文本的覆盖范围,从而能够提高目标语言模型针对目标语言的性能和处理能力。除此之外,由于在保持源词元表中的词元不变的情况下,通过更新候选词元表来维持不包括目标语言字符的词元的质量,从而能够减少扩展词元表对目标分词器处理源语言的能力的影响,使得目标分词器能够保持源分词器针对源语言的强大的处理能力。

在一些实施例中,在确定候选词元不包括目标语言字符并更新候选词元表时,可以从候选词元表中移除该候选词元。在一些实施例中,可以通过确定源词元表和更新后的候选词元表的并集来生成目标词元表。

图3示出了根据本公开的一些实施例的利用所生成的目标词元表要达到的目标的示例300的示意图,以及为了达到图3所示的目标,图4示出了根据本公开的一些实施例的生成目标词元表的过程400的示意图。在图3所示的示例300中,源语言是英文,目标语言是中文。如图3所示,原始文本302的内容是“他坚持不懈。He persisted indefatigably.”,这是一段平行文本,平行文本由表示相同含义的英文文本(“He persisted indefatigably”)和中文文本(“他坚持不懈”)组成。在示例300中,使用源分词器304(例如,图1中的源分词器104)来对原始文本302进行分词,可以得到分词结果306,在分词结果306中,用竖线分隔各个词元。如图3所示,原始文本302的中文部分(即,“他坚持不懈”)被分割为九个词元,分别是“他”、“0xE5”、“0x9D”、“0x9A”、“持”、“不”、“0xE6”、“0x87”和“0x88”,以及原始文本302的英文部分(即,“He persisted indefatigably”)被分割为八个词元,分别是“He”、“pers”、“isted”、“in”、“def”、“at”、“ig”和“ably”。由于源分词器304的源词元表(例如,图1中的源词元表106)中不包括中文字符“坚”和“懈”,因此“坚”被分词为三个源词元表中的词元“0xE5”、“0x9D”和“0x9A”,而“懈”也被分词为三个源词元表中的词元“0xE6”、“0x87”和“0x88”。

这样的分词方式可能降低语言模型在理解和处理原始文本302时的准确性和效率,因此,期望可以通过扩展目标分词器308的目标词元表(例如,图1中的目标词元表124)来使目标分词器308能够对原始文本302进行分词以生成分词结果310。在分词结果310中,原始文本302的中文部分被分割为三个词元,分别是“他”、“坚持”和“不懈”,而原始文本302的英文部分保持与分词结果306一致。这样,在基于分词结果310来训练目标语言模型(例如,图1中的目标语言模型120)时,能够提高目标语言模型对“他坚持不懈”的处理能力的同时,还能够保持目标语言模型对“He persisted indefatigably”的处理能力。通过扩展词元表导致降低目标语言模型处理能力的一个示例可以分词结果312。在分词结果312中,改变了源分词器304对英文“persisted”的分词方式,即被分割为“per”、“sis”和“ted”,这会导致目标语言模型对英文的处理能力下降。

基于图3中的示例300,图4示出了根据本公开的一些实施例的生成目标词元表的过程400的示意图。如图4所示,源词元表402(例如,图1中的源词元表106)中存在包括中文字符的词元“他”和不包括中文字符的词元“He”和“0xE5”。为了提高源分词器处理中文的能力,可以利用候选词元表404来扩展源词元表402。然而,候选词元表404(例如,图1中的候选词元表112)中包括词元“per”和“sis”,如果在所生成的目标词元表中包含这两个新词元,则可能导致英文“persisted”被分词为“per”、“sis”和“ted”。因此,如图4所示,过程400可以针对候选词元表404中的每个词元,确定其是否至少包括一个中文字符。过程400可以保留这些包括中文字符的词元,并且将不包括中文字符的词元从候选词元表404中移除,从而生成更新后的候选词元表406。在图4所示的示例中,词元“坚持”、“不懈”、“O型”和“U盘”均包括中文字符,因此它们被保留,而词元“per”和“sis”因为不包括中文字符被从候选词元表404中移除。在得到更新后的候选词元表406之后,过程400可以将源词元表402和更新后的候选词元表406合并(即,确定它们的并集),从而生成目标词元表408。通过这种方式,在扩展源词元表402时,仅新增了包括中文字符的词元,从而能够在提高目标语言模型针对中文的处理能力和性能的同时,减少扩展词元表对目标分词器对源语言的处理能力的影响,使得目标分词器能够保持源分词器针对源语言的强大的处理能力。

在训练目标语言模型时,需要针对目标词元表中的词元生成相对应的词元嵌入以用于后续的算法,并且通过迭代来优化这些词元嵌入以使目标语言模型的损失达到最小。目标语言模型可以基于源语言模型来进行继续预训练,从而能够付出最少的努力以在保留源语言模型对源语言的处理能力的同时,提高对目标语言的处理能力。例如,在训练过程中,目标语言模型可以生成与输入词元和输出词元相对应的输入嵌入和输出嵌入。然后,目标语言模型可以利用输入嵌入和输出嵌入来预测输入词元的下一个词元是输出词元的概率。目标语言模型可以基于多个输出词元的预测概率来确定作为预测结果的预测词元,然后通过比较预测词元和训练样本中输入词元的实际的下一个词元来优化目标语言模型。

由于目标语言模型所使用的目标词元表在源词元表的基础上进行了扩展,因此对于源词元表中已有的词元,利用源语言模型能够生成可用的词元嵌入。然而,针对新词元无法利用源语言模型生成可用的词元嵌入,因此需要对目标语言模型进行训练以优化针对这些新词元生成的词元嵌入。在传统方案中,可以对这些新词元的嵌入进行随机初始化,然而这种方式可能导致训练过程收敛速度慢、在有限的数据集上所训练的模型性能低。

为此,在一些实施例中,可以通过利用源语言模型对更新后的候选词元表中的目标词元进行分词,生成源词元集合,然后基于源词元集合,利用源语言模型来生成源输入嵌入集合。在这些实施例中,可以基于源输入嵌入集合来生成目标输入嵌入,然后基于目标输入嵌入来生成目标语言模型。在一些实施例中,还可以基于源词元集合,利用源语言模型来生成源输出嵌入集合。然后,基于源输出嵌入集合来生成目标输出嵌入,以及基于目标输入嵌入和目标输出嵌入来训练所述目标语言模型。

在一些实施例中,为了生成目标输入嵌入,可以基于源输入嵌入集合中每个源输入嵌入的特定位置的值来确定目标输入嵌入的对应位置的值。在一些实施例中,可以基于源输入嵌入集合中每个源输入嵌入的特定位置的值来确定目标输入嵌入的对应位置的值。在一些实施例中,可以确定源输入嵌入集合中每个源输入嵌入的特定位置的值的加权平均值,以及基于加权平均值来确定目标词元嵌入的对应位置的值。

图5示出了根据本公开的一些实施例的对新词元进行初始化的过程500的示意图。如图5所示,目标输入嵌入矩阵502包括与目标词元表中的每个词元相对应的目标输入嵌入,例如,目标输入嵌入504是与目标词元表中的词元“坚持”相对应的嵌入。目标输出嵌入矩阵532包括与目标词元表中的每个词元相对应的输出嵌入,例如,目标输出嵌入534是与目标词元表中的词元“不懈”相对应的嵌入。词元“坚持”和“不懈”是更新后的候选词元集合中的新词元,因此需要对目标输入嵌入504和目标输出嵌入534进行初始化。

在初始化目标输入嵌入504时,过程500可以利用源语言模型(例如,图1中的源语言模型102)的源分词器(例如,图1中的源分词器104)来对词元“坚持”进行分词,从而获得词元集合“0xE5”、“0x9D”、“0x9A”和“持”。然后,过程500可以利用源语言模型来生成与该词元集合相对应的源输入嵌入集合512,源输入嵌入集合512包括与词元“0xE5”相对应的源输入嵌入514、与词元“0x9D”相对应的源输入嵌入516、与词元“0x9A”相对应的源输入嵌入518、和与词元“持”相对应的源输入嵌入520。然后,过程500可以确定源输入嵌入集合512中每个源输入嵌入的特定位置的值的加权平均值,并基于该加权平均值来确定目标输入嵌入504的对应位置的值。例如,过程500可以确定位置514、516、518和520的值的加权平均值,然后将该加权平均值确定为目标输入嵌入504的位置506的初始值。通过对目标输入嵌入504的各个位置进行初始化,可以完成对目标输入嵌入504的初始化。

类似地,在初始化目标输出嵌入534时,过程500可以利用源语言模型的源分词器来对词元“不懈”进行分词,从而获得词元集合“0xE6”、“0x87”和“0x88”。然后,过程500可以利用源语言模型来生成对应的源输出嵌入集合542,源输出嵌入集合542包括与词元“0xE6”相对应的源输出嵌入544、与词元“0x87”相对应的源输出嵌入546、和与词元“0x88”相对应的源输出嵌入546。然后过程500可以确定位置544、546和548的值的加权平均值,然后将该加权平均值确定为目标输出嵌入534的位置536的初始值。通过对目标输出嵌入504的各个位置进行初始化,可以完成对目标输出嵌入504的初始化。

过程500可以查找目标输入嵌入矩阵502中与目标词元表中的新词元相对应的目标输入嵌入,并针对这些目标输入嵌入中的每一个执行上述初始化过程。相似地,过程500可以查找目标输出嵌入矩阵502中与目标词元表中的新词元相对应的目标输出嵌入,并针对这些目标输出嵌入中的每一个执行上述初始化过程。然后,过程500可以基于初始化后的目标输入嵌入矩阵502和目标输出嵌入矩阵532,利用目标语言模型560来生成各个词元是指定的输入词元的下一词元的预测概率。然后,目标语言模型560可以通过比较所预测的下一词元和实际的下一词元来迭代地优化新词元的输入和输出嵌入。

通过这种方式,能够利用经训练的源语言模型来初始化目标语言模型560的词元表中新词元的嵌入,从而能够提高目标语言模型560在训练过程中的收敛速度。除此之外,收敛速度的提高可以使得目标语言模型560能够利用有限的训练数据上获得更好的训练效果,提高模型的准确性。

为了进一步提高目标语言模型的性能,可以调整训练数据集的构成。在一些实施例中,可以生成训练文本数据集,训练文本数据集由以下各部分构成:包括多个源语言文本的数据集(也称为第一文本数据集),包括多个目标语言文本的数据集(也称为第二文本数据集),和包括多个平行语言文本的数据集(也称为第三文本数据集),混合语言文本包括含义相同的源语言文本和目标语言文本,以及基于目标词元表和训练文本数据集,生成目标语言模型。在一些实施例中,源文本数据集的词元数目和目标文本数据集的词元数目的比例等于预定比例。在一些实施例中,平行文本数据集的词元数目和目标文本数据集的词元数目的比例也等于该预定比例。在一些实施例中,源文本数据集的词元数目、平行文本数据集的词元数目和目标文本数据集的词元数目的比例为1:1:18。通过这种方式构造训练数据集,能够提高目标语言模型对目标语言的处理能力,加快模型的收敛速度,以及保留源语言模型对源语言的处理能力。

图6示出了根据本公开的一些实施例的训练数据构成的示例600的示意图。如图6所示,在示例600中,源语言是英文,目标语言是中文。为了提高目标语言模型对中文的处理能力,在训练数据集中可以包括中文文本数据集。为了在训练过程中保持源语言模型对英文的处理能力,在训练数据集中可以包括英文文本数据集。中英文对照文本(即,平行语言文本)有助于在训练的早期使目标语言模型快速收敛,因此可以在训练数据集中包括中英文对照数据集。

各个数据集占训练数据集的比例可以显著影响目标语言模型的性能。由于平行文本数据集中的文本通常长度较短,而长度较大的文本对于训练更加有效,因此在构造训练数据集时,可以使中英文对照数据集与中文数据集的词元数目的比例等于预定比例,例如,在示例600中,预定比例是1:18。除此之外,由于目标语言模型的训练目标是加强其中文处理能力,因此在构造训练数据集时,可以使英文数据集与中文数据集的词元数目的比例也等于该预定比例,例如,在示例600中,英文数据集的词元数目与中文数据集的词元数目的比例也是1:18。

此外,训练数据的来源也会影响模型的训练效果。例如,在图6所示的示例600中,中文数据集的来源和比例是内容分发平台(占总训练数据集的25%)、小说平台(5%)、百科平台(10%)、社交平台(5%)、知识问答平台(5%)、知识创作平台(15%)、现有公开数据集(5%)、其他中文平台(20%)。英文数据集的来源为现有的公开数据集(5%),以及中英对照数据集的来源为具有中英文对照文本的网站(5%)。

通过精细的构造训练数据集,能够提高目标语言模型对目标语言的处理能力,加快模型的收敛速度,以及保留源语言模型对源语言的处理能力。

在一些实施例中,为了评估经预训练的目标语言模型的性能,针对用于评估模型性能的预训练基准任务,可以通过以下等式(1)来计算目标语言模型在输入文本X=x

其中θ是目标语言模型的参数,并且困惑度越低说明模型的性能越好。

图7示出了根据本公开的一些实施例的预训练基准任务的示例700和利用目标语言模型的人和人工智能对话的示例710。如图7所示,示例700包括中文预训练基准任务的示例,该示例可以通过向语言模型提供查询、上下文、选项、和正确选项(图7中用下划线表示)来评估语言模型的在中文任务上的处理能力。示例700还包括英文预训练基准任务的示例,该示例可以通过向语言模型提供查询、选项、和正确选项(图7中用下划线表示)来评估语言模型在英文任务上的处理能力。在示例710中,可以使用中文提出问题,目标语言模型基于该问题给出中文的回答。

图8示出了根据本公开的一些实施例的用于生成语言模型的装置800的框图。如图8所示,装置800包括词元获取模块802,被配置为获取源语言模型的源词元表和候选词元表,源词元表中的词元包括源语言的字符。装置800还包括候选确定模块804,被配置为针对候选词元表中的候选词元,确定候选词元是否包括目标语言的字符。装置800还包括候选更新模块806,被配置为响应于确定候选词元不包括目标语言的字符,更新候选词元表。装置800还包括目标生成模块808,配置为基于源词元表和更新后的候选词元表,生成目标语言模型的目标词元表。

可以理解,利用本公开的装置800,可以实现如上文描述的方法或过程所能够实现的诸多优点中的至少一个。例如,通过在目标词元表中增加包括目标语言的字符的词元,提高了目标分词器对目标语言文本的覆盖范围,从而能够提高目标语言模型针对目标语言的性能和处理能力。除此之外,由于在保持源词元表中的词元不变的情况下,通过更新候选词元表来维持不包括目标语言字符的词元的质量,从而能够减少扩展词元表对目标分词器处理源语言的能力的影响,使得目标分词器能够保持源分词器针对源语言的强大的处理能力。

图9示出了根据本公开的某些实施例的电子设备900的框图,设备900可以是本公开的实施例所描述的设备或装置。如图9所示,设备900包括中央处理单元(CPU)和/或图形处理单元(GPU)901,其可以根据存储在只读存储器(ROM)902中的计算机程序指令或者从存储单元908加载到随机访问存储器(RAM)903中的计算机程序指令,来执行各种适当的动作和处理。在RAM 903中,还可以存储设备900操作所需的各种程序和数据。CPU/GPU 901、ROM902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。虽然未在图9中示出,设备900还可以包括协处理器。

设备900中的多个部件连接至I/O接口905,包括:输入单元906,例如键盘、鼠标等;输出单元907,例如各种类型的显示器、扬声器等;存储单元908,例如磁盘、光盘等;以及通信单元909,例如网卡、调制解调器、无线通信收发机等。通信单元909允许设备900通过诸如互联网的计算机网络和/或各种电信网络与其他设备交换信息/数据。

上文所描述的各个方法或过程可以由CPU/GPU 901来执行。例如,在一些实施例中,方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由ROM 902和/或通信单元909而被载入和/或安装到设备900上。当计算机程序被加载到RAM 903并由CPU/GPU 901执行时,可以执行上文描述的方法或过程中的一个或多个步骤或动作。

在一些实施例中,以上所描述的方法和过程可以被实现为计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

本文所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如互联网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,编程语言包括面向对象的编程语言,以及常规的过程式编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用互联网服务提供商来通过互联网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个框中规定的功能/动作。

附图中的流程图和框图显示了根据本公开的多个实施例的设备、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这取决于所涉及的功能。也要注意的是,框图和/或流程图中的每个框、以及框图和/或流程图中的框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所公开的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中技术的技术改进,或者使得本技术领域的其它普通技术人员能理解本文公开的各实施例。

以下列出了本公开的一些示例实现。

示例1.一种用于生成语言模型的方法,包括:

获取源语言模型的源词元表和候选词元表,所述源词元表中的词元包括第一语言的字符;

针对候选词元表中的候选词元,确定所述候选词元是否包括第二语言的字符;

响应于确定所述候选词元不包括所述第二语言的字符,更新所述候选词元表;以及

基于所述源词元表和更新后的所述候选词元表,生成目标语言模型的目标词元表。

示例2.根据示例1所述的方法,其中更新所述候选词元表包括:

从所述候选词元表移除所述候选词元。

示例3.根据示例1-2所述的方法,其中生成所述目标词元表包括:

通过确定所述源词元表和所述更新后的候选词元表的并集,生成所述目标词元表。

示例4.根据示例1-3所述的方法,还包括:

通过利用源语言模型对所述更新后的候选词元表中的目标词元进行分词,生成源词元集合;

基于所述源词元集合,利用所述源语言模型来生成源输入嵌入集合;

基于所述源输入嵌入集合,生成目标输入嵌入;以及

基于所述目标输入嵌入,生成所述目标语言模型。

示例5.根据示例1-4所述的方法,其中生成所述目标输入嵌入包括:

基于所述源输入嵌入集合中每个源输入嵌入的特定位置的值,确定所述目标输入嵌入的对应位置的值。

示例6.根据示例1-5所述的方法,其中生成所述目标输入嵌入的所述特定位置的值包括:

确定所述源输入嵌入集合中每个源输入嵌入的所述特定位置的值的加权平均值;以及

基于所述加权平均值,确定所述目标词元嵌入的所述对应位置的值。

示例7.根据示例1-6所述的方法,还包括:

基于所述源词元集合,利用所述源语言模型来生成源输出嵌入集合;

基于所述源输出嵌入集合,生成目标输出嵌入;以及

基于所述目标输入嵌入和所述目标输出嵌入,生成所述目标语言模型。

示例8.根据示例1-7所述的方法,还包括:

生成文本数据集,所述文本数据集包括第一文本数据集、第二文本数据集和第三文本数据集,所述第一文本数据集包括多个第一语言文本,所述第二文本数据集包括多个第二语言文本,所述第三文本数据集包括多个平行语言文本,所述平行语言文本包括含义相同的第一语言文本和第二语言文本;

基于所述目标词元表和所述文本数据集,生成所述目标语言模型。

示例9.根据示例1-8所述的方法,其中所述第一文本数据集的词元数目和所述第二文本数据集的词元数目的比例等于预定比例,并且所述第三文本数据集的词元数目和所述第二文本数据集的词元数目的比例等于所述预定比例。

示例10.根据示例1-9所述的方法,其中所述第一文本数据集的词元数目、所述第三文本数据集的词元数目和所述第二文本数据集的词元数目的比例是1:1:18。

示例11.一种用于生成语言模型的装置,包括:

词元获取模块,被配置为获取源语言模型的源词元表和候选词元表,所述源词元表中的词元包括第一语言的字符;

候选确定模块,被配置为针对候选词元表中的候选词元,确定所述候选词元是否包括第二语言的字符;

候选更新模块,被配置为响应于确定所述候选词元不包括所述第二语言的字符,更新所述候选词元表;以及

目标生成模块,被配置为基于所述源词元表和更新后的所述候选词元表,生成目标语言模型的目标词元表。

示例12.根据示例11所述的装置,其中更新所述候选词元表包括:

词元移除模块,被配置为从所述候选词元表移除所述候选词元。

示例13.根据示例11-12所述的装置,其中生成所述目标词元表包括:

并集确定模块,被配置为通过确定所述源词元表和所述更新后的候选词元表的并集,生成所述目标词元表。

示例14.根据示例11-13所述的装置,还包括:

目标词元分词模块,被配置为通过利用源语言模型对所述更新后的候选词元表中的目标词元进行分词,生成源词元集合;

源嵌入生成模块,被配置为基于所述源词元集合,利用所述源语言模型来生成源输入嵌入集合;

目标嵌入生成模块,被配置为基于所述源输入嵌入集合,生成目标输入嵌入;以及

目标嵌入使用模块,被配置为基于所述目标输入嵌入,生成所述目标语言模型。

示例15.根据示例11-14所述的装置,其中生成所述目标输入嵌入包括:

目标嵌入值确定模块,被配置为基于所述源输入嵌入集合中每个源输入嵌入的特定位置的值,确定所述目标输入嵌入的对应位置的值。

示例16.根据示例11-15所述的装置,其中生成所述目标输入嵌入的所述特定位置的值包括:

加权平均确定模块,被配置为确定所述源输入嵌入集合中每个源输入嵌入的所述特定位置的值的加权平均值;以及

加权平均使用模块,被配置为基于所述加权平均值,确定所述目标词元嵌入的所述对应位置的值。

示例17.根据示例11-16所述的装置,还包括:

源输出生成模块,被配置为基于所述源词元集合,利用所述源语言模型来生成源输出嵌入集合;

目标输出生成模块,被配置为基于所述源输出嵌入集合,生成目标输出嵌入;以及

输入输出使用模块,被配置为基于所述目标输入嵌入和所述目标输出嵌入,生成所述目标语言模型。

示例18.根据示例11-17所述的装置,还包括:

数据集生成模块,被配置为生成文本数据集,所述文本数据集包括第一文本数据集、第二文本数据集和第三文本数据集,所述第一文本数据集包括多个第一语言文本,所述第二文本数据集包括多个第二语言文本,所述第三文本数据集包括多个平行语言文本,所述平行语言文本包括含义相同的第一语言文本和第二语言文本;

数据集使用模块,被配置为基于所述目标词元表和所述文本数据集,生成所述目标语言模型。

示例19.根据示例11-18所述的装置,其中所述第一文本数据集的词元数目和所述第二文本数据集的词元数目的比例等于预定比例,并且所述第三文本数据集的词元数目和所述第二文本数据集的词元数目的比例等于所述预定比例。

示例20.根据示例11-19所述的装置,其中所述第一文本数据集的词元数目、所述第三文本数据集的词元数目和所述第二文本数据集的词元数目的比例是1:1:18。

示例21.一种电子设备,包括:

处理器;以及

与所述处理器耦合的存储器,所述存储器具有存储于其中的指令,所述指令在被所述处理器执行时使所述电子设备执行动作,所述动作包括:

获取源语言模型的源词元表和候选词元表,所述源词元表中的词元包括第一语言的字符;

针对候选词元表中的候选词元,确定所述候选词元是否包括第二语言的字符;

响应于确定所述候选词元不包括所述第二语言的字符,更新所述候选词元表;以及

基于所述源词元表和更新后的所述候选词元表,生成目标语言模型的目标词元表。

示例22.根据示例21所述的设备,其中更新所述候选词元表包括:

从所述候选词元表移除所述候选词元。

示例23.根据示例21-22所述的设备,其中生成所述目标词元表包括:

通过确定所述源词元表和所述更新后的候选词元表的并集,生成所述目标词元表。

示例24.根据示例21-23所述的设备,还包括:

通过利用源语言模型对所述更新后的候选词元表中的目标词元进行分词,生成源词元集合;

基于所述源词元集合,利用所述源语言模型来生成源输入嵌入集合;

基于所述源输入嵌入集合,生成目标输入嵌入;以及

基于所述目标输入嵌入,生成所述目标语言模型。

示例25.根据示例21-24所述的设备,其中生成所述目标输入嵌入包括:

基于所述源输入嵌入集合中每个源输入嵌入的特定位置的值,确定所述目标输入嵌入的对应位置的值。

示例26.根据示例21-25所述的设备,其中生成所述目标输入嵌入的所述特定位置的值包括:

确定所述源输入嵌入集合中每个源输入嵌入的所述特定位置的值的加权平均值;以及

基于所述加权平均值,确定所述目标词元嵌入的所述对应位置的值。

示例27.根据示例21-26所述的设备,还包括:

基于所述源词元集合,利用所述源语言模型来生成源输出嵌入集合;

基于所述源输出嵌入集合,生成目标输出嵌入;以及

基于所述目标输入嵌入和所述目标输出嵌入,生成所述目标语言模型。

示例28.根据示例21-27所述的设备,还包括:

生成文本数据集,所述文本数据集包括第一文本数据集、第二文本数据集和第三文本数据集,所述第一文本数据集包括多个第一语言文本,所述第二文本数据集包括多个第二语言文本,所述第三文本数据集包括多个平行语言文本,所述平行语言文本包括含义相同的第一语言文本和第二语言文本;

基于所述目标词元表和所述文本数据集,生成所述目标语言模型。

示例29.根据示例21-28所述的设备,其中所述第一文本数据集的词元数目和所述第二文本数据集的词元数目的比例等于预定比例,并且所述第三文本数据集的词元数目和所述第二文本数据集的词元数目的比例等于所述预定比例。

示例30.根据示例21-29所述的设备,其中所述第一文本数据集的词元数目、所述第三文本数据集的词元数目和所述第二文本数据集的词元数目的比例是1:1:18。

尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本公开,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

技术分类

06120116506296