CN118132672A - 模型预训练方法、装置、存储介质及电子设备 - Google Patents

模型预训练方法、装置、存储介质及电子设备 Download PDF

Info

Publication number
CN118132672A
CN118132672A CN202410131223.5A CN202410131223A CN118132672A CN 118132672 A CN118132672 A CN 118132672A CN 202410131223 A CN202410131223 A CN 202410131223A CN 118132672 A CN118132672 A CN 118132672A
Authority
CN
China
Prior art keywords
data
path
training
under
training data
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
CN202410131223.5A
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.)
Du Xiaoman Technology Beijing Co Ltd
Original Assignee
Du Xiaoman Technology Beijing 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 Du Xiaoman Technology Beijing Co Ltd filed Critical Du Xiaoman Technology Beijing Co Ltd
Priority to CN202410131223.5A priority Critical patent/CN118132672A/zh
Publication of CN118132672A publication Critical patent/CN118132672A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明提供一种模型预训练方法、装置、存储介质及电子设备,其中,该方法包括:通过压缩处理以得到各个训练数据中各路数据下的压缩数据源;分别对各个训练数据中各路数据下的压缩数据源进行掩码,以及对各个训练数据中相应路数据下的掩码数据源进行编码,得到各个训练数据中各路数据下的编码数据源;基于各个训练数据中各路数据下的编码数据源和各个训练数据中各路数据下的压缩数据源,分别计算各路数据下的模型损失值,并分别按照各路数据下的模型损失值,优化相应路数据对应的初始语言模型中的模型参数,得到各路数据对应的中间语言模型,以确定各路数据对应的目标语言模型。本发明实施例可便捷地进行模型预训练,以提高模型预训练效率。

Description

模型预训练方法、装置、存储介质及电子设备
技术领域
本发明涉及计算机技术领域,尤其涉及一种模型预训练方法、装置、存储介质及电子设备。
背景技术
目前,预训练语言模型在自然语言处理中已被广泛关注,所谓的预训练语言模型是指:利用大量的无监督数据,在下游任务训练之前先预训练得到比较好的语义表示;但相关技术在进行模型预训练(即建模),尤其是进行长文本建模时,导致模型预训练效率较低。基于此,如何便捷地进行模型预训练,以提高模型预训练效率目前暂未具有较好的解决方案。
发明内容
有鉴于此,本发明实施例提供了一种模型预训练方法、装置、存储介质及电子设备,以解决相关技术导致模型预训练效率较低等问题;也就是说,本发明实施例可便捷地进行模型预训练,以提高模型预训练效率,即可有效提升模型的训练和推理的速度。
根据本发明的一方面,提供了一种模型预训练方法,所述方法包括:
获取训练数据集,一个训练数据包括一个对象在M路数据中各路数据下的初始数据源,且一路数据对应一个语言模型,M为正整数;
分别对所述训练数据集包括的各个训练数据中所述各路数据下的初始数据源进行压缩处理,得到所述各个训练数据中所述各路数据下的压缩数据源,一个压缩数据源中压缩语义表示的数量小于相应初始数据源中初始语义表示的数量;
分别对所述各个训练数据中所述各路数据下的压缩数据源进行掩码,得到所述各个训练数据中所述各路数据下的掩码数据源,并分别调用所述各路数据对应的初始语言模型,对所述各个训练数据中相应路数据下的掩码数据源进行编码,得到所述各个训练数据中所述各路数据下的编码数据源;
基于所述各个训练数据中所述各路数据下的编码数据源和所述各个训练数据中所述各路数据下的压缩数据源,分别计算所述各路数据下的模型损失值,并分别按照所述各路数据下的模型损失值,优化相应路数据对应的初始语言模型中的模型参数,得到所述各路数据对应的中间语言模型,以基于所述各路数据对应的中间语言模型,确定所述各路数据对应的目标语言模型。
根据本发明的另一方面,提供了一种模型预训练装置,所述装置包括:
获取单元,用于获取训练数据集,一个训练数据包括一个对象在M路数据中各路数据下的初始数据源,且一路数据对应一个语言模型,M为正整数;
处理单元,用于分别对所述训练数据集包括的各个训练数据中所述各路数据下的初始数据源进行压缩处理,得到所述各个训练数据中所述各路数据下的压缩数据源,一个压缩数据源中压缩语义表示的数量小于相应初始数据源中初始语义表示的数量;
所述处理单元,还用于分别对所述各个训练数据中所述各路数据下的压缩数据源进行掩码,得到所述各个训练数据中所述各路数据下的掩码数据源,并分别调用所述各路数据对应的初始语言模型,对所述各个训练数据中相应路数据下的掩码数据源进行编码,得到所述各个训练数据中所述各路数据下的编码数据源;
所述处理单元,还用于基于所述各个训练数据中所述各路数据下的编码数据源和所述各个训练数据中所述各路数据下的压缩数据源,分别计算所述各路数据下的模型损失值,并分别按照所述各路数据下的模型损失值,优化相应路数据对应的初始语言模型中的模型参数,得到所述各路数据对应的中间语言模型,以基于所述各路数据对应的中间语言模型,确定所述各路数据对应的目标语言模型。
根据本发明的另一方面,提供了一种电子设备,所述电子设备包括处理器、以及存储程序的存储器,其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行上述所提及的方法。
根据本发明的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使计算机执行上述所提及的方法。
本发明实施例可在获取到训练数据集后,分别对训练数据集包括的各个训练数据中各路数据下的初始数据源进行压缩处理,得到各个训练数据中各路数据下的压缩数据源,一个训练数据包括一个对象在M路数据中各路数据下的初始数据源,且一路数据对应一个语言模型,M为正整数;一个压缩数据源中压缩语义表示的数量小于相应初始数据源中初始语义表示的数量。然后,可分别对各个训练数据中各路数据下的压缩数据源进行掩码,得到各个训练数据中各路数据下的掩码数据源,并分别调用各路数据对应的初始语言模型,对各个训练数据中相应路数据下的掩码数据源进行编码,得到各个训练数据中各路数据下的编码数据源。基于此,可基于各个训练数据中各路数据下的编码数据源和各个训练数据中各路数据下的压缩数据源,分别计算各路数据下的模型损失值,并分别按照各路数据下的模型损失值,优化相应路数据对应的初始语言模型中的模型参数,得到各路数据对应的中间语言模型,以基于各路数据对应的中间语言模型,确定各路数据对应的目标语言模型。可见,本发明实施例可便捷地进行模型预训练,以提高模型预训练效率,即可有效提升模型的训练和推理的速度。
附图说明
在下面结合附图对于示例性实施例的描述中,本发明的更多细节、特征和优点被公开,在附图中:
图1示出了根据本发明示例性实施例的一种模型预训练方法的流程示意图;
图2示出了根据本发明示例性实施例的一种预训练的示意图;
图3示出了根据本发明示例性实施例的另一种模型预训练方法的流程示意图;
图4示出了根据本发明示例性实施例的一种对比学习的示意图;
图5示出了根据本发明示例性实施例的一种模型预训练装置的示意性框图;
图6示出了能够用于实现本发明的实施例的示例性电子设备的结构框图。
具体实施方式
下面将参照附图更详细地描述本发明的实施例。虽然附图中显示了本发明的某些实施例,然而应当理解的是,本发明可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本发明。应当理解的是,本发明的附图及实施例仅用于示例性作用,并非用于限制本发明的保护范围。
应当理解,本发明的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本发明的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。需要注意,本发明中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本发明中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本发明实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
需要说明的是,本发明实施例提供的模型预训练方法的执行主体可以是一个或多个电子设备,本发明对此不作限定;其中,电子设备可以是终端(即客户端)或者服务器,那么在执行主体包括多个电子设备,且多个电子设备中包括至少一个终端和至少一个服务器时,本发明实施例提供的模型预训练方法可由终端和服务器共同执行。相应的,此处所提及的终端可以包括但不限于:智能手机、平板电脑、笔记本电脑、台式计算机、智能语音交互设备,等等。此处所提及的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算(cloud computing)、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(ContentDelivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器,等等。
基于上述描述,本发明实施例提出一种模型预训练方法,该模型预训练方法可以由上述所提及的电子设备(终端或服务器)执行;或者,该模型预训练方法可由终端和服务器共同执行。为了便于阐述,后续均以电子设备执行该模型预训练方法为例进行说明;如图1所示,该模型预训练方法可包括以下步骤S101-S104:
S101,获取训练数据集,一个训练数据包括一个对象在M路数据中各路数据下的初始数据源,且一路数据对应一个语言模型,M为正整数。
其中,一个训练数据对应一个对象;那么相应的,训练数据集可包括至少一个对象中各个对象的训练数据,即训练数据集可包括各个对象在各路数据下的初始数据源;可选的,一个对象在各路数据下的数据源也可称为相应对象的训练数据中各路数据下的数据源,也就是说,一个训练数据可包括各路数据下的初始数据源,且一个训练数据中各路数据下的数据源可以是指:相应训练数据对应的对象在各路数据下的数据源。示例性的,一个训练数据中各路数据下的压缩数据源可以是指相应训练数据对应的对象在各路数据下压缩数据源,一个训练数据中各路数据下的掩码数据源可以是指相应训练数据对应的对象在各路数据下的掩码数据源,一个训练数据中各路数据下的编码数据源与可以是指相应训练数据对应的对象在各路数据下的编码数据源,等等。
可选的,一个对象可以是一个用户,也可以是一个商品(如图书等),等等;本发明实施例对此不作限定。可选的,至少一个对象中各个对象可以属于同一个类型,如可以均为用户或均为图书等。
应当理解的是,当M的取值为1时,本发明实施例涉及的是单路数据,从而可实现下述确定一路数据对应的目标语言模型;当M的取值大于1时,可将数据扩充到多路数据,从而实现下述确定各路数据对应的目标语言模型,也就是说,目标语言模型的数量可以为多个,一路数据对应一个目标语言模型,等等。
示例性的,假设M的取值为2,且一个对象为一个用户,那么一路数据可以为用户的属性标签数据(如性别和年龄等),即一路数据下的初始数据源可用于描述用户的属性信息;相应的,另一路数据可以为用户的搜索文本和/或浏览文本等,即另一路数据下的初始数据源可用于描述用户的搜索内容和/或浏览内容,等等。
在本发明实施例中,上述训练数据集的获取方式可以包括但不限于以下几种:
第一种获取方式:电子设备的自身存储空间中存储有多个训练数据,在此种情况下,电子设备可从多个训练数据中选取出至少一个训练数据,并将至少一个训练数据添加至训练数据集中,以使训练数据集包括至少一个训练数据。
第二种获取方式:电子设备可获取训练数据下载链接,并将基于训练数据下载链接下载的训练数据,添加至训练数据集中,以使训练数据集包括基于训练数据下载链接下载的训练数据。
第三种获取方式:电子设备可获取训练文本集,训练文本集包括至少一个训练文本,一个训练文本可包括一个对象在各路数据下的训练子文本。在此种情况下,针对训练文本集中的任一训练文本,电子设备可对任一训练文本中各路数据下的训练子文本进行分词处理,得到任一训练文本中各路数据下的分词结果,一个分词结果可包括多个分词(即token,令牌),并可分别对任一训练文本中各路数据下的分词结果进行向量化处理,得到任一训练文本中各路数据下的初始数据源,任一训练文本中任一路数据下的初始数据源可包括任一训练文本中任一路数据下的各个分词的初始语义表示,从而可将任一训练文本中各路数据下的初始数据源添加至训练数据集中,以将任一训练文本中各路数据下的初始数据源作为训练数据集中的一个训练数据,等等。
需要说明的是,一个训练数据可对应一个训练文本,且一个训练数据中的一路数据对应相应训练文本中的一个训练子文本。其中,一个训练子文本的文本长度可以是任意长度,本发明实施例对此不作限定,一个训练子文本的文本长度可以为相应训练子文本中的分词数量。可选的,当一个文本的文本长度大于预设长度阈值时,可将该文本作为一个长文本;可选的,预设长度阈值可以是按照经验设置的,也可以是按照实际需求设置的,本发明实施例对此不作限定。
可选的,当各个训练数据对应的训练文本中的训练子文本为长文本时,本发明实施例可实现长文本建模,具体可见下述所示,本发明实施例在此不再赘述。
S102,分别对训练数据集包括的各个训练数据中各路数据下的初始数据源进行压缩处理,得到各个训练数据中各路数据下的压缩数据源,一个压缩数据源中压缩语义表示的数量小于相应初始数据源中初始语义表示的数量。
在本发明实施例中,针对训练数据集中的任一训练数据,以及M路数据中的任一路数据,电子设备可对任一训练数据中任一路数据下的初始数据源进行压缩处理,得到任一训练数中任一路数据下的压缩数据源;也就是说,可对任一训练数据对应的对象在任一路数据下的初始数据源进行压缩处理,得到任一训练数据对应的对象在任一路数据下的压缩数据源。其中,任一训练数据中任一路数据下的压缩数据源可包括:任一训练数据对应的对象在任一路数据下的压缩数据源,一个压缩数据源可包括多个压缩语义表示,即任一训练数据中任一路数据下的压缩数据源可包括:任一训练数据中任一路数据下的多个压缩语义表示。相应的,任一训练数据中任一路数据下的初始数据源可包括:任一训练数据中任一路数据下的多个初始语义表示。
需要说明的是,任一训练数据中任一路数据下的压缩语义表示的数量,可小于任一训练数据中任一路数据下的初始语义表示的数量;可选的,当任一训练数据中任一路数据对应的训练子文本为一个长文本时,任一训练数据中任一路数据下的压缩语义表示的数量,可远小于任一训练数据中任一路数据下的初始语义表示的数量,从而有效压缩文本长度。
S103,分别对各个训练数据中各路数据下的压缩数据源进行掩码,得到各个训练数据中各路数据下的掩码数据源,并分别调用各路数据对应的初始语言模型,对各个训练数据中相应路数据下的掩码数据源进行编码,得到各个训练数据中各路数据下的编码数据源。
其中,一个掩码数据源可包括H个掩码单元中各个掩码单元的掩码语义表示,也就是说,电子设备可对一个压缩数据源中各个掩码单元的压缩语义表示进行掩码,得到相应的掩码数据源,那么相应的,一个掩码数据源中除H个掩码单元以外的各个语义单元的掩码语义表示可以为相应压缩数据源中相应语义单元的压缩语义表示,H为正整数。并且,一个编码数据源可包括各个语义单元的编码语义表示,从而可包括H个掩码单元中各个掩码单元的编码语义表示。其中,一个语义表示可对应一个语义单元,一个语义单元可以为一个掩码单元或除掩码单元以外的语义单元。
需要说明的是,任意两个数据源中的掩码单元可以相同,也可以不同;也就是说,任意两个数据源中的掩码单元的数量可以相同,也可以不同,本发明实施例对此不作限定;应当理解的是,同一训练数据中同一路数据下的数据源(如压缩数据源和编码数据源等)中的掩码单元相同。
示例性的,假设一个压缩数据源包括4个压缩语义表示,且4个压缩语义表示中的掩码单元包括第3个语义单元(即第3个压缩语义表示对应的语义单元),那么电子设备可对该压缩数据源中的第3个语义单元进行掩码,从而得到第3个语义单元的掩码语义表示,以实现对该压缩数据源进行掩码,得到该压缩数据源对应的掩码数据源;其中,该压缩数据源对应的掩码数据源可包括:第1个语义单元的压缩语义表示、第2个语义单元的压缩语义表示、第3个语义单元的掩码语义表示以及第4个语义单元的压缩语义表示。
可选的,一个语言模型可以为FLASH模型(一种高效的长文本模型),也可以为Bert(一种深度双向预训练模型)模型,等等;本发明实施例对此不作限定。需要说明的是,在进行长文本建模时,可优选FLASH模型作为语言模型。可选的,一个初始语言模型中的模型参数可以是随机生成的,也可以是按照经验设置的,还可以是按照实际需求设置的,本发明实施例对此不作限定。
S104,基于各个训练数据中各路数据下的编码数据源和各个训练数据中各路数据下的压缩数据源,分别计算各路数据下的模型损失值,并分别按照各路数据下的模型损失值,优化相应路数据对应的初始语言模型中的模型参数,得到各路数据对应的中间语言模型,以基于各路数据对应的中间语言模型,确定各路数据对应的目标语言模型。
在一种实施方式中,针对M路数据中的第m路数据,电子设备可分别从各个训练数据中第m路数据下的编码数据源中,确定出相应训练数据中第m路数据下的每个掩码单元的编码语义表示(即可确定出各个对象在第m路数据下的每个掩码单元的编码语义表示),m∈[1,M]。那么相应的,可基于各个训练数据中第m路数据下的每个掩码单元的编码语义表示,以及相应训练数据中第m路数据下的压缩数据源,计算第m路数据下的模型损失值。具体的,电子设备可遍历训练数据集中的各个训练数据,并将当前遍历的训练数据作为当前训练数据;然后,可采用当前训练数据中第m路数据下的每个掩码单元的编码语义表示和当前训练数据中第m路数据下的压缩数据源,计算当前训练数据中第m路数据下的模型损失值;在遍历完训练数据集中的各个训练数据后,可得到各个训练数据中第m路数据下的模型损失值,并对各个训练数据中第m路数据下的模型损失值进行加权求和,得到第m路数据下的模型损失值。可选的,本发明实施例在加权求和过程中所涉及的权重值均可以是按照经验设置的,也可以是按照实际需求设置的,本发明实施例对此不作限定;示例性的,当各个训练数据中第m路数据下的模型损失值的权重值相同时,可以对各个训练数据中第m路数据下的模型损失值进行均值运算或求和运算,等等。
可选的,在采用当前训练数据中第m路数据下的每个掩码单元的编码语义表示和当前训练数据中第m路数据下的压缩数据源,计算当前训练数据中第m路数据下的模型损失值时,针对当前训练数据中第m路数据中的任一掩码单元,可采用当前训练数据中第m路数据下的任一掩码单元的编码语义表示和当前训练数据中第m路数据源下的压缩数据源,计算任一掩码单元下的模型损失值,以得到当前训练数据中第m路数据下的每个掩码单元下的模型损失值,从而对当前训练数据中第m路数据下的每个掩码单元下的模型损失值进行加权求和(如均值运算或求和运算等),得到当前训练数据中第m路数据下的模型损失值。具体的,电子设备可采用公式1.1,计算任一掩码单元下的模型损失值:
其中,Ex可以为当前训练数据中第m路数据下的编码数据源的期望(即各个编码语义表示的期望),也可以为当前训练数据中第m路数据下的压缩数据源的期望等,本发明实施例对此不作限定;相应的f(x)可以为当前训练数据中第m路数据下的任一掩码单元的编码语义表示,f(x+)可以为当前训练数据中第m路数据下的任一掩码单元的压缩语义表示,W可以为当前训练数据中第m路数据下的压缩语义表示的数量,f(xj)可以为当前训练数据中第m路数据下除任一掩码单元以外的第j个语义单元的压缩语义表示,L可以为相应的损失值,等等。
示例性的,如图2所示,假设当前训练数据中第m路数据下的压缩语义表示的数量为4,且当前训练数据中第m路数据下的任一掩码单元为第3个语义单元,在此种情况下,f(x+)可以为当前训练数据中第m路数据下的第3个语义单元的压缩语义表示;此时W的取值可以为4,当前训练数据中第m路数据下的第1个语义单元可以为当前训练数据中第m路数据下除任一掩码单元以外的第1个语义单元,第2个语义单元可以为当前训练数据中第m路数据下除任一掩码单元以外的第2个语义单元,第4个语义单元可以为当前训练数据中第m路数据下除任一掩码单元以外的第3个语义单元。
可见,本发明实施例可对当前训练数据中第m路数据下的任一掩码单元的编码语义表示与当前训练数据中第m路数据下的压缩数据源进行对比学习,从而拉近mask(即掩码)后的encoder(编码器)语义表示(即编码语义表示)与底层mask之前的语义表示(即任一掩码单元的压缩语义表示),并可拉远任一掩码单元的编码语义表示与任一掩码单元以外的各个语义单元的压缩语义表示。
另一种实施方式中,针对M路数据中的第m路数据,电子设备可基于各个训练数据中第m路数据下的编码数据源和各个训练数据中第m各路数据下的压缩数据源,计算第m路数据下的模型损失值;具体的,针对训练数据集中的任一训练数据中第m路数据下的任一编码语义表示,可基于任一训练数据中第m路数据下的任一编码语义表示和任一训练数据中第m路数据下的压缩数据源,计算任一编码语义表示对应的语义单位下的模型损失值,以得到任一训练数据中第m路数据下的每个语义单元的模型损失值,并对任一训练数据中第m路数据下的每个语义单元的模型损失值进行加权求和,得到任一训练数据中第m路数据下的模型损失值。基于此,可基于各个训练数据中第m路数据下的模型损失值,计算第m路数据下的模型损失值。
其中,基于任一训练数据中第m路数据下的任一编码语义表示和任一训练数据中第m路数据下的压缩数据源,计算任一编码语义表示对应的语义单位下的模型损失值的具体方式,与计算任一掩码单元下的模型损失值的具体方式相同,本发明实施例对此不再赘述。
进一步的,在分别按照各路数据下的模型损失值,优化相应路数据对应的初始语言模型中的模型参数,得到各路数据对应的中间语言模型时,针对M路数据中的第m路数据,电子设备可按照第m路数据下的模型损失值,优化第m路数据对应的初始语言模型中的模型参数,得到第m路数据对应的中间语言模型。
本发明实施例可在获取到训练数据集后,分别对训练数据集包括的各个训练数据中各路数据下的初始数据源进行压缩处理,得到各个训练数据中各路数据下的压缩数据源,一个训练数据包括一个对象在M路数据中各路数据下的初始数据源,且一路数据对应一个语言模型,M为正整数;一个压缩数据源中压缩语义表示的数量小于相应初始数据源中初始语义表示的数量。然后,可分别对各个训练数据中各路数据下的压缩数据源进行掩码,得到各个训练数据中各路数据下的掩码数据源,并分别调用各路数据对应的初始语言模型,对各个训练数据中相应路数据下的掩码数据源进行编码,得到各个训练数据中各路数据下的编码数据源。基于此,可基于各个训练数据中各路数据下的编码数据源和各个训练数据中各路数据下的压缩数据源,分别计算各路数据下的模型损失值,并分别按照各路数据下的模型损失值,优化相应路数据对应的初始语言模型中的模型参数,得到各路数据对应的中间语言模型,以基于各路数据对应的中间语言模型,确定各路数据对应的目标语言模型。可见,本发明实施例可便捷地进行模型预训练,以提高模型预训练效率,即可有效提升模型的训练和推理的速度。
基于上述描述,本发明实施例还提出一种更为具体的模型预训练方法。相应的,该模型预训练方法可以由上述所提及的电子设备(终端或服务器)执行;或者,该模型预训练方法可由终端和服务器共同执行。为了便于阐述,后续均以电子设备执行该模型预训练方法为例进行说明;请参见图3,该模型预训练方法可包括以下步骤S301-S308:
S301,获取训练数据集,一个训练数据包括一个对象在M路数据中各路数据下的初始数据源,且一路数据对应一个语言模型,M为正整数。
S302,分别对训练数据集包括的各个训练数据中各路数据下的初始数据源进行压缩处理,得到各个训练数据中各路数据下的压缩数据源,一个压缩数据源中压缩语义表示的数量小于相应初始数据源中初始语义表示的数量。
具体的,针对训练数据集中的任一训练数据,以及M路数据中的任一路数据,电子设备可确定文本压缩长度;并按照文本压缩长度,对任一训练数据中任一路数据下的初始数据源进行数据划分,得到N个待压缩语义表示组,一个待压缩语义表示组中语义表示的数量小于或等于文本压缩长度;其中,前N-1个待压缩语义表示组中的每个待压缩语义表示组中语义表示(此处即为初始语义表示)的数量可以等于文本压缩长度,N个待压缩语义表示组中的第N个待压缩语义表示组中语义表示的数量可以小于或等于文本压缩长度。进一步的,可分别对N个待压缩语义表示组中的各个待压缩语义表示组进行压缩处理,得到各个待压缩语义表示组的压缩语义表示,以得到任一训练数据中任一路数据下的压缩数据源。可选的,可将一个待压缩语义表示组作为一个句子,从而实现句子级别的压缩,进而实现下述句子级别的掩码。
可选的,文本压缩长度可以是按照经验设置的,也可以是按照实际需求设置的,本发明实施例对此不作限定。可选的,N的取值可以为任一训练数据中任一路数据对应文本中的句子数量,此时文本压缩长度的数量可以等于N,一个文本压缩长度为一个句子中分词的数量,即一个文本压缩长度可对应一个句子,等等;本发明实施例对此不作限定。
示例性的,如图2所示,假设文本压缩长度为3,且任一训练数据中任一路数据下的初始数据源对应的文本长度为12个token,一个token对应一个初始语义表示,在此种情况下,可将每3个token的初始语义表示作为一个待压缩语义表示组,从而将每3个token压缩为1个表示单元(即语义单元),也就是说,可将3个初始语义表示压缩为1个压缩语义表示;那么相应的,任一训练数据中任一路数据下的压缩语义表示的数量可以为4(即文本表示长度可以为4),其中,文本表示长度可以指的是用于表示一个文本的语义表示的数量。可见,当初始数据源为长文本数据源时,本发明实施例可将长文本数据源压缩为相应的短文本数据源(即压缩数据源)。
可选的,各个训练数据中各路数据下的压缩数据源是通过初始压缩模型对各个训练数据中各路数据下的初始数据源进行压缩处理得到的,也就是说,电子设备可调用初始压缩模型,对各个训练数据中各路数据下的初始数据源进行压缩处理。可选的,一个压缩模型可以为CNN(Convolutional Neural Network,卷积神经网络)语义压缩模型(也可称为语义压缩模块),也可以为mean pooling(取均值)模块等,本发明实施例对此不作限定。
在本发明实施例中,当压缩模型为CNN语义压缩模型时,电子设备还可基于各路数据下的模型损失值,优化初始压缩模型中的模型参数,得到中间压缩模型;并基于中间压缩模型,确定目标压缩模型;具体的,可继续对中间压缩模型中的模型参数进行优化,直至达到压缩收敛条件,如迭代次数(即优化次数)达到第一预设迭代次数,或压缩损失值小于第一预设损失阈值时,可确定达到压缩收敛条件,等等。可选的,第一预设迭代次数和第一预设损失阈值均可以是按照经验设置的,也可以是按照实际需求设置的,本发明实施例对此不作限定。
其中,压缩损失值可以是基于各路数据下的模型损失值确定的,也就是说,电子设备可基于各路数据下的模型损失值,确定压缩损失值;基于此,可按照减小压缩损失值的方向,优化初始压缩模型中的模型参数。
在一种实施方式中,在基于各路数据下的模型损失值,确定压缩损失值时,电子设备可对各路数据下的模型损失值进行加权求和,得到加权求和损失值,并按将加权求和损失值作为压缩损失值;可选的,各路数据下的模型损失值在加权求和过程中的权重值可以是按照经验设置的,也可以是按照实际需求设置的,本发明实施例对此不作限定。
另一种实施方式中,电子设备可从各路数据下的模型损失值中,选取出最大的模型损失值,并将选取出的模型损失值作为压缩损失值,等等。
S303,分别对各个训练数据中各路数据下的压缩数据源进行掩码,得到各个训练数据中各路数据下的掩码数据源,并分别调用各路数据对应的初始语言模型,对各个训练数据中相应路数据下的掩码数据源进行编码,得到各个训练数据中各路数据下的编码数据源。
具体的,针对训练数据集中的任一训练数据,以及M路数据中的任一路数据,电子设备可确定掩码概率,并按照掩码概率从任一训练数据中任一路数据下的压缩数据源中,确定出至少一个掩码单元,一个掩码单元对应一个压缩语义表示;基于此,可分别对各个确定出的掩码单元的压缩语义表示进行掩码,得到任一训练数据中任一路数据下的掩码数据源,任一训练数据中任一路数据下的掩码数据源包括各个确定出的掩码单元的掩码语义表示,相应的,任一训练数据中任一路数据下的掩码数据还可包括任一训练数据中任一路数据下除各个确定出的掩码单元以外的每个语义单元的压缩语义表示。
可选的,掩码概率可以是按照经验设置的,也可以是按照实际需求设置的,本发明实施例对此不作限定;示例性的掩码概率可以为15%,在此种情况下,可以将压缩后的语义单元以15%的概率mask掉,即可随机mask掉15%的语义单元的压缩语义表示,等等。
可见,本发明实施例可对压缩语义表示进行掩码,从而使得本发明实施例所提及的方法可以是一种句子级别掩码的模型预训练方法,即句子级别的掩码预训练方法,可提升单路数据的语义表示能力。基于此,可通过mask language model(MLM,掩码语言模型)的方式实现目标语言模型的预训练,即可针对压缩语义表示进行掩码语言模型的无监督预训练,从而提高预训练效率,进而提高目标语言模型的模型性能;可选的,语言模型可对应两个训练任务,一个训练任务可以是使用MLM的方式使得Transformer(一个利用注意力机制来提高模型训练速度的模型)的encoder(编码器)实现了融合双向特征(即预训练任务)的任务,另一个训练任务可以是微调任务。
可选的,一个语言模型可以包括一个编码器;可选的,在预训练过程中,一个语言模型还可包括一个掩码语言模型(一种输出层);那么相应的,在下游任务中,一个语言模型可包括一个编码器和NLP(自然语言处理)层(另一种输出层);其中,下游任务中语言模型包括的编码器可以为通过预训练过程得到的编码器。
S304,基于各个训练数据中各路数据下的编码数据源和各个训练数据中各路数据下的压缩数据源,分别计算各路数据下的模型损失值,并分别按照各路数据下的模型损失值,优化相应路数据对应的初始语言模型中的模型参数,得到各路数据对应的中间语言模型。
S305,基于训练数据集,迭代优化各路数据对应的中间语言模型中的模型参数,直至达到收敛条件,得到各路数据对应的待关联语言模型。
应当理解的是,在得到各路数据对应的中间语言模型后,可继续优化各路数据对应的中间语言模型中的模型参数,直至达到收敛条件。
可选的,可在迭代次数达到第二预设迭代次数时,确定达到收敛条件,此时得到各路数据对应的待关联语言模型的迭代次数可以相同,也可以不同,本发明实施例对此不作限定;也就是说,任意两路数据对应的第二预设迭代次数可以相同,也可以不同,本发明实施例对此不作限定。或者,也可在模型损失值达到第二预设损失阈值时,确定达到收敛条件,等等;需要说明的是,任意两路数据对应的第二预设损失阈值可以相同,也可以不同,本发明实施例对此不作限定。可见,一路数据可对应一个收敛条件,且任意两路数据对应的收敛条件可以相同,也可以不同,本发明实施例对此不作限定;应当理解的是,针对M路数据中的任一路数据,在达到任一路数据对应的收敛条件时,可得到任一路对应的待关联语言模型。可选的,各路数据对应的第二预设迭代次数和第二预设损失阈值均可以是按照经验设置的,也可以是按照实际需求设置的,本发明实施例对此不作限定。
应当理解的是,当达到任一路数据对应的收敛条件指的是:迭代次数达到任一路数据对应的第二预设迭代次数;各路数据对应的第二预设迭代次数相同时,各路数据对应的初始语言模型的训练次数可以相同,也就是说,可同时得到各路数据对应的待关联语言模型。
可选的,上述基于各路数据下的模型损失值,确定压缩损失值时,若任一路数据在上一次迭代时已达到收敛条件,即任一路数据在当前迭代下的模型损失值为空,则可基于各路数据下的模型损失值中不为空的模型损失值,确定压缩损失值;或者,可在任一路数据达到收敛条件时,确定达到压缩收敛条件,等等。
在本发明实施例中,在基于训练数据集,迭代优化各路数据对应的中间语言模型中的模型参数时,若压缩模型为CNN语义压缩模型,则压缩模型可在迭代过程中被更新,那么任一训练数据中任一路数据下的压缩数据源可随着压缩模型的更新而更新;在此种情况下,可迭代执行上述分别对训练数据集包括的各个训练数据中各路数据下的初始数据源进行压缩处理,得到各个训练数据中各路数据下的压缩数据源,从而实现对各路数据对应的中间语言模型的迭代训练。或者,若压缩模型为mean pooling模块,则压缩模型可在迭代过程中不被更新,那么任一训练数据中任一路数据下的压缩数据源可不变;在此种情况下,可迭代执行上述分别对各个训练数据中各路数据下的压缩数据源进行掩码,得到各个训练数据中各路数据下的掩码数据源,从而实现对各路数据对应的中间语言模型的迭代训练,等等。
S306,确定各个训练数据中各路数据下的当前压缩数据源,并基于各个训练数据中各路数据下的当前压缩数据源,确定相应训练数据中各路数据下的待编码数据源。
在一种实施方式中,电子设备可调用当前***时间下的压缩模型,分别对各个训练数据中各路数据下的初始数据源进行压缩处理,得到各个训练数据中各路数据下的当前压缩数据源。可选的,当前***时间下的压缩模型可以目标压缩模型(即达到压缩收敛条件时压缩模型),也可以是未达到压缩收敛条件时的压缩模型(此时可继续基于下述关联损失值进行压缩模型的模型训练,也就是说,可将下述关联损失值作为当前***时间下的压缩损失值,以进行模型训练),等等;本发明实施例对此不作限定。
另一种实施方式,电子设备可将各个训练数据中各路数据下的压缩数据源,作为相应训练数据中相应路数据下的当前压缩数据源,以确定各个训练数据中各路数据下的当前压缩数据源,等等。示例性的,当压缩模型为mean pooling模块时,各个训练数据中各路数据下的压缩数据源相同,那么可直接将各个训练数据中各路数据下的压缩数据源,作为各个训练数据中各路数据下的当前压缩数据源。
可选的,电子设备可将任一训练数据中任一路数据下的当前压缩数据源,作为任一训练数据中任一路数据下的待编码数据源;或者,可按照上述掩码概率,对任一训练数据中任一路数据下的当前压缩数据源进行掩码,得到任一训练数据中任一路数据下的当前掩码数据源,并将任一训练数据中任一路数据下的当前掩码数据源,作为任一训练数据中任一路数据下的待编码数据源,等等。
S307,调用各路数据对应的待关联语言模型,分别对各个训练数据中相应路数据下的待编码数据源进行编码,得到各个训练数据中各路数据下的当前编码数据源。
可选的,电子设备可调用各路数据对应的待关联语言模型中的编码器,分别对各个训练数据中相应路数据下的待编码数据源进行编码,如一个待编码数据源为相应的当前压缩数据源时;或者,也可调用各路数据对应的待关联语言模型中的编码器和掩码语言模型(即调用整个待关联语言模型),分别对各个训练数据中相应路数据下的待编码数据源进行编码,如一个待编码数据源为相应的当前掩码数据源时,等等;本发明实施例对此不作限定。
S308,基于各个训练数据中各路数据下的当前编码数据源,计算关联损失值,并按照减小关联损失值的方向,优化各路数据对应的待关联语言模型中的模型参数,得到各路数据对应的待关联中间语言模型,以基于各路数据对应的待关联中间语言模型,确定各路数据对应的目标语言模型。
具体的,在基于各个训练数据中各路数据下的当前编码数据源,计算关联损失值时,电子设备可基于各个训练数据中各路数据下的当前编码数据源,确定至少一个对比学习组,一个对比学习组包括各个训练数据中任意两路数据下的当前编码数据源;然后,可遍历至少一个对比学习组中的各个对比学习组,并将当前遍历的对比学习组作为当前对比学习组,以及将当前对比学习组对应的两路数据作为第一路数据和第二路数据。基于此,可基于各个训练数据中第一路数据下的当前编码数据源和各个训练数据中第二路数据下的当前编码数据源,计算当前对比学习组下的损失值;在遍历完至少一个对比学习组中的各个对比学习组后,得到各个对比学习组下的损失值,并基于各个对比学习组下的损失值,计算关联损失值。可选的,可对各个对比学习组下的损失值进行加权求和(如均值运算或求和运算等),得到关联损失值;可选的,各个对比学习组下的损失值的权重可以是按照经验设置的,也可以是按照实际需求设置的,本发明实施例对此不作限定。
在一种实施方式中,在基于各个训练数据中第一路数据下的当前编码数据源和各个训练数据中第二路数据下的当前编码数据源,计算当前对比学习组下的损失值时,针对任一训练数据中第一路数据下的任一当前编码语义表示,可基于任一训练数据中第一路数据下的任一当前编码语义表示和各个训练数据中第二路数据下的当前编码数据源,计算任一当前编码语义表示的损失值,从而得到各个训练数据中第一路数据下的每个当前编码语义表示的损失值;那么相应的,可对各个训练数据中第一路数据下的每个当前编码语义表示的损失值进行加权求和(如均值运算或求和运算等),得到当前对比学习组下的损失值。
可选的,电子设备可采用公式1.1,基于任一训练数据中第一路数据下的任一当前编码语义表示和各个训练数据中第二路数据下的当前编码数据源,计算任一当前编码语义表示的损失值。示例性的,W-1可以为训练数据集中除任一训练数据以外的每个训练数据中第二路数据下的当前编码语义表示的数量之和,Ex可为各个训练数据中第一路数据下的每个当前编码语义表示之间的期望或各个训练数据中第二路数据下的每个当前编码语义表示之间的期望等,f(x)可以为任一训练数据中第一路数据下的任一当前编码语义表示,f(x+)可以为任一训练数据中第二路数据下的每个当前编码语义表示(此时f(x+)的数量可以为多个,那么分子可以为多项乘积之和),f(xj)可以为训练数据集中除任一训练数据以外的每个训练数据中第二路数据下的第j个语义单元的当前编码语义表示。
另一种实施方式中,在基于各个训练数据中第一路数据下的当前编码数据源和各个训练数据中第二路数据下的当前编码数据源,计算当前对比学习组下的损失值时,可分别对各个训练数据中第一路数据下的当前编码数据源进行语义表示整合(即可对任一训练数据中第一路数据下的各个当前编码语义表示进行语义表示整合),得到各个训练数据中第一路数据下的语义表示整合结果,以及可分别对各个训练数据中第二路数据下的当前编码数据源进行语义表示整合,得到各个训练数据中第二路数据下的语义表示整合结果。基于此,针对训练数据集中的任一训练数据,可基于任一训练数据中第一路数据下的语义表示整合结果和各个训练数据中第二路数据下的语义表示整合结果,计算任一训练数据在当前对比学习组下的损失值,以得到各个训练数据在当前对比学习组下的损失值;相应的,可对各个训练数据在当前对比学习组下的损失值进行加权求和,得到当前对比学习组下的损失值,等等。可选的,上述语义表示整合可以指的是语义表示拼接,即可将同一当前编码数据源中的各个当前编码语义表示拼接在一起;或者,语义表示整合也可以指的均值运算,即可对同一当前编码数据源中的各个当前编码语义表示进行均值运算,等等;本发明实施例对此不作限定。
可选的,电子设备可采用公式1.1,基于任一训练数据中第一路数据下的语义表示整合结果和各个训练数据中第二路数据下的语义表示整合结果,计算任一训练数据在当前对比学习组下的损失值。示例性的,W可以为训练数据集中训练数据的数量,Ex可以各个训练数据中第一路数据下的语义表示整合结果之间的期望或各个训练数据中第二路数据下的语言表示整合结果之间的期望等,f(x)可以为任一训练数据中第一路数据下的语义表示整合结果,f(x+)可以为任一训练数据中第二路数据下的语义表示整合结果,f(xj)可以为训练数据集中除任一训练数据以外的第j个训练数据中第二路数据下的语义表示整合结果。
进一步的,在基于各路数据对应的待关联中间语言模型,确定各路数据对应的目标语言模型时,电子设备可继续对各路数据对应的待关联中间语言模型进行模型训练(即模型预训练),直至达到关联收敛条件(如迭代次数达到第三预设迭代次数或关联损失值小于第三预设损失阈值等),得到各路数据对应的目标语言模型。可选的,第三预设迭代次数和第三预设损失阈值均可以是按照经验设置的,也可以是按照实际需求设置的,本发明实施例对此不作限定。
可见,本发明实施例可对各路数据的编码语义表示进行对比学习,可有效拉近语义空间的表示,如图4所示;基于此,本发明实施例可在单路数据的语义表示建模后(即得到各路数据对应的待关联语言模型后),使得后续合并多路数据源之间的语义表示更加合理。
可选的,各路数据对应的目标语言模型中的编码器可用于下游任务中,以基于各路数据对应的目标语言模型中的编码器,确定各路数据对应的任务语言模型,一路数据对应的任务语言模型可包括相应路数据对应的目标语言模型中的编码器。可选的,电子设备还可对各路数据对应的任务语言模型进行微调,从而得到各路数据对应的目标任务语言模型;其中,各路数据对应的目标任务语言模型可应用于目标任务,目标任务可以为任一下游任务,本发明实施例对此不作限定。
可选的,电子设备可通过各路数据对应的目标语言模型或目标任务语言模型,确定目标数据中各路数据下的编码数据源后,电子设备还对目标数据中各路数据下的编码数据源进行数据融合(如对各路数据下的编码数据源进行采样或取平均等),从而得到目标数据的融合数据源(包括至少一个融合语义表示),等等;需要说明的是,本发明实施例对数据融合的具体实施方式不作限定。可选的,目标数据可以包括目标对象在各路数据下的初始数据源,目标对象可以为任一对象,本发明实施例对此不作限定。
本发明实施例可在获取到训练数据集后,分别对训练数据集包括的各个训练数据中各路数据下的初始数据源进行压缩处理,得到各个训练数据中各路数据下的压缩数据源,一个训练数据包括一个对象在M路数据中各路数据下的初始数据源,且一路数据对应一个语言模型,M为正整数;一个压缩数据源中压缩语义表示的数量小于相应初始数据源中初始语义表示的数量。然后,可分别对各个训练数据中各路数据下的压缩数据源进行掩码,得到各个训练数据中各路数据下的掩码数据源,并分别调用各路数据对应的初始语言模型,对各个训练数据中相应路数据下的掩码数据源进行编码,得到各个训练数据中各路数据下的编码数据源。基于此,可基于各个训练数据中各路数据下的编码数据源和各个训练数据中各路数据下的压缩数据源,分别计算各路数据下的模型损失值,并分别按照各路数据下的模型损失值,优化相应路数据对应的初始语言模型中的模型参数,得到各路数据对应的中间语言模型。进一步的,可基于训练数据集,迭代优化各路数据对应的中间语言模型中的模型参数,直至达到收敛条件,得到各路数据对应的待关联语言模型;从而确定各个训练数据中各路数据下的当前压缩数据源,并基于各个训练数据中各路数据下的当前压缩数据源,确定相应训练数据中各路数据下的待编码数据源。那么相应的,可调用各路数据对应的待关联语言模型,分别对各个训练数据中相应路数据下的待编码数据源进行编码,得到各个训练数据中各路数据下的当前编码数据源;以及基于各个训练数据中各路数据下的当前编码数据源,计算关联损失值,并按照减小关联损失值的方向,优化各路数据对应的待关联语言模型中的模型参数,得到各路数据对应的待关联中间语言模型,以基于各路数据对应的待关联中间语言模型,确定各路数据对应的目标语言模型。可见,本发明实施例可实现压缩后的文本内部的无监督预训练,即可针对压缩语义表示进行掩码语言模型的无监督预训练,以通过压缩处理解决长文本和/或多路数据造成的训练和推理速度较慢的问题,从而便捷地进行模型预训练,以提高模型预训练效率,即可有效提升模型的训练和推理的速度,并可提升单路数据的语义表示能力;另外,当M的取值大于1时,本发明实施例所提及的方法可以是一种联合了多路数据源的预训练方法,可对齐不同数据的语义空间表示,即可拉近各路数据下的编码语义表示等,以使同一对象的不同数据源存在较强的关联,即可呈互补的关系,从而能够得到更好的最终语义表示(即融合语义表示),即可提高语义表示的准确性,基于此,可通过对比学习技术,让多路数据的语义表示进行对齐,可有效提升下游任务的泛化能力。
基于上述模型预训练方法的相关实施例的描述,本发明实施例还提出了一种模型预训练装置,该模型预训练装置可以是运行于电子设备中的一个计算机程序(包括程序代码);如图5所示,该模型预训练装置可包括获取单元501和处理单元502。该模型预训练装置可以执行图1或图3所示的模型预训练方法,即该模型预训练装置可以运行上述单元:
获取单元501,用于获取训练数据集,一个训练数据包括一个对象在M路数据中各路数据下的初始数据源,且一路数据对应一个语言模型,M为正整数;
处理单元502,用于分别对所述训练数据集包括的各个训练数据中所述各路数据下的初始数据源进行压缩处理,得到所述各个训练数据中所述各路数据下的压缩数据源,一个压缩数据源中压缩语义表示的数量小于相应初始数据源中初始语义表示的数量;
所述处理单元502,还用于分别对所述各个训练数据中所述各路数据下的压缩数据源进行掩码,得到所述各个训练数据中所述各路数据下的掩码数据源,并分别调用所述各路数据对应的初始语言模型,对所述各个训练数据中相应路数据下的掩码数据源进行编码,得到所述各个训练数据中所述各路数据下的编码数据源;
所述处理单元502,还用于基于所述各个训练数据中所述各路数据下的编码数据源和所述各个训练数据中所述各路数据下的压缩数据源,分别计算所述各路数据下的模型损失值,并分别按照所述各路数据下的模型损失值,优化相应路数据对应的初始语言模型中的模型参数,得到所述各路数据对应的中间语言模型,以基于所述各路数据对应的中间语言模型,确定所述各路数据对应的目标语言模型。
在一种实施方式中,处理单元502在分别对所述训练数据集包括的各个训练数据中所述各路数据下的初始数据源进行压缩处理,得到所述各个训练数据中所述各路数据下的压缩数据源时,可具体用于:
针对所述训练数据集中的任一训练数据,以及所述M路数据中的任一路数据,确定文本压缩长度;
按照所述文本压缩长度,对所述任一训练数据中所述任一路数据下的初始数据源进行数据划分,得到N个待压缩语义表示组,一个待压缩语义表示组中语义表示的数量小于或等于所述文本压缩长度;
分别对所述N个待压缩语义表示组中的各个待压缩语义表示组进行压缩处理,得到所述各个待压缩语义表示组的压缩语义表示,以得到所述任一训练数据中所述任一路数据下的压缩数据源。
另一种实施方式中,处理单元502在分别对所述各个训练数据中所述各路数据下的压缩数据源进行掩码,得到所述各个训练数据中所述各路数据下的掩码数据源时,可具体用于:
确定掩码概率,并按照所述掩码概率从所述任一训练数据中所述任一路数据下的压缩数据源中,确定出至少一个掩码单元,一个掩码单元对应一个压缩语义表示;
分别对各个确定出的掩码单元的压缩语义表示进行掩码,得到所述任一训练数据中所述任一路数据下的掩码数据源,所述任一训练数据中所述任一路数据下的掩码数据源包括所述各个确定出的掩码单元的掩码语义表示。
另一种实施方式中,一个编码数据源包括H个掩码单元中各个掩码单元的编码语义表示,H为正整数;处理单元502在基于所述各个训练数据中所述各路数据下的编码数据源和所述各个训练数据中所述各路数据下的压缩数据源,分别计算所述各路数据下的模型损失值时,可具体用于:
针对所述M路数据中的第m路数据,分别从所述各个训练数据中所述第m路数据下的编码数据源中,确定出相应训练数据中所述第m路数据下的每个掩码单元的编码语义表示,m∈[1,M];
基于所述各个训练数据中所述第m路数据下的每个掩码单元的编码语义表示,以及相应训练数据中所述第m路数据下的压缩数据源,计算所述第m路数据下的模型损失值;
处理单元502在分别按照所述各路数据下的模型损失值,优化相应路数据对应的初始语言模型中的模型参数,得到所述各路数据对应的中间语言模型时,可具体用于:
按照所述第m路数据下的模型损失值,优化所述第m路数据对应的初始语言模型中的模型参数,得到所述第m路数据对应的中间语言模型。
另一种实施方式中,处理单元502在基于所述各路数据对应的中间语言模型,确定所述各路数据对应的目标语言模型时,可具体用于:
基于所述训练数据集,迭代优化所述各路数据对应的中间语言模型中的模型参数,直至达到收敛条件,得到所述各路数据对应的待关联语言模型;
确定所述各个训练数据中所述各路数据下的当前压缩数据源,并基于所述各个训练数据中所述各路数据下的当前压缩数据源,确定相应训练数据中所述各路数据下的待编码数据源;
调用所述各路数据对应的待关联语言模型,分别对所述各个训练数据中相应路数据下的待编码数据源进行编码,得到所述各个训练数据中所述各路数据下的当前编码数据源;
基于所述各个训练数据中所述各路数据下的当前编码数据源,计算关联损失值,并按照减小所述关联损失值的方向,优化所述各路数据对应的待关联语言模型中的模型参数,得到所述各路数据对应的待关联中间语言模型,以基于所述各路数据对应的待关联中间语言模型,确定所述各路数据对应的目标语言模型。
另一种实施方式中,处理单元502在基于所述各个训练数据中所述各路数据下的当前编码数据源,计算关联损失值时,可具体用于:
基于所述各个训练数据中所述各路数据下的当前编码数据源,确定至少一个对比学习组,一个对比学习组包括所述各个训练数据中任意两路数据下的当前编码数据源;
遍历所述至少一个对比学习组中的各个对比学习组,并将当前遍历的对比学习组作为当前对比学习组,以及将所述当前对比学习组对应的两路数据作为第一路数据和第二路数据;
基于所述各个训练数据中所述第一路数据下的当前编码数据源和所述各个训练数据中所述第二路数据下的当前编码数据源,计算所述当前对比学习组下的损失值;
在遍历完所述至少一个对比学习组中的各个对比学习组后,得到所述各个对比学习组下的损失值,并基于所述各个对比学习组下的损失值,计算所述关联损失值。
另一种实施方式中,所述各个训练数据中所述各路数据下的压缩数据源是通过初始压缩模型对所述各个训练数据中所述各路数据下的初始数据源进行压缩处理得到的,处理单元502还可用于:
基于所述各路数据下的模型损失值,优化所述初始压缩模型中的模型参数,得到中间压缩模型;
基于所述中间压缩模型,确定目标压缩模型。
根据本发明的一个实施例,图1或图3所示的方法所涉及的各个步骤均可由图5所示的模型预训练装置中的各个单元来执行的。例如,图1中所示的步骤S101可由图5中所示的获取单元501执行,步骤S102-S104均可由图5中所示的处理单元502执行。又如,图3中所示的步骤S301可由图5中所示的获取单元501执行,步骤S302-S308均可由图5中所示的处理单元502执行,等等。
根据本发明的另一个实施例,图5所示的模型预训练装置中的各个单元均可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本发明的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本发明的其它实施例中,任一模型预训练装置也可以包括其他单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本发明的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用电子设备上运行能够执行如图1或图3中所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图5中所示的模型预训练装置,以及来实现本发明实施例的模型预训练方法。所述计算机程序可以记载于例如计算机存储介质上,并通过计算机存储介质装载于上述电子设备中,并在其中运行。
本发明实施例可在获取到训练数据集后,分别对训练数据集包括的各个训练数据中各路数据下的初始数据源进行压缩处理,得到各个训练数据中各路数据下的压缩数据源,一个训练数据包括一个对象在M路数据中各路数据下的初始数据源,且一路数据对应一个语言模型,M为正整数;一个压缩数据源中压缩语义表示的数量小于相应初始数据源中初始语义表示的数量。然后,可分别对各个训练数据中各路数据下的压缩数据源进行掩码,得到各个训练数据中各路数据下的掩码数据源,并分别调用各路数据对应的初始语言模型,对各个训练数据中相应路数据下的掩码数据源进行编码,得到各个训练数据中各路数据下的编码数据源。基于此,可基于各个训练数据中各路数据下的编码数据源和各个训练数据中各路数据下的压缩数据源,分别计算各路数据下的模型损失值,并分别按照各路数据下的模型损失值,优化相应路数据对应的初始语言模型中的模型参数,得到各路数据对应的中间语言模型,以基于各路数据对应的中间语言模型,确定各路数据对应的目标语言模型。可见,本发明实施例可便捷地进行模型预训练,以提高模型预训练效率,即可有效提升模型的训练和推理的速度。
基于上述方法实施例以及装置实施例的描述,本发明示例性实施例还提供一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器。所述存储器存储有能够被所述至少一个处理器执行的计算机程序,所述计算机程序在被所述至少一个处理器执行时用于使所述电子设备执行根据本发明实施例的方法。
本发明示例性实施例还提供一种存储有计算机程序的非瞬时计算机可读存储介质,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本发明实施例的方法。
本发明示例性实施例还提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本发明实施例的方法。
参考图6,现将描述可以作为本发明的服务器或客户端的电子设备600的结构框图,其是可以应用于本发明的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图6所示,电子设备600包括计算单元601,其可以根据存储在只读存储器(ROM)602中的计算机程序或者从存储单元608加载到随机访问存储器(RAM)603中的计算机程序,来执行各种适当的动作和处理。在RAM 603中,还可存储电子设备600操作所需的各种程序和数据。计算单元601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
电子设备600中的多个部件连接至I/O接口605,包括:输入单元606、输出单元607、存储单元608以及通信单元609。输入单元606可以是能向电子设备600输入信息的任何类型的设备,输入单元606可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入。输出单元607可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元608可以包括但不限于磁盘、光盘。通信单元609允许电子设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙TM设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。
计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理。例如,在一些实施例中,模型预训练方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM602和/或通信单元609而被载入和/或安装到电子设备600上。在一些实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行模型预训练方法。
用于实施本发明的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
如本发明使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
并且,应理解的是,以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (10)

1.一种模型预训练方法,其特征在于,包括:
获取训练数据集,一个训练数据包括一个对象在M路数据中各路数据下的初始数据源,且一路数据对应一个语言模型,M为正整数;
分别对所述训练数据集包括的各个训练数据中所述各路数据下的初始数据源进行压缩处理,得到所述各个训练数据中所述各路数据下的压缩数据源,一个压缩数据源中压缩语义表示的数量小于相应初始数据源中初始语义表示的数量;
分别对所述各个训练数据中所述各路数据下的压缩数据源进行掩码,得到所述各个训练数据中所述各路数据下的掩码数据源,并分别调用所述各路数据对应的初始语言模型,对所述各个训练数据中相应路数据下的掩码数据源进行编码,得到所述各个训练数据中所述各路数据下的编码数据源;
基于所述各个训练数据中所述各路数据下的编码数据源和所述各个训练数据中所述各路数据下的压缩数据源,分别计算所述各路数据下的模型损失值,并分别按照所述各路数据下的模型损失值,优化相应路数据对应的初始语言模型中的模型参数,得到所述各路数据对应的中间语言模型,以基于所述各路数据对应的中间语言模型,确定所述各路数据对应的目标语言模型。
2.根据权利要求1所述的方法,其特征在于,所述分别对所述训练数据集包括的各个训练数据中所述各路数据下的初始数据源进行压缩处理,得到所述各个训练数据中所述各路数据下的压缩数据源,包括:
针对所述训练数据集中的任一训练数据,以及所述M路数据中的任一路数据,确定文本压缩长度;
按照所述文本压缩长度,对所述任一训练数据中所述任一路数据下的初始数据源进行数据划分,得到N个待压缩语义表示组,一个待压缩语义表示组中语义表示的数量小于或等于所述文本压缩长度;
分别对所述N个待压缩语义表示组中的各个待压缩语义表示组进行压缩处理,得到所述各个待压缩语义表示组的压缩语义表示,以得到所述任一训练数据中所述任一路数据下的压缩数据源。
3.根据权利要求2所述的方法,其特征在于,所述分别对所述各个训练数据中所述各路数据下的压缩数据源进行掩码,得到所述各个训练数据中所述各路数据下的掩码数据源,包括:
确定掩码概率,并按照所述掩码概率从所述任一训练数据中所述任一路数据下的压缩数据源中,确定出至少一个掩码单元,一个掩码单元对应一个压缩语义表示;
分别对各个确定出的掩码单元的压缩语义表示进行掩码,得到所述任一训练数据中所述任一路数据下的掩码数据源,所述任一训练数据中所述任一路数据下的掩码数据源包括所述各个确定出的掩码单元的掩码语义表示。
4.根据权利要求1-3任一项所述的方法,其特征在于,一个编码数据源包括H个掩码单元中各个掩码单元的编码语义表示,H为正整数;所述基于所述各个训练数据中所述各路数据下的编码数据源和所述各个训练数据中所述各路数据下的压缩数据源,分别计算所述各路数据下的模型损失值,包括:
针对所述M路数据中的第m路数据,分别从所述各个训练数据中所述第m路数据下的编码数据源中,确定出相应训练数据中所述第m路数据下的每个掩码单元的编码语义表示,m∈[1,M];
基于所述各个训练数据中所述第m路数据下的每个掩码单元的编码语义表示,以及相应训练数据中所述第m路数据下的压缩数据源,计算所述第m路数据下的模型损失值;
所述分别按照所述各路数据下的模型损失值,优化相应路数据对应的初始语言模型中的模型参数,得到所述各路数据对应的中间语言模型,包括:
按照所述第m路数据下的模型损失值,优化所述第m路数据对应的初始语言模型中的模型参数,得到所述第m路数据对应的中间语言模型。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述基于所述各路数据对应的中间语言模型,确定所述各路数据对应的目标语言模型,包括:
基于所述训练数据集,迭代优化所述各路数据对应的中间语言模型中的模型参数,直至达到收敛条件,得到所述各路数据对应的待关联语言模型;
确定所述各个训练数据中所述各路数据下的当前压缩数据源,并基于所述各个训练数据中所述各路数据下的当前压缩数据源,确定相应训练数据中所述各路数据下的待编码数据源;
调用所述各路数据对应的待关联语言模型,分别对所述各个训练数据中相应路数据下的待编码数据源进行编码,得到所述各个训练数据中所述各路数据下的当前编码数据源;
基于所述各个训练数据中所述各路数据下的当前编码数据源,计算关联损失值,并按照减小所述关联损失值的方向,优化所述各路数据对应的待关联语言模型中的模型参数,得到所述各路数据对应的待关联中间语言模型,以基于所述各路数据对应的待关联中间语言模型,确定所述各路数据对应的目标语言模型。
6.根据权利要求5所述的方法,其特征在于,所述基于所述各个训练数据中所述各路数据下的当前编码数据源,计算关联损失值,包括:
基于所述各个训练数据中所述各路数据下的当前编码数据源,确定至少一个对比学习组,一个对比学习组包括所述各个训练数据中任意两路数据下的当前编码数据源;
遍历所述至少一个对比学习组中的各个对比学习组,并将当前遍历的对比学习组作为当前对比学习组,以及将所述当前对比学习组对应的两路数据作为第一路数据和第二路数据;
基于所述各个训练数据中所述第一路数据下的当前编码数据源和所述各个训练数据中所述第二路数据下的当前编码数据源,计算所述当前对比学习组下的损失值;
在遍历完所述至少一个对比学习组中的各个对比学习组后,得到所述各个对比学习组下的损失值,并基于所述各个对比学习组下的损失值,计算所述关联损失值。
7.根据权利要求1-3任一项所述的方法,其特征在于,所述各个训练数据中所述各路数据下的压缩数据源是通过初始压缩模型对所述各个训练数据中所述各路数据下的初始数据源进行压缩处理得到的,所述方法还包括:
基于所述各路数据下的模型损失值,优化所述初始压缩模型中的模型参数,得到中间压缩模型;
基于所述中间压缩模型,确定目标压缩模型。
8.一种模型预训练装置,其特征在于,所述装置包括:
获取单元,用于获取训练数据集,一个训练数据包括一个对象在M路数据中各路数据下的初始数据源,且一路数据对应一个语言模型,M为正整数;
处理单元,用于分别对所述训练数据集包括的各个训练数据中所述各路数据下的初始数据源进行压缩处理,得到所述各个训练数据中所述各路数据下的压缩数据源,一个压缩数据源中压缩语义表示的数量小于相应初始数据源中初始语义表示的数量;
所述处理单元,还用于分别对所述各个训练数据中所述各路数据下的压缩数据源进行掩码,得到所述各个训练数据中所述各路数据下的掩码数据源,并分别调用所述各路数据对应的初始语言模型,对所述各个训练数据中相应路数据下的掩码数据源进行编码,得到所述各个训练数据中所述各路数据下的编码数据源;
所述处理单元,还用于基于所述各个训练数据中所述各路数据下的编码数据源和所述各个训练数据中所述各路数据下的压缩数据源,分别计算所述各路数据下的模型损失值,并分别按照所述各路数据下的模型损失值,优化相应路数据对应的初始语言模型中的模型参数,得到所述各路数据对应的中间语言模型,以基于所述各路数据对应的中间语言模型,确定所述各路数据对应的目标语言模型。
9.一种电子设备,其特征在于,包括:
处理器;以及
存储程序的存储器,
其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行根据权利要求1-7中任一项所述的方法。
10.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行根据权利要求1-7中任一项所述的方法。
CN202410131223.5A 2024-01-30 2024-01-30 模型预训练方法、装置、存储介质及电子设备 Pending CN118132672A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410131223.5A CN118132672A (zh) 2024-01-30 2024-01-30 模型预训练方法、装置、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410131223.5A CN118132672A (zh) 2024-01-30 2024-01-30 模型预训练方法、装置、存储介质及电子设备

Publications (1)

Publication Number Publication Date
CN118132672A true CN118132672A (zh) 2024-06-04

Family

ID=91232633

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410131223.5A Pending CN118132672A (zh) 2024-01-30 2024-01-30 模型预训练方法、装置、存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN118132672A (zh)

Similar Documents

Publication Publication Date Title
AU2019288674B2 (en) Neural network acceleration and embedding compression systems and methods with activation sparsification
CN113239705A (zh) 语义表示模型的预训练方法、装置、电子设备和存储介质
KR20220115046A (ko) 시맨틱 검색 방법, 장치, 기기 및 저장매체
WO2019154411A1 (zh) 词向量更新方法和装置
US20230084055A1 (en) Method for generating federated learning model
CN115309877B (zh) 对话生成方法、对话模型训练方法及装置
JP2022534375A (ja) テキスト知能化洗浄方法、装置及びコンピュータ読み取り可能な記憶媒体
US20230115984A1 (en) Method and apparatus for training model, method and apparatus for generating molecules
US20240202499A1 (en) Element text processing method and apparatus, electronic device, and storage medium
CN111737406A (zh) 文本检索方法、装置及设备、文本检索模型的训练方法
CN111667069A (zh) 预训练模型压缩方法、装置和电子设备
CN113468857B (zh) 风格转换模型的训练方法、装置、电子设备以及存储介质
CN111008213A (zh) 用于生成语言转换模型的方法和装置
US20230206007A1 (en) Method for mining conversation content and method for generating conversation content evaluation model
CN113987154A (zh) 基于UniLM与对比学习的相似句生成模型训练方法及相关设备
CN118132672A (zh) 模型预训练方法、装置、存储介质及电子设备
CN114399998B (zh) 语音处理方法、装置、设备、存储介质及程序产品
CN113033205B (zh) 实体链接的方法、装置、设备以及存储介质
Dai et al. Distributed encoding and updating for SAZD coded distributed training
CN113553857A (zh) 文本处理方法和文本处理装置
CN113553413A (zh) 对话状态的生成方法、装置、电子设备和存储介质
CN112784967A (zh) 信息处理方法、装置以及电子设备
EP4033734A2 (en) Method and apparatus for measuring the communication frequency between user accounts
CN118018029A (zh) 文本压缩方法、装置、存储介质及电子设备
CN117174083A (zh) 模型训练方法、装置、存储介质及电子设备

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