一种通过轻量化文本生成模型进行文本生成的方法及装置与流程
未命名
07-22
阅读:104
评论:0
1.本技术涉及文本生成技术领域,尤其涉及一种通过轻量化文本生成模型进行文本生成的方法以及通过轻量化文本生成模型进行文本生成的装置。
背景技术:
2.随着人工智能技术的快速迭代发展,我们发现相比于较小的模型,大模型具备更强的文本生成能力。在这种情况下,随着文本生成能力的提升,其参数量也是呈指数型增长,这将导致其模型在推理速度上大幅度降低。尤其在实际业务线上部署的时候,对模型的响应速度更加严格苛刻。于是诸多科研学者研究如何在保证生成性能的前提下压缩模型参数量、加快模型的推理速度。其解决方案大致分为四类:
3.蒸馏:将大模型(老师)的输出作为小模型(学生)的标签来“教”小模型。
4.量化:将神经网络中神经元(例如权重、激活值)从高精度转换为低精度的过程。
5.剪枝:去掉对神经网络中若干神经元之间的连接,即通过舍弃模型中的某些权重来减少模型参数量。
6.架构改进:将原本带有高维度的向量计算的网络架构向低维度设计,使其模型参数大幅度减少。
7.以上方法均存在着诸多的缺点。具体地,蒸馏、量化、剪枝、架构改进之后的模型均会带来性能上的下降,而且此性能的削弱将不可恢复。例如我们将一个性能强大的大模型通过上面的方法缩减为性能较差的小模型,此时如果我们需要将小模型恢复大模型的能力,这将是困难棘手的。
8.因此,希望有一种技术方案来解决或至少减轻现有技术的上述不足。
技术实现要素:
9.本发明的目的在于提供一种通过轻量化文本生成模型进行文本生成的方法来至少解决上述的一个技术问题。
10.本发明提供了下述方案:
11.根据本发明的一个方面,提供一种通过轻量化文本生成模型进行文本生成的方法,所述所述通过轻量化文本生成模型进行文本生成的方法包括:
12.步骤1:获取经过训练的轻量化文本生成模型,所述轻量化文本生成模型包括多个串联的解码器,每个解码器上连接一个分类器;
13.步骤2:获取待生成文本;
14.步骤3:将所述待生成文本的文本特征输入至所述轻量化文本生成模型,从而使所述文本特征经过至少一个所述分类器从而获取生成本文。
15.可选地,除串联的解码器中的位于首位的解码器外,其余解码器用于获取与该解码器串联的前一个解码器所输出的数据;
16.步骤3:所述将所述待生成文本的文本特征输入至所述轻量化文本生成模型,从而
使所述文本特征经过至少一个所述分类器从而获取生成本文包括:
17.步骤31:将所述文本特征输入位于首位的解码器,位于首位的解码器所连接的分类器输出生成字符的概率分布;
18.步骤32:根据分类器输出的概率分布获取该分布的信息熵;
19.步骤33:判断所获取的分布的信息熵是否小于阈值,若是,则结束。
20.可选地,所述步骤3:所述将所述待生成文本的文本特征输入至所述轻量化文本生成模型,从而使所述文本特征经过至少一个所述分类器从而获取生成本文进一步包括:
21.步骤34:判断所获取的分布的信息熵是否小于阈值,若否,则
22.步骤35:将位于首位的解码器所输出的数据传递给与首位的解码器连接的下一个解码器,从而获取与首位的解码器连接的解码器所连接的分类器输出的第二概率分布;
23.步骤36:根据第二概率分布获取第二信息熵;
24.步骤37:判断第二信息熵是否小于阈值,若是,则结束。
25.可选地,所述步骤3:所述将所述待生成文本的文本特征输入至所述轻量化文本生成模型,从而使所述文本特征经过至少一个所述分类器从而获取生成本文进一步包括:
26.步骤38:判断第二信息熵是否小于阈值,若否,则
27.步骤39:将用于生成第二概率分布的分类器所连接的解码器所输出的数据传递给生成该第二概率分布之后的解码器,从而获取第三概率分布;
28.步骤40:根据第三概率分布获取第三信息熵;
29.步骤41:判断第三信息熵是否小于阈值,若是,则结束。
30.可选地,所述步骤3:所述将所述待生成文本的文本特征输入至所述轻量化文本生成模型,从而使所述文本特征经过至少一个所述分类器从而获取生成本文进一步包括:
31.重复所述步骤38至所述步骤41,直至获取到的信息熵小于阈值或所有分类器均使用完。
32.可选地,所述信息熵采用如下公式获取:
33.其中,
34.uncertainly为信息熵,ps是分类器生成的分布,n是标签的数量。
35.可选地,在所述获取经过训练的轻量化文本生成模型之前,所述通过轻量化文本生成模型进行文本生成的方法包括:
36.训练所述轻量化文本生成模型。
37.可选地,所述训练所述轻量化文本生成模型包括:
38.获取训练集,所述训练集包括标注数据;
39.使用所有标注数据微调所有分类器中串联的最后一个分类器以及各个解码器;
40.使用自蒸馏方法对除最后一个分类器之外的其他各个分类器进行训练。
41.可选地,各个所述分类器中,至少有两个分类器的参数不同。
42.本技术还提供了一种通过轻量化文本生成模型进行文本生成的装置,所述通过轻量化文本生成模型进行文本生成的装置包括:
43.获取模块,所述获取模块用于获取经过训练的轻量化文本生成模型,所述轻量化文本生成模型包括多个串联的解码器,每个解码器上连接一个分类器;
44.待生成文本获取模块,所述待生成文本获取模块用于获取待生成文本;
45.生成本文获取模块,所述生成本文获取模块用于将所述待生成文本的文本特征输入至所述轻量化文本生成模型,从而使所述文本特征经过至少一个所述分类器从而获取生成本文
46.本技术所提供的通过轻量化文本生成模型进行文本生成的方法可以根据实际需求选择合适的分类器进行处理,从而在不需要准确度太高的情况下,可以通过在半路的分类器即可实现文本生成,从而不需要将整个模型跑完即可获取到需要的文本,而当需要精度高的时候,可以跑完全部的模型从而获取精度高的文本,不同的文本生成以及文本的不同位置生成时使用到的模型结构是不同的,即加快容易文本生成、也能在生成难度较高时使用更多的模型参数,避免了以往模型压缩带来的指标下降,且本技术的模型的每一个解码器之后都有分类器,从最深层开始裁减掉部分解码器和所属的分类器并不影响模型功能,可以方便地直接裁剪用于轻量化部署。
附图说明
47.图1是本技术一实施例中的通过轻量化文本生成模型进行文本生成的方法的流程示意图。
48.图2是本技术一个实施例提供的通过轻量化文本生成模型进行文本生成的方法的一种电子设备结构框图。
49.图3为本技术一个实施例中的轻量化文本生成模型的架构图。
50.图4是本技术一个实施例中的模型蒸馏示意图。
51.图5是本技术一个实施例中的量化过程示意图。
52.图6是本技术一个实施例中的神经网络的剪枝过程示意图。
具体实施方式
53.下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
54.图1是本技术一实施例中的通过轻量化文本生成模型进行文本生成的方法的流程示意图。
55.如图1所示的通过轻量化文本生成模型进行文本生成的方法包括:
56.步骤1:获取经过训练的轻量化文本生成模型,所述轻量化文本生成模型包括多个串联的解码器,每个解码器上连接一个分类器;
57.步骤2:获取待生成文本;
58.步骤3:将所述待生成文本的文本特征输入至所述轻量化文本生成模型,从而使所述文本特征经过至少一个所述分类器从而获取生成本文。
59.本技术所提供的通过轻量化文本生成模型进行文本生成的方法可以根据实际需求选择合适的分类器进行处理,从而在不需要准确度太高的情况下,可以通过在半路的分类器即可实现文本生成,从而不需要将整个模型跑完即可获取到需要的文本,而当需要精度高的时候,可以跑完全部的模型从而获取精度高的文本,不同的文本生成以及文本的不
同位置生成时使用到的模型结构是不同的,即加快容易文本生成、也能在生成难度较高时使用更多的模型参数,避免了以往模型压缩带来的指标下降,且本技术的模型的每一个解码器之后都有分类器,从最深层开始裁减掉部分解码器和所属的分类器并不影响模型功能,可以方便地直接裁剪用于轻量化部署。
60.在本实施例中,每个解码器以及与该解码器所连接的分类器组成一个文本生成器;
61.除串联的解码器中的位于首位的解码器外,其余解码器用于获取与该解码器串联的前一个解码器所输出的数据;
62.步骤3:所述将所述待生成文本的文本特征输入至所述轻量化文本生成模型,从而使所述文本特征经过至少一个所述分类器从而获取生成本文包括:
63.步骤31:将所述文本特征输入位于首位的解码器,位于首位的解码器所连接的分类器输出生成字符的概率分布,在本实施例中,字符的概率分布例如:输入“政治经济”,生成序列下一个即下一个字符的概率分布:
64.(
‘
学’,0.7)、(
‘
原’,0.2)、(
‘
理’,0.1)。
65.生成文本是“政治经济学”,然后将生成文本“政治经济学”再次输入文本生成模型,继续迭代2次,生成本文是“政治经济学原理”。
66.步骤32:根据分类器输出的概率分布获取该分布的信息熵;
67.步骤33:判断所获取的分布的信息熵是否小于阈值,若是,则结束。
68.在本实施例中,所述步骤3:所述将所述待生成文本的文本特征输入至所述轻量化文本生成模型,从而使所述文本特征经过至少一个所述分类器从而获取生成本文进一步包括:
69.步骤34:判断所获取的分布的信息熵是否小于阈值,若否,则
70.步骤35:将位于首位的解码器所输出的数据传递给与首位的解码器连接的下一个解码器,从而获取与首位的解码器连接的解码器所连接的分类器输出的第二概率分布;
71.步骤36:根据第二概率分布获取第二信息熵;
72.步骤37:判断第二信息熵是否小于阈值,若是,则结束。
73.在本实施例中,所述步骤3:所述将所述待生成文本的文本特征输入至所述轻量化文本生成模型,从而使所述文本特征经过至少一个所述分类器从而获取生成本文进一步包括:
74.步骤38:判断第二信息熵是否小于阈值,若否,则
75.步骤39:将用于生成第二概率分布的分类器所连接的解码器所输出的数据传递给生成该第二概率分布之后的解码器,从而获取第三概率分布;
76.步骤40:根据第三概率分布获取第三信息熵;
77.步骤41:判断第三信息熵是否小于阈值,若是,则结束。
78.在本实施例中,所述步骤3:所述将所述待生成文本的文本特征输入至所述轻量化文本生成模型,从而使所述文本特征经过至少一个所述分类器从而获取生成本文进一步包括:
79.重复所述步骤38至所述步骤41,直至获取到的信息熵小于阈值或所有所有分类器均使用完。
80.在本实施例中,所述信息熵采用如下公式获取:
81.其中,
82.uncertainly为信息熵,ps是分类器生成的分布,n是标签的数量。例如,例如(
‘
学’,0.7)、(
‘
原’,0.2)、(
‘
理’,0.1)是3分类,则n是3。
83.在本实施例中,在所述获取经过训练的轻量化文本生成模型之前,所述通过轻量化文本生成模型进行文本生成的方法包括:
84.训练所述轻量化文本生成模型。
85.在本实施例中,所述训练所述轻量化文本生成模型包括:
86.获取训练集,所述训练集包括标注数据;
87.使用所有标注数据微调所有分类器中串联的最后一个分类器以及各个解码器;
88.使用自蒸馏方法对除最后一个分类器之外的其他各个分类器进行训练。
89.可以理解的是,各个所述分类器中,至少有两个分类器的参数不同。在本实施例中,各个分类器的参数均不同。
90.下面以举例的方式对本技术进行进一步详细阐述,可以理解的是,该举例并不构成对本技术的任何限制。
91.参见图3,在图3所示的轻量化文本生成模型中有多个串联的解码器(decoder block),每个解码器都连接有一个分类器(classify),在本实施例中,本技术的模型有12到48个串联的decoder block,并在最后一层decoder之后连接分类器,每一个decoder连接一个分类器,最后一个分类器被称为“教师”分类器,其他的分类器称为“学生”分类器。自回归的文本生成过程中模型可以按数据自适应地使用“教师”分类器的结果或者在“学生”分类器早退,达到按照生成文本的难易程度适应性地调整推断时间,加快文本生成的目的。
92.在本实施例中,本技术的模型基础可以采用gpt-2文本生成模型,即在gpt-2文本生成模型的基础上增加上述的各个分类器。
93.在本实施例中,采用如下方法训练本技术的轻量化文本生成模型。
94.训练步骤包括:
95.1、使用所有标注数据微调所有decoder以及“教师”分类器;
96.2、冻结所有decoder和“教师”分类器,只对“学生”分类器进行训练,这里的训练用的数据用无标注数据就行,“教师”分类器的预测的概率分布作为软标签,loss是所有“学生”分类器预测的概率分布和软标签的kl散度之和。这个过程类似于模型蒸馏,区别是传统的模型蒸馏中“教师”模型和“学生”模型是两个模型,而这里是同一个模型主干和分支之间的蒸馏,也被称为自蒸馏。
97.3、我们提出的轻量化文本生成模型的kl散度如公式2所示:
[0098][0099]
这里ps是学生分类器生成的概率分布,p
t
是软标签,n是标签的数量。
[0100]
我们提出的轻量化文本生成模型的loss如公式3所示:
[0101][0102]
这里是第i个学生分类器生成的概率分布。
[0103]
推理过程中,当某一层生成结果的信息熵小于一个设定的阈值s,则返回该分类器的生成结果同时不在执行后面的decoder和分类器,如果该分类器的生成结果的信息熵大于设定的阈值s,则继续往后执行。信息熵计算过程如公
[0104]
式4所示:
[0105][0106]
其中ps是生成的分布,n是标签的数量。
[0107]
本文的动态gpt-2文本生成模型在硬件限制大,吞吐量要求高的情况下,可以调小阈值s,达到鼓励模型早退来加快文本生成、减小动态内存占用量的目的。因为动态gpt-2文本生成模型的每一个decoder之后都有分类器,从最深层开始裁减掉部分decoder和所属的分类器并不影响模型功能,可以方便地直接裁剪用于轻量化部署,这是一种更暴力的轻量化部署方案。
[0108]
在训练完本技术的轻量化文本生成模型后,本技术的通过轻量化文本生成模型进行文本生成的方法包括:
[0109]
步骤1:获取经过训练的轻量化文本生成模型,所述轻量化文本生成模型包括多个串联的解码器,每个解码器上连接一个分类器;
[0110]
步骤2:获取待生成文本;
[0111]
步骤3:将所述待生成文本的文本特征输入至所述轻量化文本生成模型,从而使所述文本特征经过至少一个所述分类器从而获取生成本文。
[0112]
在本实施例中,步骤3:将所述待生成文本的文本特征输入至所述轻量化文本生成模型,从而使所述文本特征经过至少一个所述分类器从而获取生成本文具体采用如下方法:
[0113]
假设本技术有20个串联的解码器,分别为a1、a2、a3、a4......a20,每个解码器都连接有一个分类器,即a1连接分类器b1,a2连接分类器b2,a3连接分类器b3,以此类推,a20连接有分类器b20,其中,b20为上述的“教师”分类器,其他分类器为“学生”分类器。
[0114]
当一个待生成文本输入至本技术的轻量化文本生成模型后,首先经过与a1连接的b1,从而获取生成字符的第一概率分布,此时,获取生成字符的第一概率分布的信息熵,若该信息熵小于s,则结束,通过生成字符的概率分布生成第一文本信息即可,该第一文本信息即为生成文本。
[0115]
如果信息熵大于s,则将a1的输出输入b2中,则可以得到第二概率分布,并判断第二概率分布的信息熵是否小于s,若是,则结束,若否,则将a2的输出输入a3中,以此类推,直到某个文本信息的信息熵小于s或者到最后的c20结束。
[0116]
本技术还提供了一种通过轻量化文本生成模型进行文本生成的装置,所述通过轻量化文本生成模型进行文本生成的装置包括获取模块、待生成文本获取模块以及生成本文
获取模块,其中,
[0117]
获取模块用于获取经过训练的轻量化文本生成模型,所述轻量化文本生成模型包括多个串联的解码器,每个解码器上连接一个分类器;
[0118]
待生成文本获取模块用于获取待生成文本;
[0119]
生成本文获取模块用于将所述待生成文本的文本特征输入至所述轻量化文本生成模型,从而使所述文本特征经过至少一个所述分类器从而获取生成本文。
[0120]
名词解释:
[0121]
下面简单介绍蒸馏、量化、剪枝以及架构改进的具体含义:
[0122]
1、蒸馏
[0123]
参见图4,模型蒸馏的思想就是利用一个已经训练好的、大型的、效果比较好的“教师”模型,去指导一个轻量型、参数少的“学生”模型——在减小模型的大小和计算资源的同时,尽量把学生模型的性能保证在教师模型附近。
[0124]
如图4所示,模型蒸馏通常先训练一个表现好的大模型作为“教师”模型,然后初始化一个小模型。在蒸馏训练过程中冻结“教师”模型的参数,并将“教师”模型预测的概率分布作为软标签、训练数据的标注作为硬标签构建多个loss来实现“教师”模型到“学生”模型的知识迁移,其中soft loss通常是软标签和“学生”模型logits的kl散度。有的模型蒸馏除了soft loss和hard loss之外,还会将“教师”模型和“学生”模型的中间层输出的相似度也作为loss添加到整体训练目标中。kl散度的loss公式为:
[0125][0126]
其中p
t
、ps分别是学生模型和教师模型预测的分布,t是蒸馏的温度,t越大,学生模型在蒸馏过程中就越会关注到那些概率小的类别。蒸馏训练出的小模型通常比直接训练的同结构小模型具有更好的表现,相比于大模型参数量更少,可用于轻量化部署。
[0127]
2、量化
[0128]
参见图5,量化是指直接降低模型中参数的精度,将连续的权值进一步稀疏、离散化。比如从float32到int8的低精度或者混合精度模型来加速模型训练和推理,此转换过程示意图如图5所示。
[0129]
3、剪枝
[0130]
参见图6,神经网络通常如图,6所示,下层中的每个神经元与上一层有连接,但这意味着我们必须进行大量浮点相乘操作。理想情况下,我们只需将每个神经元与几个其他神经元连接起来,不用进行其他浮点相乘操作,从而改善延迟情况。
[0131]
如果根据深度学习模型中各个模块的贡献对其进行排序,那么你可以将排序较低的模型结构移除,得到规模更小且速度更快的深度学习模型。
[0132]
4、架构改进在预训练模型中的应用主要有矩阵分解和权值共享,而两者在albert模型中均有应用。矩阵分解中一个矩阵可以分解为2个或者多个矩阵来表示,例如一个的矩阵可以转变为和的两个矩阵相乘,参数量从变为,当远小于h时,参数量就会大大减少。参数共享指模型中相同的模型结构共享同样的参数来训练和推理,例如albert模型中所有的encoder都是参数共享的,albert-base的encoder层参数量是共享前的1/12。
[0133]
蒸馏、量化、剪枝、架构改进这四种轻量化技术具有如下缺点:
[0134]
模型蒸馏:模型蒸馏后,教师模型并不应用于推理,这样就会损失一些精度,而且蒸馏的不确定性比较大。
[0135]
模型量化:尽管模型量化可以减小模型尺寸和内存耗用,并加快了推理速度,但是模型量化会造成一定的精度损失,而且模型量化增加了操作的复杂度,在量化时需要做一些特殊处理,否则精度损失更严重。
[0136]
模型剪枝:模型剪枝的后果难以预料,通常需要对模型中各部分参数的贡献进行排序,即使这样有选择性的剪枝,也可能造成指标的明显下降。为了弥补剪枝后模型准确率,通常要对剪枝的模型再次进行训练,然而如果一次修剪过多,则模型可能严重受损,再训练也难以恢复。
[0137]
架构改进:从模型的表示能力考虑,现有的gpt-2大部分模型结构并不适用于矩阵分解。参数共享能减少内存耗用,但是对模型推理速度的提升上来说没有帮助。
[0138]
除了上述之外,模型蒸馏、模型量化、模型剪枝和架构改进这几种方法都不能按照文本生成的难易自适应地调整模型深度,在生成容易的部分时会造成过参数化推理;在生成较难的部分时,又难以发挥出完整模型的优势。而本技术则能很好的解决上述技术问题。
[0139]
图2是本发明一个或多个实施例提供的一种电子设备结构框图。
[0140]
如图2所示,本技术还公开了一种电子设备,包括:处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器中存储有计算机程序,当计算机程序被处理器执行时,使得处理器执行通过轻量化文本生成模型进行文本生成的方法的步骤。
[0141]
本技术还提供了一种计算机可读存储介质,其存储有可由电子设备执行的计算机程序,当计算机程序在电子设备上运行时,使得电子设备执行通过轻量化文本生成模型进行文本生成的方法的步骤。
[0142]
上述电子设备提到的通信总线可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0143]
电子设备包括硬件层,运行在硬件层之上的操作系统层,以及运行在操作系统上的应用层。该硬件层包括中央处理器(cpu,central processing unit)、内存管理单元(mmu,memory management unit)和内存等硬件。该操作系统可以是任意一种或多种通过进程(process)实现电子设备控制的计算机操作系统,例如,linux操作系统、unix操作系统、android操作系统、ios操作系统或windows操作系统等。并且在本发明实施例中该电子设备可以是智能手机、平板电脑等手持设备,也可以是桌面计算机、便携式计算机等电子设备,本发明实施例中并未特别限定。
[0144]
本发明实施例中的电子设备控制的执行主体可以是电子设备,或者是电子设备中能够调用程序并执行程序的功能模块。电子设备可以获取到存储介质对应的固件,存储介质对应的固件由供应商提供,不同存储介质对应的固件可以相同可以不同,在此不做限定。电子设备获取到存储介质对应的固件后,可以将该存储介质对应的固件写入存储介质中,具体地是往该存储介质中烧入该存储介质对应固件。将固件烧入存储介质的过程可以采用现有技术实现,在本发明实施例中不做赘述。
[0145]
电子设备还可以获取到存储介质对应的重置命令,存储介质对应的重置命令由供应商提供,不同存储介质对应的重置命令可以相同可以不同,在此不做限定。
[0146]
此时电子设备的存储介质为写入了对应的固件的存储介质,电子设备可以在写入了对应的固件的存储介质中响应该存储介质对应的重置命令,从而电子设备根据存储介质对应的重置命令,对该写入对应的固件的存储介质进行重置。根据重置命令对存储介质进行重置的过程可以现有技术实现,在本发明实施例中不做赘述。
[0147]
为了描述的方便,描述以上装置时以功能分为各种单元、模块分别描述。当然在实施本技术时可以把各单元、模块的功能在同一个或多个软件和/或硬件中实现。
[0148]
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非被特定定义,否则不会用理想化或过于正式的含义来解释。
[0149]
对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
[0150]
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器或者网络设备等)执行本技术各个实施方式或者实施方式的某些部分所述的方法。
[0151]
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
技术特征:
1.一种通过轻量化文本生成模型进行文本生成的方法,其特征在于,所述通过轻量化文本生成模型进行文本生成的方法包括:步骤1:获取经过训练的轻量化文本生成模型,所述轻量化文本生成模型包括多个串联的解码器,每个解码器上连接一个分类器;步骤2:获取待生成文本;步骤3:将所述待生成文本的文本特征输入至所述轻量化文本生成模型,从而使所述文本特征经过至少一个所述分类器从而获取生成本文。2.如权利要求1所述的通过轻量化文本生成模型进行文本生成的方法,其特征在于,除串联的解码器中的位于首位的解码器外,其余解码器用于获取与该解码器串联的前一个解码器所输出的数据;步骤3:所述将所述待生成文本的文本特征输入至所述轻量化文本生成模型,从而使所述文本特征经过至少一个所述分类器从而获取生成本文包括:步骤31:将所述文本特征输入位于首位的解码器,位于首位的解码器所连接的分类器输出生成字符的概率分布;步骤32:根据分类器输出的概率分布获取该分布的信息熵;步骤33:判断所获取的分布的信息熵是否小于阈值,若是,则结束。3.根据权利要求2所述的通过轻量化文本生成模型进行文本生成的方法,其特征在于,所述步骤3:所述将所述待生成文本的文本特征输入至所述轻量化文本生成模型,从而使所述文本特征经过至少一个所述分类器从而获取生成本文进一步包括:步骤34:判断所获取的分布的信息熵是否小于阈值,若否,则步骤35:将位于首位的解码器所输出的数据传递给与首位的解码器连接的下一个解码器,从而获取与首位的解码器连接的解码器所连接的分类器输出的第二概率分布;步骤36:根据第二概率分布获取第二信息熵;步骤37:判断第二信息熵是否小于阈值,若是,则结束。4.根据权利要求3所述的通过轻量化文本生成模型进行文本生成的方法,其特征在于,所述步骤3:所述将所述待生成文本的文本特征输入至所述轻量化文本生成模型,从而使所述文本特征经过至少一个所述分类器从而获取生成本文进一步包括:步骤38:判断第二信息熵是否小于阈值,若否,则步骤39:将用于生成第二概率分布的分类器所连接的解码器所输出的数据传递给生成该第二概率分布之后的解码器,从而获取第三概率分布;步骤40:根据第三概率分布获取第三信息熵;步骤41:判断第三信息熵是否小于阈值,若是,则结束。5.如权利要求4所述的通过轻量化文本生成模型进行文本生成的方法,其特征在于,所述步骤3:所述将所述待生成文本的文本特征输入至所述轻量化文本生成模型,从而使所述文本特征经过至少一个所述分类器从而获取生成本文进一步包括:重复所述步骤38至所述步骤41,直至获取到的信息熵小于阈值或所有分类器均使用完。6.如权利要求5所述的通过轻量化文本生成模型进行文本生成的方法,其特征在于,所述信息熵采用如下公式获取:
其中,uncertainly为信息熵,p
s
是分类器生成的分布,n是标签的数量。7.如权利要求6所述的通过轻量化文本生成模型进行文本生成的方法,其特征在于,在所述获取经过训练的轻量化文本生成模型之前,所述通过轻量化文本生成模型进行文本生成的方法包括:训练所述轻量化文本生成模型。8.如权利要求7所述的通过轻量化文本生成模型进行文本生成的方法,其特征在于,所述训练所述轻量化文本生成模型包括:获取训练集,所述训练集包括标注数据;使用所有标注数据微调所有分类器中串联的最后一个分类器以及各个解码器;使用自蒸馏方法对除最后一个分类器之外的其他各个分类器进行训练。9.如权利要求8所述的通过轻量化文本生成模型进行文本生成的方法,其特征在于,各个所述分类器中,至少有两个分类器的参数不同。10.一种通过轻量化文本生成模型进行文本生成的装置,其特征在于,所述通过轻量化文本生成模型进行文本生成的装置包括:获取模块,所述获取模块用于获取经过训练的轻量化文本生成模型,所述轻量化文本生成模型包括多个串联的解码器,每个解码器上连接一个分类器;待生成文本获取模块,所述待生成文本获取模块用于获取待生成文本;生成本文获取模块,所述生成本文获取模块用于将所述待生成文本的文本特征输入至所述轻量化文本生成模型,从而使所述文本特征经过至少一个所述分类器从而获取生成本文。
技术总结
本申请公开了一种通过轻量化文本生成模型进行文本生成的方法及装置。所述通过轻量化文本生成模型进行文本生成的方法包括:步骤1:获取经过训练的轻量化文本生成模型,所述轻量化文本生成模型包括多个串联的解码器,每个解码器上连接一个分类器;步骤2:获取待生成文本;步骤3:将所述待生成文本的文本特征输入至所述轻量化文本生成模型,从而使所述文本特征经过至少一个所述分类器从而获取生成本文。本申请的通过轻量化文本生成模型进行文本生成的方法可以实现加快文本生成、减小动态内存占用量的目的。用量的目的。用量的目的。
技术研发人员:韩亚 刘学谦 马延美
受保护的技术使用者:北京方寸无忧科技发展有限公司
技术研发日:2023.04.19
技术公布日:2023/7/20
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
