CN114841172A - 文本匹配双塔模型的知识蒸馏方法、装置及程序产品 - Google Patents
文本匹配双塔模型的知识蒸馏方法、装置及程序产品 Download PDFInfo
- Publication number
- CN114841172A CN114841172A CN202210592050.8A CN202210592050A CN114841172A CN 114841172 A CN114841172 A CN 114841172A CN 202210592050 A CN202210592050 A CN 202210592050A CN 114841172 A CN114841172 A CN 114841172A
- Authority
- CN
- China
- Prior art keywords
- text
- tower
- output
- matching
- training
- 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
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Abstract
本公开提供了一种文本匹配双塔模型的知识蒸馏方法、装置、电子设备、存储介质及计算机程序产品,涉及人工智能技术领域,具体涉及深度学习技术,可用于搜索、推荐场景下。具体实现方案为:在根据训练样本集训练双塔模型的过程中,确定双塔模型中的第一塔形网络的第一输出和第二塔形网络的第二输出之间关于语义编码信息的第一匹配度,以及关于文本单元编码信息的第二匹配度;确定训练样本集中的预设数量的训练样本对应的第一匹配度的第一分布信息,以及对应的第二匹配度的第二分布信息;根据第一分布信息和第二分布信息,对双塔模型进行知识蒸馏。本公开提高了双塔模型的准确度,降低了知识蒸馏过程的信息处理成本。
Description
技术领域
本公开涉及人工智能领域,具体涉及深度学习技术,尤其涉及文本匹配双塔模型的知识蒸馏方法、装置以及文本匹配方法、装置、电子设备、存储介质以及计算机程序产品,可用于搜索、推荐场景下。
背景技术
知识蒸馏是通过构建一个轻量化的学生模型,利用性能更好的教师模型的监督信息,来训练学生模型,以使得学生模型达到更好的性能和精度。但是在数据量庞大的搜索领域,先训练一个教师模型再进行知识蒸馏得到学生模型的成本较高。
发明内容
本公开提供了一种文本匹配双塔模型的知识蒸馏方法、装置以及文本匹配方法、装置、电子设备、存储介质以及计算机程序产品。
根据第一方面,提供了一种文本匹配双塔模型的知识蒸馏方法,包括:在根据训练样本集训练双塔模型的过程中,对于输入的训练样本中的样本文本对,确定双塔模型中的第一塔形网络的第一输出和第二塔形网络的第二输出之间关于语义编码信息的第一匹配度,以及关于文本单元编码信息的第二匹配度;确定训练样本集中的预设数量的训练样本对应的第一匹配度的第一分布信息,以及对应的第二匹配度的第二分布信息;根据第一分布信息和第二分布信息,对双塔模型进行知识蒸馏。
根据第二方面,提供了一种文本匹配方法,包括:获取待匹配文本;通过训练后的双塔模型确定与待匹配文本匹配的目标文本,其中,训练后的双塔模型通过第一方面任一实现方式进行训练、知识蒸馏得到。
根据第三方面,提供了一种文本匹配双塔模型的知识蒸馏装置,包括:第一确定单元,被配置成在根据训练样本集训练双塔模型的过程中,对于输入的训练样本中的样本文本对,确定双塔模型中的第一塔形网络的第一输出和第二塔形网络的第二输出之间关于语义编码信息的第一匹配度,以及关于文本单元编码信息的第二匹配度;第二确定单元,被配置成确定训练样本集中的预设数量的训练样本对应的第一匹配度的第一分布信息,以及对应的第二匹配度的第二分布信息;知识蒸馏单元,被配置成根据第一分布信息和第二分布信息,对双塔模型进行知识蒸馏。
根据第四方面,提供了一种文本匹配装置,包括:获取单元,被配置成获取待匹配文本;第三确定单元,被配置成通过训练后的双塔模型确定与待匹配文本匹配的目标文本,其中,训练后的双塔模型通过第三方面任一实现方式进行训练、知识蒸馏得到。
根据第五方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如第一方面、第二方面任一实现方式描述的方法。
根据第六方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行如第一方面、第二方面任一实现方式描述的方法。
根据第七方面,提供了一种计算机程序产品,包括:计算机程序,计算机程序在被处理器执行时实现如第一方面、第二方面任一实现方式描述的方法。
根据本公开的技术,提供了一种文本匹配双塔模型的知识蒸馏方法,在双塔模型的训练过中采用自蒸馏的方式,利用两个塔形网络输出的文本单元编码信息之间精细的交互匹配信息,来提升两个塔形网络输出的语义编码信息之间的交互匹配信息,提高了双塔模型的准确度,降低了知识蒸馏过程的信息处理成本。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开的一个实施例可以应用于其中的示例性系统架构图;
图2是根据本公开的文本匹配双塔模型的知识蒸馏方法的一个实施例的流程图;
图3是根据本实施例的文本匹配双塔模型的知识蒸馏方法的应用场景的示意图;
图4是根据本公开的文本匹配双塔模型的知识蒸馏方法的又一个实施例的流程图;
图5是根据本公开的双塔模型的一个实施例的结构示意图;
图6是根据本公开的文本匹配方法的一个实施例的流程图;
图7是根据本公开的文本匹配双塔模型的知识蒸馏装置的一个实施例的结构图;
图8是根据本公开的文本匹配装置的一个实施例的结构图;
图9是适于用来实现本公开实施例的计算机系统的结构示意图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
图1示出了可以应用于本公开的文本匹配双塔模型的知识蒸馏方法及装置、文本匹配方法及装置的示例性架构100。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。终端设备101、102、103之间通信连接构成拓扑网络,网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
终端设备101、102、103可以是支持网络连接从而进行数据交互和数据处理的硬件设备或软件。当终端设备101、102、103为硬件时,其可以是支持网络连接,信息获取、交互、显示、处理等功能的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成例如用来提供分布式服务的多个软件或软件模块,也可以实现成单个软件或软件模块。在此不做具体限定。
服务器105可以是提供各种服务的服务器,例如,对于终端设备101、102、103提供的训练样本集,对双塔模型进行训练,并在训练过程中对双塔模型进行知识蒸馏的后台处理服务器。又例如,对于终端设备101、102、103提供的待匹配文本,通过训练后的双塔模型确定与待匹配文本匹配的目标文本的后台处理服务器。作为示例,服务器105可以是云端服务器。
需要说明的是,服务器可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务的软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
还需要说明的是,本公开的实施例所提供的文本匹配双塔模型的知识蒸馏方法、文本匹配方法可以由服务器执行,也可以由终端设备执行,还可以由服务器和终端设备彼此配合执行。相应地,文本匹配双塔模型的知识蒸馏装置、文本匹配装置包括的各个部分(例如各个单元)可以全部设置于服务器中,也可以全部设置于终端设备中,还可以分别设置于服务器和终端设备中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。当文本匹配双塔模型的知识蒸馏方法、文本匹配方法运行于其上的电子设备不需要与其他电子设备进行数据传输时,该系统架构可以仅包括文本匹配双塔模型的知识蒸馏方法、文本匹配方法运行于其上的电子设备(例如服务器或终端设备)。
请参考图2,图2为本公开实施例提供的一种文本匹配双塔模型的知识蒸馏方法的流程图,其中,流程200包括以下步骤:
步骤201,在根据训练样本集训练双塔模型的过程中,对于输入的训练样本中的样本文本对,确定双塔模型中的第一塔形网络的第一输出和第二塔形网络的第二输出之间关于语义编码信息的第一匹配度,以及关于文本单元编码信息的第二匹配度。
本实施例中,文本匹配双塔模型的知识蒸馏方法的执行主体(例如,图1中的终端设备或服务器)可以基于有线网络连接方式或无线网络连接方式从远程,或从本地获取训练样本集以训练双塔模型,并在根据训练样本集训练双塔模型的过程中,确定双塔模型中的第一塔形网络的第一输出和第二塔形网络的第二输出之间关于语义编码信息的第一匹配度,以及关于文本单元编码信息的第二匹配度。
文本匹配双塔模型为用于文本匹配任务的双塔模型。双塔模型中包括第一塔形网络和第二塔形网络,第一塔形网络和第二塔形网络均可以对输入数据进行特征提取、特征处理、数据输出等操作。两个塔形网络的结构可以相同,也可以不同。
作为示例,在推荐领域,第一塔形网络为用户塔,第二塔形网络为项目塔。在用户塔中输入用户相关信息(例如,用户基本信息、群体统计属性以及用户涉及过的项目序列信息等),在项目塔中输入项目相关信息(例如,项目基本信息、属性信息等)。用户塔和项目塔分别对输入的用户相关信息、项目相关信息进行特征提取、特征处理,得到用户编码信息和项目编码信息。在训练过程中,确定用户编码信息和项目编码信息之间的匹配度,拉近用户和正例项目在编码空间中的距离,拉远用户和负例项目在编码空间中的距离。正例项目表征适于向用户推荐的项目,负例项目表征不适于向用户推荐的项目。
作为又一示例,在搜索领域,第一塔形网络对应于用户查询文本,第二塔形网络对应于候选文本,具体的,候选文本可以是预设候选文本集合中的候选文本。在第一塔形网络中输入用户查询文本(例如,用户查询文本中的每个文本单元的初始编码信息),在第二塔形网络中输入候选文本(例如,候选文本中的每个文本单元的初始编码信息)。第一塔形网络和第二塔形网络分别对输入的用户查询文本、候选文本进行特征提取、特征处理,得到最终的查询文本编码信息和候选文本编码信息。在训练过程中,确定查询文本编码信息和候选文本编码信息之间的匹配度,拉近查询文本和正例候选文本在编码空间中的距离,拉远查询文本和负例候选文本在编码空间中的距离。正例候选文本为与用户查询文本相匹配的文本,负例候选文本为与用户查询文本不匹配的文本。
双塔模型并不是一种具体的模型结构,而是一种抽象的模型框架。其中包括的第一塔形网络和第二塔形网络可以是任意的具有特征提取、处理能力的网络模型。作为示例,塔形网络可以是DNN(Deep Neural Networks,深度神经网络)、RNN(Recurrent NeuralNetwork,循环神经网络)、Transformer(变压器)模型、BERT(Bidirectional EncoderRepresentation from Transformers,来自变压器的双向编码器表示)等网络。
本实施例中,双塔模型中的第一塔形网络和第二塔形网络均能得到两种输出,一种是语义编码信息,用于表征所输入的文本(具体为查询文本和候选文本)的整体语义;另一种是文本单元编码信息,用于表征所输入的文本中的每个文本单元的编码特征。文本单元可以是输入文本中的单字或词语。作为示例,对于英文文本,文本单元可以是其中的每个单词;对于中文文本,文本单元可以是其中的单字、词语。
上述执行主体可以通过余弦相似度、欧几里得距离等方式,计算第一塔形网络输出的语义编码信息和第二塔形网络输出的语义编码信息之间的第一匹配度,第一塔形网络输出的文本单元编码信息和第二塔形网络输出的文本单元信息之间的第二匹配度。
以基于BERT实现的双塔模型(例如ColBERT模型)示例,语义编码信息可以是CLSToken。CLS Token是为了实现模型训练任务而插入的一个特殊token,可以表征输入文本的整体语义。
步骤202,确定训练样本集中的预设数量的训练样本对应的第一匹配度的第一分布信息,以及对应的第二匹配度的第二分布信息。
本实施例中,上述执行主体可以确定训练样本集中的预设数量的训练样本对应的第一匹配度的第一分布信息,以及对应的第二匹配度的第二分布信息。
预设数量可以根据实际情况具体设置。作为示例,预设数量可以与双塔模型训练过程中的batch size(批量大小)这一参数相同。双塔模型的每次训练过程会输入一组训练样本用来更新双塔模型的权值参数。1个batch包含的样本的数目,通常设为2的N次幂,一般为64、128、256。当双塔模型的网络规模较小时batch size可以选用256,网络规模较大时batch size可以选用64。
在双塔模型的训练过程中,对于所输入的预设数量个训练样本中的每个训练样本,双塔模型可以确定该训练样本对应的第一匹配度和第二匹配度,从而得到预设数量个第一匹配度、预设数量个第二匹配度。进而,上述执行主体可以确定预设数量个第一匹配度的分布信息,作为第一分布信息;确定预设数量个第二匹配度的分布信息,作为第二分布信息。
步骤203,根据第一分布信息和第二分布信息,对双塔模型进行知识蒸馏。
本实施例中,上述执行主体可以根据第一分布信息和第二分布信息,对双塔模型进行知识蒸馏。
相比于语义编码信息,文本单元编码信息可以表征文本更细粒度的信息;相比于第一塔形网络的第一输出和第二塔形网络的第二输出之间关于语义编码信息的第一匹配度,第一塔形网络的第一输出和第二塔形网络的第二输出之间关于文本单元编码信息的第二匹配度具有更高的准确度。
本实施例中,上述执行主体可以确定第一分布信息和第二分布信息之间的差异程度,并以第二分布信息为基准,减小第一分布信息与第二分布信息之间的差异程度,从而使得双塔模型中的语义编码信息学习到更细粒度的文本单元编码信息的匹配效果,实现双塔模型自蒸馏。
当预设数量与batch size相同时,每次的模型训练操作中,根据第一分布信息和第二分布信息之间的差异程度,更新双塔模型的参数,对双塔模型进行知识蒸馏。
继续参见图3,图3是根据本实施例的文本匹配双塔模型的知识蒸馏方法的应用场景的一个示意图300。在图3的应用场景中,服务器采用机器学习方法,通过训练样本集训练双塔模型301。双塔模型301包括第一塔形网络3011和第二塔形网络3012。在根据训练样本集训练双塔模型的过程中,对于输入的训练样本中的样本文本对,服务器首先确定双塔模型中的第一塔形网络的第一输出302和第二塔形网络的第二输出303之间关于语义编码信息的第一匹配度304,以及关于文本单元编码信息的第二匹配度305;进而,确定训练样本集中的预设数量的训练样本对应的第一匹配度304的第一分布信息306,以及对应的第二匹配度305的第二分布307;根据第一分布信息306和第二分布信息307,对双塔模型302进行知识蒸馏。
本实施例中,提供了一种文本匹配双塔模型的知识蒸馏方法,在双塔模型的训练过中采用自蒸馏的方式,利用两个塔形网络输出的文本单元编码信息之间精细的交互匹配信息,来提升两个塔形网络输出的语义编码信息之间的交互匹配信息,提高了双塔模型的准确度,降低了知识蒸馏过程的信息处理成本。
在本实施例的一些可选的实现方式中,上述执行主体可以通过如下方式执行上述步骤203:
首先,确定第一分布信息和第二分布信息之间的损失。
本实现方式中,上述执行主体可以通过如下公式确定第一分布信息和第二分布信息:
其中,s(q,p)表示双塔模型对于输入的查询文本、候选文本对q,p的匹配度,表示候选文本集合,表示针对于同一查询文本与候选文本集合之间的不同的候选文本之间的匹配度的分布信息。当匹配度为第一匹配度时,通过上述公式即可得到第一分布信息;当匹配度为第二匹配度时,通过上述公式即可得到第二分布信息。
本实现方式中,上述执行主体可以通过预设损失函数确定表征第一分布信息和第二分布信息之间差异程度的损失,以明确第一分布信息和第二分布信息之间的差异。
作为示例,可以确定第一分布信息和第二分布信息之间的KL散度,作为第一分布信息和第二分布信息之间的损失。
具体的,上述执行主体可以通过如下公式确定第一分布信息和第二分布信息之间的KL散度:
然后,根据损失,对双塔模型进行知识蒸馏。
作为示例,上述执行主体可以根据损失确定梯度信息,进而根据梯度信息进行双塔模型的参数更新,实现双塔模型的知识蒸馏。
本实现方式中,通过确定第一分布信息和第二分布信息之间的损失以进行双塔模型的知识蒸馏,基于准确的损失提高了知识蒸馏的准确度。
在本实施例的一些可选的实现方式中,第一匹配度和第二匹配度均通过匹配度数值表征。本实现方式中,上述执行主体可以通过如下方式执行上述步骤201:
第一,确定第一输出中的语义编码信息和第二输出中的语义编码信息之间的匹配度数值,得到第一匹配度。
作为示例,上述执行主体可以通过点积的方式确定第一输出中的语义编码信息和第二输出中的语义编码信息之间的匹配度数值。
第二,对于第一输出中的每个文本单元编码信息,根据第一输出中的该文本单元编码信息与第二输出中的每个文本单元编码信息之间的匹配度数值,确定第一输出中的该文本单元编码信息对应的最大匹配度数值。
一般情况下,第一塔形网络输入的查询文本和第二塔形网络输入的候选文本均包括多个文本单元。对于第一塔形网络输出的每个文本单元编码信息,确定该文本单元编码信息与第二塔形网络输出的每个文本单元编码信息之间的匹配度数值,确定第一塔形网络输出的该文本单元编码信息对应的最大匹配度数值。
第三,根据第一输出中的每个文本单元编码信息对应的最大匹配度数值,确定第二匹配度。
作为示例,对于第一输出中的每个文本单元编码信息对应的最大匹配度数值,上述执行主体可以进行求和操作,得到第二匹配度。
具体的,上述执行主体可以通过如下公式计算第二匹配度:
本实现方式中,提供了数值化的第一匹配数度和第二匹配度的确定方式,提高了第一匹配数度和第二匹配度的准确度。
在本实施例的一些可选的实现方式中,训练样本集中的训练样本包括样本文本对和表征样本文本对中的样本文本之间的匹配度的标签。样本文本对中的其中一个样本文本可以认为是查询文本,另一个样本文本可以认为是候选文本。
样本文本对中的两个样本文本在训练过程中分别作为两个塔形网络的输入。训练样本可以包括正样本和负样本。正样本中的样本文本对相匹配,负样本中的样本文本对不匹配。
本实现方式中,上述执行主体可以通过如下方式根据训练样本集训练双塔模型:利用机器学习算法,以样本文本对中的一个样本文本为第一塔形网络的输入,以样本文本对中的另一个样本文本为第二塔形网络的输入,将所输入的样本文本对对应的标签作为第一塔形网络的第一输出和第二塔形网络的第二输出之间关于匹配度的期望输出,训练双塔模型。
作为示例,对于输入的每个batch的训练样本,上述执行主体可以确定双塔模型的实际输出与对应的标签之间的损失,进而,根据损失确定梯度,以更新双塔模型的参数。
上述执行主体可以循环执行上述训练操作,直至达到预设结束条件,得到训练后的双塔模型。其中,预设结束条件可以是训练时间超过时间阈值、训练次数超过次数阈值、损失趋于收敛。
本实施例中,提供了双塔模型的训练方式,可以提高双塔模型的准确度。
在双塔模型的训练过程中,对于得到的双塔模型的实际输出与对应的标签之间的损失,以及第一分布信息和第二分布信息之间的损失,上述执行主体可以通过两种损失独立更新双塔模型,或者基于求和、加权求和等方式得到总损失,进而通过总损失更新双塔模型。
继续参考图4,示出了根据本公开的文本匹配双塔模型的知识蒸馏方法的又一个实施例的示意性流程400,包括以下步骤:
步骤401,在根据训练样本集训练双塔模型的过程中,对于输入的训练样本中的样本文本对,确定双塔模型中的第一塔形网络的第一输出中的语义编码信息和第二塔形网络的第二输出中的语义编码信息之间的匹配度数值,得到第一匹配度。
步骤402,对于第一输出中的每个文本单元编码信息,根据第一输出中的该文本单元编码信息与第二输出中的每个文本单元编码信息之间的匹配度数值,确定第一输出中的该文本单元编码信息对应的最大匹配度数值。
步骤403,根据第一输出中的每个文本单元编码信息对应的最大匹配度数值,确定第二匹配度。
步骤404,确定训练样本集中的预设数量的训练样本对应的第一匹配度的第一分布信息,以及对应的第二匹配度的第二分布信息。
步骤405,确定第一分布信息和第二分布信息之间的损失。
步骤406,根据损失,对双塔模型进行知识蒸馏。
从本实施例中可以看出,与图2对应的实施例相比,本实施例中的文本匹配双塔模型的知识蒸馏方法的流程400具体说明了第一匹配度、第二匹配度的确定过程,双塔模型的知识蒸馏过程,进一步提高了双塔模型的准确度,降低了知识蒸馏过程的信息处理成本。
继续参考图5,示出了双塔模型的结构示意图500,包括第一塔形网络501和第二塔形网络502。基于双塔模型500给出如下具体知识蒸馏过程:
1、获取训练样本集,训练样本集中的训练样本查询文本、候选文本和表征查询文本、候选文本之间的匹配度的标签。
2、确定训练样本中的查询文本的每个文本单元的token embedding(标记嵌入)、候选文本的每个文本单元的token embedding。
3、将第一文本的每个文本单元的token embedding和CLS token embedding输入第一塔形网络,经过编码器等网络结构后,得到最终输出的每个文本单元的tokenembedding和CLS token embedding。
4、将第二文本的每个文本单元的token embedding和CLS token embedding输入第二塔形网络,经过编码器等网络结构后,得到最终输出的每个文本单元的tokenembedding和CLS token embedding。
5、通过点积方式,确定第一塔形网络输出的CLS token embedding和第二塔形网络输出的CLS token embedding之间的第一匹配度。
6、通过点积方式,确定第一塔形网络输出的每个文本单元的token embedding和第二塔形网络输出的每个文本单元的token embedding之间的匹配度,从而确定出第一塔形网络输出的每个文本单元的token embedding对应的最大匹配度;然后,对第一塔形网络输出的每个文本单元的token embedding对应的最大匹配度进行求和,得到第二匹配度。
7、确定训练样本集中的预设数量的训练样本对应的第一匹配度的第一分布信息,以及对应的第二匹配度的第二分布信息。
8、确定第一分布信息和第二分布信息之间的KL散度,根据KL散度对双塔模型进行知识自蒸馏。
继续参考图6,示出了根据本公开的文本匹配方法的一个实施例的示意性流程600,包括以下步骤:
步骤601,获取待匹配文本。
本实施例中,文本匹配方法的执行主体(例如,图1中的终端设备或服务器)可以基于有线网络连接方式或无线网络连接方式从远程,或从本地获取待匹配文本。
待匹配文本可以是包括字符、数字、文字等任意内容的文本。作为示例,在搜索领域,待匹配文本可以是具有特定语义的查询文本,例如查询关键字、语句等;在推荐领域,待匹配文本可以是表征用户的特征信息的数字、编码等文本。
步骤602,通过训练后的双塔模型确定与待匹配文本匹配的目标文本。
本实施例中,上述执行主体可以通过训练后的双塔模型确定与待匹配文本匹配的目标文本。其中,训练后的双塔模型通过上述实施例200、400中的任一实现方式进行训练、知识蒸馏得到。
具体的,双塔模型的应用过程中,可以确定第一塔形网络输出的语义编码信息和第二塔形网络输出的语义编码信息,进而确定两种编码信息之间的匹配度数值,以确定待匹配文本与第二塔形网络的输入文本是否匹配,如匹配,将第二塔形网络的输入文本确定为与待匹配文本匹配的目标文本。
否则,双塔模型继续查询其他的输入文本与待匹配文本之间的匹配度,直至找到与待匹配文本匹配的目标文本。
作为示例,当匹配度数值大于预设匹配度阈值时,判定为待匹配文本与第二塔形网络的输入文本匹配。其中,预设匹配度阈值可以根据实际情况具体设置,在此不作限定。
本实现方式中,基于训练、知识自蒸馏后的双塔模型确定与待匹配文本匹配的目标文本,提高了信息确定的准确度。
继续参考图7,作为对上述各图所示方法的实现,本公开提供了一种文本匹配双塔模型的知识蒸馏装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图7所示,文本匹配双塔模型的知识蒸馏装置包括:第一确定单元701,被配置成在根据训练样本集训练双塔模型的过程中,对于输入的训练样本中的样本文本对,确定双塔模型中的第一塔形网络的第一输出和第二塔形网络的第二输出之间关于语义编码信息的第一匹配度,以及关于文本单元编码信息的第二匹配度;第二确定单元702,被配置成确定训练样本集中的预设数量的训练样本对应的第一匹配度的第一分布信息,以及对应的第二匹配度的第二分布信息;知识蒸馏单元703,被配置成根据第一分布信息和第二分布信息,对双塔模型进行知识蒸馏。
在本实施例的一些可选的实现方式中,知识蒸馏单元703,进一步被配置成:确定第一分布信息和第二分布信息之间的损失;根据损失,对双塔模型进行知识蒸馏。
在本实施例的一些可选的实现方式中,第一匹配度和第二匹配度均通过匹配度数值表征;以及第一确定单元701,进一步被配置成:确定第一输出中的语义编码信息和第二输出中的语义编码信息之间的匹配度数值,得到第一匹配度;对于第一输出中的每个文本单元编码信息,根据第一输出中的该文本单元编码信息与第二输出中的每个文本单元编码信息之间的匹配度数值,确定第一输出中的该文本单元编码信息对应的最大匹配度数值;根据第一输出中的每个文本单元编码信息对应的最大匹配度数值,确定第二匹配度。
在本实施例的一些可选的实现方式中,训练样本集中的训练样本包括样本文本对和表征样本文本对中的样本文本之间的匹配度的标签;以及第一确定单元701,进一步被配置成:利用机器学习算法,以样本文本对中的一个样本文本为第一塔形网络的输入,以样本文本对中的另一个样本文本为第二塔形网络的输入,将所输入的样本文本对对应的标签作为第一塔形网络的第一输出和第二塔形网络的第二输出之间关于匹配度的期望输出,训练双塔模型。
本实施例中,提供了一种文本匹配双塔模型的知识蒸馏装置,在双塔模型的训练过中采用自蒸馏的方式,利用两个塔形网络输出的文本单元编码信息之间精细的交互匹配信息,来提升两个塔形网络输出的语义编码信息之间的交互匹配信息,提高了双塔模型的准确度,降低了知识蒸馏过程的信息处理成本。
继续参考图8,作为对上述各图所示方法的实现,本公开提供了一种文本匹配装置的一个实施例,该装置实施例与图6所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图8所示,文本匹配装置包括:获取单元801,被配置成获取待匹配文本;第三确定单元802,被配置成通过训练后的双塔模型确定与待匹配文本匹配的目标文本,其中,训练后的双塔模型通过实施例200、400中的任一实现方式进行训练、知识蒸馏得到。
本实施例中,提供了一种文本匹配装置,基于训练、知识自蒸馏后的双塔模型确定与待匹配文本匹配的目标文本,提高了信息确定的准确度。
根据本公开的实施例,本公开还提供了一种电子设备,该电子设备包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,该指令被至少一个处理器执行,以使至少一个处理器执行时能够实现上述任意实施例所描述的文本匹配双塔模型的知识蒸馏方法、文本匹配方法。
根据本公开的实施例,本公开还提供了一种可读存储介质,该可读存储介质存储有计算机指令,该计算机指令用于使计算机执行时能够实现上述任意实施例所描述的文本匹配双塔模型的知识蒸馏方法、文本匹配方法。
本公开实施例提供了一种计算机程序产品,该计算机程序在被处理器执行时能够实现上述任意实施例所描述的文本匹配双塔模型的知识蒸馏方法、文本匹配方法。
图9示出了可以用来实施本公开的实施例的示例电子设备900的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图9所示,设备900包括计算单元901,其可以根据存储在只读存储器(ROM)902中的计算机程序或者从存储单元908加载到随机访问存储器(RAM)903中的计算机程序,来执行各种适当的动作和处理。在RAM 903中,还可存储设备900操作所需的各种程序和数据。计算单元901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
设备900中的多个部件连接至I/O接口905,包括:输入单元906,例如键盘、鼠标等;输出单元907,例如各种类型的显示器、扬声器等;存储单元908,例如磁盘、光盘等;以及通信单元909,例如网卡、调制解调器、无线通信收发机等。通信单元909允许设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元901可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元901的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元901执行上文所描述的各个方法和处理,例如文本匹配双塔模型的知识蒸馏方法。例如,在一些实施例中,文本匹配双塔模型的知识蒸馏方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由ROM 902和/或通信单元909而被载入和/或安装到设备900上。当计算机程序加载到RAM 903并由计算单元901执行时,可以执行上文描述的文本匹配双塔模型的知识蒸馏方法的一个或多个步骤。备选地,在其他实施例中,计算单元901可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行文本匹配双塔模型的知识蒸馏方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决传统物理主机与虚拟专用服务器(VPS,Virtual Private Server)服务中存在的管理难度大,业务扩展性弱的缺陷;也可以为分布式系统的服务器,或者是结合了区块链的服务器。
根据本公开实施例的技术方案,提供了一种文本匹配双塔模型的知识蒸馏方法,在双塔模型的训练过中采用自蒸馏的方式,利用两个塔形网络输出的文本单元编码信息之间精细的交互匹配信息,来提升两个塔形网络输出的语义编码信息之间的交互匹配信息,提高了双塔模型的准确度,降低了知识蒸馏过程的信息处理成本。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开提供的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (13)
1.一种文本匹配双塔模型的知识蒸馏方法,包括:
在根据训练样本集训练双塔模型的过程中,对于输入的训练样本中的样本文本对,确定所述双塔模型中的第一塔形网络的第一输出和第二塔形网络的第二输出之间关于语义编码信息的第一匹配度,以及关于文本单元编码信息的第二匹配度;
确定所述训练样本集中的预设数量的训练样本对应的第一匹配度的第一分布信息,以及对应的第二匹配度的第二分布信息;
根据所述第一分布信息和所述第二分布信息,对所述双塔模型进行知识蒸馏。
2.根据权利要求1所述的方法,其中,所述根据所述第一分布信息和所述第二分布信息,对所述双塔模型进行知识蒸馏,包括:
确定所述第一分布信息和所述第二分布信息之间的损失;
根据所述损失,对所述双塔模型进行知识蒸馏。
3.根据权利要求1所述的方法,其中,第一匹配度和第二匹配度均通过匹配度数值表征;以及
所述确定所述双塔模型中的第一塔形网络的第一输出和第二塔形网络的第二输出之间关于语义编码信息的第一匹配度,以及关于文本单元编码信息的第二匹配度,包括:
确定所述第一输出中的语义编码信息和所述第二输出中的语义编码信息之间的匹配度数值,得到第一匹配度;
对于所述第一输出中的每个文本单元编码信息,根据所述第一输出中的该文本单元编码信息与所述第二输出中的每个文本单元编码信息之间的匹配度数值,确定所述第一输出中的该文本单元编码信息对应的最大匹配度数值;
根据所述第一输出中的每个文本单元编码信息对应的最大匹配度数值,确定第二匹配度。
4.根据权利要求1所述的方法,其中,所述训练样本集中的训练样本包括样本文本对和表征样本文本对中的样本文本之间的匹配度的标签;以及
所述根据训练样本集训练双塔模型,包括:
利用机器学习算法,以样本文本对中的一个样本文本为所述第一塔形网络的输入,以样本文本对中的另一个样本文本为所述第二塔形网络的输入,将所输入的样本文本对对应的标签作为所述第一塔形网络的第一输出和所述第二塔形网络的第二输出之间关于匹配度的期望输出,训练所述双塔模型。
5.一种文本匹配方法,包括:
获取待匹配文本;
通过训练后的双塔模型确定与所述待匹配文本匹配的目标文本,其中,所述训练后的双塔模型通过权利要求1-4中的任一项进行训练、知识蒸馏得到。
6.一种文本匹配双塔模型的知识蒸馏装置,包括:
第一确定单元,被配置成在根据训练样本集训练双塔模型的过程中,对于输入的训练样本中的样本文本对,确定所述双塔模型中的第一塔形网络的第一输出和第二塔形网络的第二输出之间关于语义编码信息的第一匹配度,以及关于文本单元编码信息的第二匹配度;
第二确定单元,被配置成确定所述训练样本集中的预设数量的训练样本对应的第一匹配度的第一分布信息,以及对应的第二匹配度的第二分布信息;
知识蒸馏单元,被配置成根据所述第一分布信息和所述第二分布信息,对所述双塔模型进行知识蒸馏。
7.根据权利要求6所述的装置,其中,所述知识蒸馏单元,进一步被配置成:
确定所述第一分布信息和所述第二分布信息之间的损失;根据所述损失,对所述双塔模型进行知识蒸馏。
8.根据权利要求6所述的装置,其中,第一匹配度和第二匹配度均通过匹配度数值表征;以及
所述第一确定单元,进一步被配置成:
确定所述第一输出中的语义编码信息和所述第二输出中的语义编码信息之间的匹配度数值,得到第一匹配度;对于所述第一输出中的每个文本单元编码信息,根据所述第一输出中的该文本单元编码信息与所述第二输出中的每个文本单元编码信息之间的匹配度数值,确定所述第一输出中的该文本单元编码信息对应的最大匹配度数值;根据所述第一输出中的每个文本单元编码信息对应的最大匹配度数值,确定第二匹配度。
9.根据权利要求6所述的装置,其中,所述训练样本集中的训练样本包括样本文本对和表征样本文本对中的样本文本之间的匹配度的标签;以及
所述第一确定单元,进一步被配置成:
利用机器学习算法,以样本文本对中的一个样本文本为所述第一塔形网络的输入,以样本文本对中的另一个样本文本为所述第二塔形网络的输入,将所输入的样本文本对对应的标签作为所述第一塔形网络的第一输出和所述第二塔形网络的第二输出之间关于匹配度的期望输出,训练所述双塔模型。
10.一种文本匹配装置,包括:
获取单元,被配置成获取待匹配文本;
第三确定单元,被配置成通过训练后的双塔模型确定与所述待匹配文本匹配的目标文本,其中,所述训练后的双塔模型通过权利要求6-9中的任一项进行训练、知识蒸馏得到。
11.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-5中任一项所述的方法。
12.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-5中任一项所述的方法。
13.一种计算机程序产品,包括:计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210592050.8A CN114841172A (zh) | 2022-05-27 | 2022-05-27 | 文本匹配双塔模型的知识蒸馏方法、装置及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210592050.8A CN114841172A (zh) | 2022-05-27 | 2022-05-27 | 文本匹配双塔模型的知识蒸馏方法、装置及程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114841172A true CN114841172A (zh) | 2022-08-02 |
Family
ID=82572926
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210592050.8A Pending CN114841172A (zh) | 2022-05-27 | 2022-05-27 | 文本匹配双塔模型的知识蒸馏方法、装置及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114841172A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116933896A (zh) * | 2023-09-15 | 2023-10-24 | 上海燧原智能科技有限公司 | 一种超参数确定及语义转换方法、装置、设备及介质 |
-
2022
- 2022-05-27 CN CN202210592050.8A patent/CN114841172A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116933896A (zh) * | 2023-09-15 | 2023-10-24 | 上海燧原智能科技有限公司 | 一种超参数确定及语义转换方法、装置、设备及介质 |
CN116933896B (zh) * | 2023-09-15 | 2023-12-15 | 上海燧原智能科技有限公司 | 一种超参数确定及语义转换方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114861889B (zh) | 深度学习模型的训练方法、目标对象检测方法和装置 | |
CN112559885A (zh) | 地图兴趣点的训练模型确定方法、装置及电子设备 | |
CN113553412A (zh) | 问答处理方法、装置、电子设备和存储介质 | |
CN113360700A (zh) | 图文检索模型的训练和图文检索方法、装置、设备和介质 | |
CN113641805A (zh) | 结构化问答模型的获取方法、问答方法及对应装置 | |
CN115358243A (zh) | 多轮对话识别模型的训练方法、装置、设备及存储介质 | |
CN113468857B (zh) | 风格转换模型的训练方法、装置、电子设备以及存储介质 | |
CN112906368B (zh) | 行业文本增量方法、相关装置及计算机程序产品 | |
CN112949433B (zh) | 视频分类模型的生成方法、装置、设备和存储介质 | |
CN113919424A (zh) | 文本处理模型的训练、文本处理方法、装置、设备和介质 | |
CN114841172A (zh) | 文本匹配双塔模型的知识蒸馏方法、装置及程序产品 | |
CN116010916A (zh) | 用户身份信息识别方法、装置、电子设备及存储介质 | |
CN114490965B (zh) | 问题处理方法、装置、电子设备和存储介质 | |
CN116049370A (zh) | 信息查询方法和信息生成模型的训练方法、装置 | |
JP2023012541A (ja) | テーブルに基づく質問応答方法、装置及び電子機器 | |
CN115600592A (zh) | 文本内容的关键信息提取方法、装置、设备及介质 | |
CN114817476A (zh) | 语言模型的训练方法、装置、电子设备和存储介质 | |
CN114417862A (zh) | 文本匹配方法、文本匹配模型的训练方法和装置 | |
CN113408280A (zh) | 负例构造方法、装置、设备和存储介质 | |
CN112560481A (zh) | 语句处理方法、设备和存储介质 | |
CN113204616A (zh) | 文本抽取模型的训练与文本抽取的方法、装置 | |
CN112560466A (zh) | 链接实体关联方法、装置、电子设备和存储介质 | |
CN114818735A (zh) | 基于级联的文本匹配模型的知识蒸馏方法、装置及产品 | |
CN112989797B (zh) | 模型训练、文本扩展方法,装置,设备以及存储介质 | |
CN114722841B (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 |