CN116991986B - 一种语言模型轻量化方法、装置、计算机设备和存储介质 - Google Patents
一种语言模型轻量化方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN116991986B CN116991986B CN202311269260.4A CN202311269260A CN116991986B CN 116991986 B CN116991986 B CN 116991986B CN 202311269260 A CN202311269260 A CN 202311269260A CN 116991986 B CN116991986 B CN 116991986B
- Authority
- CN
- China
- Prior art keywords
- language model
- learnable parameters
- attention layer
- function
- parameters
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 89
- 230000006870 function Effects 0.000 claims abstract description 133
- 238000005192 partition Methods 0.000 claims abstract description 121
- 238000012545 processing Methods 0.000 claims abstract description 29
- 238000012549 training Methods 0.000 claims abstract description 28
- 238000011478 gradient descent method Methods 0.000 claims abstract description 9
- 238000004422 calculation algorithm Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 14
- 230000000903 blocking effect Effects 0.000 claims description 12
- 239000013598 vector Substances 0.000 description 33
- 230000008569 process Effects 0.000 description 13
- 238000004364 calculation method Methods 0.000 description 8
- 230000019771 cognition Effects 0.000 description 8
- 239000013585 weight reducing agent Substances 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000000638 solvent extraction Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 210000004556 brain Anatomy 0.000 description 2
- 229910052799 carbon Inorganic materials 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000003064 k means clustering Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 108010001267 Protein Subunits Proteins 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000013140 knowledge distillation Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
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
- 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/35—Clustering; Classification
-
- 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/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Probability & Statistics with Applications (AREA)
- Machine Translation (AREA)
Abstract
本申请涉及一种语言模型轻量化方法、装置、计算机设备和存储介质。所述方法包括:对初始语言模型的注意力层的可学习参数进行聚类,得到可学习参数的分区;对各个分区进行组合,得到初始语言模型的所有裁剪方式;基于初始语言模型的注意力层的各个功能在各个裁剪方式下的波动率,得到各个功能的对应分区;剔除或量化与待处理的任务所对应的功能相关性低的可学习参数,得到待训练的语言模型的可学习参数;基于待训练的语言模型的可学习参数,利用梯度下降法对可学习参数进行训练,直到收敛,得到完备的轻量化语言模型。采用本方法能够解决了现有的语言模型无法利用较少的计算资源来实现高精度的任务处理的问题。
Description
技术领域
本申请涉及自然语言处理技术领域,特别是涉及一种语言模型轻量化方法、装置、计算机设备和存储介质。
背景技术
随着自然语言任务的处理需求逐渐增多和深度学习技术的广泛应用,通过搭建和训练神经网络来进行自然语言任务的处理逐渐受到重视。然而,用于处理自然语言任务的语言模型因为其数以亿计的可学习参数,使得在处理自然语言任务时,需要占用大量的计算资源和存储空间,无法适应低性能设备或具有严格延迟要求的应用程序,因此,需要对处理自然语言任务的语言模型进行轻量化。
现有技术主要采用模型剪枝、矩阵分解、模型量化和知识蒸馏等方法对语言模型进行轻量化操作,上述几种语言模型轻量化的方法,主要是采用预设的方法在语言模型中随机剔除可学习参数或降低可学习参数的比特,进而实现语言模型的轻量化,这种方法实际上是以牺牲语言模型的任务处理结果的精度损失来达到语言模型的轻量化的效果,因此现有的语言模型无法利用较少的计算资源来实现高精度的任务处理。
对于现有的语言模型无法利用较少的计算资源来实现高精度的任务处理的问题,目前仍没有得到有效解决。
发明内容
基于此,有必要针对上述技术问题,提供一种语言模型轻量化方法、装置、计算机设备和存储介质。
第一方面,本申请提供了一种语言模型轻量化方法。所述方法包括:
对初始语言模型的注意力层的可学习参数进行聚类,得到所述初始语言模型的注意力层的可学习参数的分区;
对各个所述分区进行组合,得到所述初始语言模型的注意力层的所有裁剪方式;
基于所述初始语言模型的注意力层的各个功能在各个所述裁剪方式下的波动率,得到各个所述功能的对应分区;
基于待处理的任务所对应的功能的对应分区中的可学习参数的重要性,剔除或量化与所述待处理的任务所对应的功能相关性低的可学习参数,得到待训练的语言模型的可学习参数;
基于所述待训练的语言模型的所述可学习参数,利用梯度下降法对所述可学习参数进行训练,直到收敛,得到完备的轻量化语言模型。
在其中一个实施例中,所述对初始语言模型的注意力层的可学习参数进行聚类,得到所述初始语言模型的注意力层的可学习参数的分区,包括以下步骤:
获取所述初始语言模型的注意力层的网络架构所对应的分块结果;
利用K-Means算法对所述分块结果中的各个分块的头中的可学习参数进行聚类,得到各个所述分块的头中的所述可学习参数的分类结果;
基于各个所述分块的头中的所述可学习参数的所述分类结果,得到所述初始语言模型的注意力层的所述可学习参数的分区。
在其中一个实施例中,所述基于所述初始语言模型的注意力层的各个功能在各个所述裁剪方式下的波动率,得到各个所述功能的对应分区,包括以下步骤:
基于所述初始语言模型的注意力层的各个所述功能的预设的评分标准,计算所述初始语言模型的注意力层的各个所述功能在各个所述裁剪方式下的所述波动率;
将各个所述功能的波动率最大的情况下的所述裁剪方式所对应的分区,作为各个所述功能的对应分区。
在其中一个实施例中,所述基于所述初始语言模型的注意力层的各个所述功能的预设的评分标准,计算所述初始语言模型的注意力层的各个所述功能在各个所述裁剪方式下的所述波动率,包括以下步骤:
基于所述初始语言模型的注意力层的各个所述功能的预设的所述评分标准,计算所述初始语言模型的注意力层的各个所述功能的裁剪前分数,以及所述初始语言模型的注意力层的各个所述功能在各个所述裁剪方式下的裁剪后分数;
计算所述初始语言模型的注意力层的各个所述功能在各个所述裁剪方式下的所述裁剪前分数减去所述裁剪后分数的差,与所述裁剪前分数的比值,得到所述初始语言模型的注意力层的各个所述功能在所述裁剪方式下的所述波动率。
在其中一个实施例中,在基于待处理的任务所对应的功能的对应分区中的可学习参数的重要性,剔除或量化与所述待处理的任务所对应的功能相关性低的可学习参数,得到待训练的语言模型的可学习参数之前,所述方法还包括:基于接收到的所述待处理的任务,确定所述待处理的任务所对应的所述功能。
在其中一个实施例中,在基于待处理的任务所对应的功能的对应分区中的可学习参数的重要性,剔除或量化与所述待处理的任务所对应的功能相关性低的可学习参数,得到待训练的语言模型的可学习参数之前,所述方法还包括:利用预设的可学习参数重要性分级方法,对各个所述功能的对应分区中的所述可学习参数进行重要性分级,得到各个所述功能的对应分区中的所述可学习参数的重要性分级结果。
在其中一个实施例中,所述基于待处理的任务所对应的功能的对应分区中的可学习参数的重要性,剔除或量化与所述待处理的任务所对应的功能相关性低的可学习参数,得到待训练的语言模型的可学习参数,包括:
基于所述待处理的任务所对应的所述功能的对应分区中的所述可学习参数的重要性分级结果,剔除或量化所述初始语言模型的注意力层中与所述待处理的任务不相关的所述功能的分区的所述可学习参数和所述待处理的任务所对应的所述功能的分区中重要性分级结果低的可学习参数,得到所述待训练的语言模型的所述可学习参数。
第二方面,本申请还提供了一种语言模型轻量化装置。所述装置包括:
聚类模块,用于对初始语言模型的注意力层的可学习参数进行聚类,得到所述初始语言模型的注意力层的可学习参数的分区;
组合模块,用于对各个所述分区进行组合,得到所述初始语言模型的注意力层的所有裁剪方式;
分区模块,用于基于所述初始语言模型的注意力层的各个功能在各个所述裁剪方式下的波动率,得到各个所述功能的对应分区;
处理模块,用于基于待处理的任务所对应的功能的对应分区中的可学习参数的重要性,剔除或量化所述待处理的任务所对应的功能相关性低的可学习参数,得到待训练的语言模型的可学习参数;
以及训练模块,用于基于所述待训练的语言模型的所述可学习参数,利用梯度下降法对所述可学习参数进行训练,直到收敛,得到完备的轻量化语言模型。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的语言模型轻量化方法。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的语言模型轻量化方法。
上述语言模型轻量化方法、装置、计算机设备和存储介质,通过对初始语言模型的注意力层的可学习参数进行聚类,得到初始语言模型的注意力层的可学习参数的分区,然后通过对各个分区进行组合,得到初始语言模型的注意力层的所有裁剪方式,进而通过计算得到初始语言模型的注意力层的各个功能在各个裁剪方式下的波动率,得到各个功能的对应分区。并根据待处理的任务所对应的功能,以及各个功能的对应分区中的可学习参数的重要性,剔除或量化待处理的任务所对应的功能相关性低的可学习参数,对初始语言模型的注意力层进行轻量化处理,得到待训练的语言模型的初始模型可学习参数。其通过计算得到与待处理的任务相关性低的可学习参数,进而剔除或量化与待处理的任务相关性低的可学习参数,保留与待处理的任务相关性高的可学习参数,实现对初始语言模型的注意力层的轻量化处理,进而能够提高模型的训练速度,减少模型训练过程中的计算资源的利用,实现模型训练过程中利用较少的计算资源。另外,对与待处理的任务相关性高的可学习参数进行训练,得到完备的轻量化语言模型,能够保证利用完备的轻量化语言模型执行待处理的任务的精度,解决了现有的语言模型无法利用较少的计算资源来实现高精度的任务处理的问题。
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请一实施例提供的语言模型轻量化的终端的硬件结构框图;
图2为本申请一实施例提供的语言模型轻量化方法的流程图;
图3为本申请一优选实施例提供的语言模型轻量化方法的流程图;
图4为本申请一实施例提供的语言模型轻量化装置的结构框图。
具体实施方式
为更清楚地理解本申请的目的、技术方案和优点,下面结合附图和实施例,对本申请进行了描述和说明。
除另作定义外,本申请所涉及的技术术语或者科学术语应具有本申请所属技术领域具备一般技能的人所理解的一般含义。在本申请中的“一”、“一个”、“一种”、“该”、“这些”等类似的词并不表示数量上的限制,它们可以是单数或者复数。在本申请中所涉及的术语“包括”、“包含”、“具有”及其任何变体,其目的是涵盖不排他的包含;例如,包含一系列步骤或模块(单元)的过程、方法和系统、产品或设备并未限定于列出的步骤或模块(单元),而可包括未列出的步骤或模块(单元),或者可包括这些过程、方法、产品或设备固有的其他步骤或模块(单元)。在本申请中所涉及的“连接”、“相连”、“耦接”等类似的词语并不限定于物理的或机械连接,而可以包括电气连接,无论是直接连接还是间接连接。在本申请中所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。通常情况下,字符“/”表示前后关联的对象是一种“或”的关系。在本申请中所涉及的术语“第一”、“第二”、“第三”等,只是对相似对象进行区分,并不代表针对对象的特定排序。
在本实施例中提供的方法实施例可以在终端、计算机或者类似的运算装置中执行。比如在终端上运行,图1是本实施例的语言模型轻量化方法的终端的硬件结构框图。如图1所示,终端可以包括一个或多个(图1中仅示出一个)处理器102和用于存储数据的存储器104,其中,处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置。上述终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述终端的结构造成限制。例如,终端还可以包括比图1中所示更多或者更少的组件,或者具有与图1所示出的不同配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如在本申请实施例提供的语言模型轻量化方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络包括终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(NetworkInterface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种语言模型轻量化方法,图2是本实施例的语言模型轻量化方法的流程图,如图2所示,该流程包括如下步骤:
步骤S210,对初始语言模型的注意力层的可学习参数进行聚类,得到初始语言模型的注意力层的可学习参数的分区。
在本步骤中,上述初始语言模型,可以是一个预训练好的通用语言模型,具体地,可以是N-gram语言模型、前馈神经网络语言模型、循环神经网络语言模型或GPT(Generative Pre-trained Transformer,生成式预训练模型)系列的语言模型中的一种。上述初始语言模型的注意力层(Attention层),可以是初始语言模型中用于从大量样本信息中筛选出高价值的信息特征的网络层。上述对初始语言模型的注意力层的可学习参数进行聚类的方式,可以包括划分式聚类方法、基于密度的聚类方法、层次化聚类方法等方法中的任一种。其中,利用划分式聚类方法对初始语言模型的注意力层的可学习参数进行聚类,具体可以利用K-Means算法(K均值聚类算法)、K-Means++算法(K均值聚类算法改进版)、Bi-Kmeans算法(Binary-Kmeans,二分Kmeans聚类算法)或其他的划分式聚类方法中的任一个算法对初始语言模型的注意力层的可学习参数进行聚类。利用基于密度的聚类方法对初始语言模型的注意力层的可学习参数进行聚类,具体可以利用 DBSCAN(Density-BasedSpatial Clustering of Applications with Noise,基于密度对噪声鲁棒的空间聚类算法)算法、 OPTICS(Ordering points toidentify the clustering structure,基于密度的聚类算法)算法或其他基于密度的聚类方法中的任一个算法对初始语言模型的注意力层的可学习参数进行聚类。利用层次化聚类方法对初始语言模型的注意力层的可学习参数进行聚类,具体可以利用聚合层次聚类算法、Divisive 层次聚类算法或其他层次化聚类方法对初始语言模型的注意力层的可学习参数进行聚类。
上述对初始语言模型的注意力层的可学习参数进行聚类,得到初始语言模型的注意力层的可学习参数的分区,可以是获取初始语言模型的注意力层的网络架构所对应的分块结果,利用K-Means算法对分块结果中的各个分块的头中的可学习参数进行聚类,得到各个分块的头中的可学习参数的分类结果,进而基于各个分块的头中的可学习参数的分类结果,得到初始语言模型的注意力层的可学习参数的分区。在本实施例中,可以利用K-Means算法对分块结果中的各个分块的头中的可学习参数进行聚类,聚类的簇数为K,则将初始语言模型的注意力层的可学习参数分为K个分区。本步骤通过对初始语言模型的注意力层的可学习参数进行聚类,得到初始语言模型的注意力层的可学习参数的分区,为后续通过可学习参数的各个分区确定剪裁方式,以及建立初始语言模型的注意力层的功能与分区的对应关系,提供了依据。
步骤S220,对各个分区进行组合,得到初始语言模型的注意力层的所有裁剪方式。
在本步骤中,上述对各个分区进行组合,可以是按照组合方式对分区进行组合。例如,聚类的簇数K为3,则初始语言模型的注意力层的可学习参数可以分为3个分区,假设这三个分区分别为:A区、B区和C区。按照组合方式,可以将这3个分区组合成7种情况:单独的A区、单独的B区、单独的C区、A区和B区的并集、A区和C区的并集、C区和B区的并集以及A区B区和C 区三个区的并集。上述初始语言模型的注意力层的裁剪方式,可以是剔除上述组合后的初始语言模型的注意力层的分区的参数,来达到对初始语言模型的注意力层的裁剪的效果。需要说明的是,若剔除初始语言模型的注意力层的所有参数,则对初始语言模型的注意力层的裁剪将无意义,所以,上述将3个分区组合成7种情况中,A区、B区和C 区三个区的并集这种情况,不属于初始语言模型的注意力层的裁剪方式。因此,若初始语言模型的注意力层的可学习参数的分为A区、B区和C区3个分区,则得到初始语言模型的注意力层的所有裁剪方式可以是单独裁剪A区的参数、单独裁剪B区的参数、单独裁剪C区的参数、裁剪A区和B区的所有参数、裁剪A区和C区的所有参数以及裁剪C区和B区的所有参数,六种裁剪方式。
步骤S230,基于初始语言模型的注意力层的各个功能在各个裁剪方式下的波动率,得到各个功能的对应分区。
其中,上述初始语言模型的注意力层的各个功能,可以是初始语言模型的注意力层在执行可执行的任务的过程中所体现的能力。具体地,因为神经网络的设计是受人脑工作机制的影响,而本申请所涉及的语言模型是以神经网络模型为基础,因此,可以参照人体脑部的功能,来划分初始语言模型的功能。进一步地,因为语言模型主要执行的任务可以分为推理类任务、生成类任务、总结类任务等,因此,本实施例中的初始语言模型的注意力层的各个功能,可以包括归纳总结能力、检索知识能力、逻辑推理能力、认知和语言能力。上述波动率,可以是对初始语言模型的注意力层进行裁剪,而导致的裁剪后的语言模型的不同功能在不同的任务下的性能的变化程度的度量。上述功能的对应分区,可以将对某个功能影响最大的初始语言模型的注意力层的参数的分区,作为这个功能的对应分区,具体地,将各个功能的波动率最大的情况下的裁剪方式所对应的分区,作为各个功能的对应分区。
上述基于初始语言模型的注意力层的各个功能在各个裁剪方式下的波动率,得到各个功能的对应分区,可以是基于初始语言模型的注意力层的各个功能的预设的评分标准,计算初始语言模型的注意力层的各个功能在各个裁剪方式下的波动率,进而,将各个功能的波动率最大的情况下的裁剪方式所对应的分区,作为各个功能的对应分区。例如。初始语言模型的注意力层的归纳总结能力在单独裁剪A区的参数的裁剪方式下的波动率为10%,在单独裁剪B区的参数的裁剪方式下的波动率为10%,在单独裁剪C区的参数的裁剪方式下的波动率为60%,在裁剪A区和B区的所有参数的裁剪方式下的波动率为70%,在裁剪A区和C区的所有参数的裁剪方式下的波动率为90%,在裁剪C区和B区的所有参数的裁剪方式下的波动率为10%,则,在裁剪A区和C区的所有参数的裁剪方式下的初始语言模型的注意力层的归纳总结能力的波动率最大,则初始语言模型的注意力层的归纳总结能力的对应分区为A区和C区。
其中,初始语言模型的注意力层的各个功能的预设的评分标准,具体可以包括初始语言模型的注意力层的归纳总结能力的评分标准、检索知识能力的评分标准、逻辑推理能力的评分标准以及认知和语言能力的评分标准。
上述归纳总结能力的评分标准,可以利用已知文章的正文和摘要数据,对初始语言模型的注意力层的归纳总结能力进行衡量,具体地,可以选择公共数据集,例如NLPCC2017,进而将公共数据集中的正文输入到初始语言模型,通过初始语言模型,得到与公共数据集中的正文所对应的输出内容,将输出内容与公共数据集中的正文所对应的摘要进行比较,利用ROUGE-L(自动文摘评测方法)方法,对初始语言模型的注意力层的归纳总结能力进行评分。上述ROUGE-L方法,可以是基于最长公共子序列来评价摘要的准确率,当通过初始语言模型输出的内容和公共数据集中的正文所对应的摘要的最长公共子序列越长时,则认为初始语言模型输出的内容越准确,则初始语言模型的注意力层的归纳总结能力的评分越高。
上述检索知识能力的评分标准,可以将初始语言模型对一段话的关键字的提取能力作为初始语言模型的注意力层的检索知识能力的衡量标准。具体地,可以选择公共数据集中的论文,例如,可以选择SemEval 2017 Task 10中的500篇计算机科学、材料科学和物理学等领域的论文,来进行初始语言模型的注意力层的检索知识能力的评分。其中,每篇论文包括论文的正文信息和初始关键词列表信息。将每篇论文的正文输入到初始语言模型,输出初始语言模型的注意力层所得到的与输入信息所对应的关键词列表信息,进而根据初始语言模型输出的关键词列表信息,以及论文的初始关键词列表信息,得到初始语言模型的注意力层的检索知识能力的得分。其中,根据初始语言模型输出的关键词列表信息,以及论文的初始关键词列表信息,得到初始语言模型的注意力层的检索知识能力的得分,可以是利用初始语言模型输出的关键词列表信息与初始关键词列表信息中重合的关键字的个数,除以初始语言模型输出的关键词列表信息中关键词的总个数,得到初始语言模型的预估准确率。进而,利用初始语言模型的预估准确率来衡量初始语言模型的注意力层的检索知识能力的得分的高低。当初始语言模型的预估准确率越高,则初始语言模型的注意力层的检索知识能力的得分越高;当初始语言模型的预估准确率越低,则初始语言模型的注意力层的检索知识能力的得分越低。例如,可以将初始语言模型的预估准确率达到70%的情况,作为初始语言模型的注意力层的检索知识能力准确的衡量标准,500篇论文中,初始语言模型的预估准确率达到70%的论文的数量为300篇,则初始语言模型的注意力层的检索知识能力得分可以是:300÷500×100=60分。
上述逻辑推理能力的评分标准,可以将初始语言模型对理科数学题目的解答能力作为初始语言模型的注意力层的逻辑推理能力的衡量标准。具体地,可以选择公共数据集,例如C-Eval数据集,可以任选公共数据集中的100道高等数学题目和离散数学题目,初始语言模型做对一道得到1分,初始语言模型作对的题目的个数,即为初始语言模型的注意力层的逻辑推理能力的得分。
上述认知和语言能力的评分标准,可以将初始语言模型对文科题目的解答能力作为初始语言模型的注意力层的认知和语言能力的衡量标准。具体地,可以选择公共数据集,例如C-Eval数据集,可以任选公共数据集中的100道高中语文题目和中国语言文学题目,初始语言模型做对一道得到1分,初始语言模型作对的题目的个数,即为初始语言模型的注意力层的认知和语言能力的得分。
上述基于初始语言模型的注意力层的各个功能的预设的评分标准,计算初始语言模型的注意力层的各个功能在各个裁剪方式下的波动率,可以是基于初始语言模型的注意力层的各个功能的预设的评分标准,计算初始语言模型的注意力层的各个功能的裁剪前分数,以及初始语言模型的注意力层的各个功能在各个裁剪方式下的裁剪后分数,进而计算初始语言模型的注意力层的各个功能在各个裁剪方式下的裁剪前分数减去裁剪后分数的差,与裁剪前分数的比值,得到初始语言模型的注意力层的各个功能在裁剪方式下的波动率。例如,初始语言模型的注意力层的归纳总结能力的裁剪前分数为50分,检索知识能力的裁剪前分数为60分,逻辑推理能力的裁剪前分数为80分,认知和语言能力的裁剪前分数为80分,对初始语言模型进行单独裁剪A区的参数的裁剪方式,此时利用初始语言模型的注意力层的各个功能的预设的评分标准,计算得到裁剪后的语言模型的注意力层的归纳总结能力的裁剪前分数为10分,检索知识能力的裁剪前分数为50分,逻辑推理能力的裁剪前分数为60分,认知和语言能力的裁剪前分数为40分,可以计算初始语言模型的注意力层的归纳总结能力在单独裁剪A区的参数的裁剪方式下的波动率为:,检索知识能力在单独裁剪A区的参数的裁剪方式下的波动率为:/>,逻辑推理能力在单独裁剪A区的参数的裁剪方式下的波动率为:/>,认知和语言能力在单独裁剪A区的参数的裁剪方式下的波动率为:/>。
需要说明的是,上述评分标准可以根据具体的使用需求去设置,不影响本申请的技术效果实现。
步骤S240,基于待处理的任务所对应的功能的对应分区中的可学习参数的重要性,剔除或量化与待处理的任务所对应的功能相关性低的可学习参数,得到待训练的语言模型的可学习参数。
在本步骤中,上述可学习参数的重要性,可以用待处理的任务所对应的功能的对应分区中的可学习参数的重要性分级结果来衡量,当待处理的任务所对应的功能的对应分区中的可学习参数的重要性分级结果低时,则待处理的任务所对应的功能的对应分区中的可学习参数的重要性低,当待处理的任务所对应的功能的对应分区中的可学习参数的重要性分级结果高时,则待处理的任务所对应的功能的对应分区中的可学习参数的重要性高。优选地,可以用可学习参数的绝对值,来衡量可学习参数的重要性,可学习参数的绝对值越大,则可学习参数越重要,可学习参数的绝对值越小,则可学习参数越不重要。上述与待处理的任务所对应的功能相关性低的可学习参数,可以是初始语言模型的注意力层中与待处理的任务不相关的功能的分区的可学习参数和待处理的任务所对应的功能的分区中重要性分级结果低的可学习参数。
上述基于待处理的任务所对应的功能的对应分区中的可学习参数的重要性,剔除或量化与待处理的任务所对应的功能相关性低的可学习参数,得到待训练的语言模型的可学习参数,可以是基于待处理的任务所对应的功能的对应分区中的可学习参数的重要性分级结果,剔除或量化初始语言模型的注意力层中与待处理的任务不相关的功能的分区的可学习参数和待处理的任务所对应的功能的分区中重要性分级结果低的可学习参数,得到待训练的语言模型的可学习参数。
本步骤通过剔除或量化与待处理的任务所对应的功能相关性低的可学习参数,保留与待处理的任务相关性高的可学习参数,实现对初始语言模型的注意力层的轻量化处理,进而能够提高模型的训练速度,减少模型训练过程中的计算资源的利用,实现模型训练过程中利用较少的计算资源。
步骤S250,基于待训练的语言模型的可学习参数,利用梯度下降法对可学习参数进行训练,直到收敛,得到完备的轻量化语言模型。
本步骤将保留的与待处理的任务相关性高的可学习参数,作为待训练的语言模型的可学习参数,并利用梯度下降法对可学习参数进行训练,得到完备的轻量化语言模型,能够保证利用完备的轻量化语言模型执行待处理的任务的精度,解决了现有的语言模型无法利用较少的计算资源来实现高精度的任务处理的问题。
上述步骤S210至步骤S250,通过对初始语言模型的注意力层的可学习参数进行聚类,得到初始语言模型的注意力层的可学习参数的分区,然后通过对各个分区进行组合,得到初始语言模型的注意力层的所有裁剪方式,进而通过计算得到初始语言模型的注意力层的各个功能在各个裁剪方式下的波动率,得到各个功能的对应分区。并根据待处理的任务所对应的功能,以及各个功能的对应分区中的可学习参数的重要性,剔除或量化待处理的任务所对应的功能相关性低的可学习参数,对初始语言模型的注意力层进行轻量化处理,得到待训练的语言模型的初始模型可学习参数。其通过计算得到与待处理的任务相关性低的可学习参数,进而剔除或量化与待处理的任务相关性低的可学习参数,保留与待处理的任务相关性高的可学习参数,实现对初始语言模型的注意力层的轻量化处理,进而能够提高模型的训练速度,减少模型训练过程中的计算资源的利用,实现模型训练过程中利用较少的计算资源。另外,对与待处理的任务相关性高的可学习参数进行训练,得到完备的轻量化语言模型,能够保证利用完备的轻量化语言模型执行待处理的任务的精度,解决了现有的语言模型无法利用较少的计算资源来实现高精度的任务处理的问题。
在一个实施例中,基于上述步骤S210,对初始语言模型的注意力层的可学习参数进行聚类,得到初始语言模型的注意力层的可学习参数的分区,包括以下步骤:
步骤S212,获取初始语言模型的注意力层的网络架构所对应的分块结果。
上述获取初始语言模型的注意力层的网络架构所对应的分块结果,可以是根据初始语言模型的网络架构,获取初始语言模型的网络架构所对应的分块结果,进而得到初始语言模型的注意力层的网络架构所对应的分块结果。例如,根据GPT-2(Generative Pre-trained Transformers-2 ,第二代通用预训练模型)语言模型的网络架构,可以分为嵌入层(embedding层)、多层感知层(Multilayer Perceptron,MLP层)、注意力层(Attention层),其中,多层感知层和注意力层结合在一起,形成一个新的模块,进而可以根据网络架构将新的模块中的参数分为48块,每一块中都包括注意力层,进而可以得到初始语言模型的注意力层的网络架构所对应的分块结果。其中,每一块的注意力层都包括n个头,n为大于1的正整数,每个头都对应一个可学习参数向量,每个可学习向量都包括多个可学习参数。每一块的注意力层的头所对应的向量的集合,都可以形成这一块所对应的向量集合。
步骤S214,利用K-Means算法对分块结果中的各个分块的头中的可学习参数进行聚类,得到各个分块的头中的可学习参数的分类结果。
上述头中的可学习参数,可以是每个头所对应一个可学习参数向量中的可学习参数。上述利用K-Means算法对分块结果中的各个分块的头中的可学习参数进行聚类,具体地,可以首先从待聚类的可学习参数的分块所对应的向量集合中,随机选取K个向量作为初始的K个质心向量{u1,u2,……,uK},其中,K为正整数,ui表示第i个质心向量。进而将簇划分C初始化为:Ct=,其中, t=1,2,……,K,t表示第t个簇,/>表示一个空集。然后,计算向量集合中除初始质心向量以外的各个向量和各个质心向量之间的距离dij。具体地,可以利用欧式距离来计算dij:
其中,xi表示除初始质心向量以外的其余n-K个向量中的第i个向量,其中,i=1,2,……,n-K,uj表示第j个质心向量,dij表示除初始质心向量以外的其余n-K个向量中的第i个向量与第j个质心向量之间的距离。
进而,得到初始质心向量以外的其余n-K个向量中的向量与质心向量之间的最小的距离的情况下的非质心向量Xi所对应的簇λi,基于λi来更新簇的划分,具体的新的簇的划分公式为:
进而,基于更新后的簇来计算新的质心向量,若更新后的簇的情况下K个质心向量与更新簇之前的质心向量均没有发生改变,则输出最终的簇划分C={C1,C2,……,CK}。若更新后的簇的情况下K个质心向量与更新簇之前的质心向量发生改变,则重复计算其余向量与当前质心向量之间的距离,重新划分簇,然后判断质心向量是否发生变化,则重复该步骤直至N次,所述N为设定的最大划分次数,输出最终的簇的划分结果。
上述各个分块的头中的可学习参数的分类结果,可以是各个分块的头中的可学习参数具体划分到哪个簇。
步骤S216,基于各个分块的头中的可学习参数的分类结果,得到初始语言模型的注意力层的可学习参数的分区。
上述基于各个分块的头中的可学习参数的分类结果,得到初始语言模型的注意力层的可学习参数的分区,可以是根据K个簇,将初始语言模型的注意力层的可学习参数划分到K个分区中,得到初始语言模型的注意力层的每个可学习参数的分区。
上述步骤S212至步骤S216,通过获取初始语言模型的注意力层的网络架构所对应的分块结果,进而利用K-Means算法对分块结果中的各个分块的头中的可学习参数进行聚类,得到各个分块的头中的可学习参数的分类结果,进而基于各个分块的头中的可学习参数的分类结果,得到初始语言模型的注意力层的可学习参数的分区,为后续通过可学习参数的各个分区确定剪裁方式,以及建立初始语言模型的注意力层的功能与分区的对应关系,提供了依据。
在一个实施例中,在步骤S240之前,所述语言模型轻量化方法还包括:基于接收到的待处理的任务,确定待处理的任务所对应的功能。
本步骤通过对待处理的任务进行分析,确定执行待处理的任务需要哪些功能,为进一步根据待处理任务所对应的功能,进行初始语言模型的轻量化处理提供了依据。
在一个实施例中,在步骤S240之前,所述语言模型轻量化方法还包括:利用预设的可学习参数重要性分级方法,对各个功能的对应分区中的可学习参数进行重要性分级,得到各个功能的对应分区中的可学习参数的重要性分级结果。
在本步骤中,上述预设的可学习参数重要性分级方法,可以是根据可学习参数的绝对值大小进行可学习参数重要性分级的方法,还可以是根据可学习参数的相似参数的数量进行可学习参数重要性分级的方法。具体地,可以将可学习参数的绝对值越大,认定为可学习参数的重要性等级越高,将可学习参数的绝对值越小,认定为可学习参数的重要性等级越低;可以将可学习参数的相似参数的数量越少,认定为可学习参数的重要性等级越高,将可学习参数的相似参数的数量越多,认定为可学习参数的重要性等级越低。本步骤利用预设的可学习参数重要性分级方法,对各个功能的对应分区中的可学习参数进行重要性分级,为后续根据可学习参数的重要性进行初始语言模型的轻量化处理提供了依据。需要说明的是,上述重要性分级方法,可以根据具体的使用需求去设置,不影响本申请的技术效果实现。
下面通过优选实施例对本实施例进行描述和说明。
图3是本申请一优选实施例提供的语言模型轻量化方法的流程图。如图3所示,该语言模型轻量化方法包括以下步骤:
步骤S310,对初始语言模型的注意力层的可学习参数进行聚类,得到初始语言模型的注意力层的可学习参数的分区;
步骤S320,对各个分区进行组合,得到初始语言模型的注意力层的所有裁剪方式;
步骤S330,基于初始语言模型的注意力层的各个功能的预设的评分标准,计算初始语言模型的注意力层的各个功能在各个裁剪方式下的波动率;
步骤S340,将各个功能的波动率最大的情况下的裁剪方式所对应的分区,作为各个功能的对应分区;
步骤S350,利用预设的可学习参数重要性分级方法,对各个功能的对应分区中的可学习参数进行重要性分级,得到各个功能的对应分区中的可学习参数的重要性分级结果;
步骤S360,基于待处理的任务所对应的功能的对应分区中的可学习参数的重要性,剔除或量化与待处理的任务所对应的功能相关性低的可学习参数,得到待训练的语言模型的可学习参数;
步骤S370,基于待训练的语言模型的可学习参数,利用梯度下降法对可学习参数进行训练,直到收敛,得到完备的轻量化语言模型。
上述步骤S310至步骤S370,通过对初始语言模型的注意力层的可学习参数进行聚类,得到初始语言模型的注意力层的可学习参数的分区,然后通过对各个分区进行组合,得到初始语言模型的注意力层的所有裁剪方式,进而通过计算得到初始语言模型的注意力层的各个功能在各个裁剪方式下的波动率,得到各个功能的对应分区。并根据待处理的任务所对应的功能,以及各个功能的对应分区中的可学习参数的重要性,剔除或量化待处理的任务所对应的功能相关性低的可学习参数,对初始语言模型的注意力层进行轻量化处理,得到待训练的语言模型的初始模型可学习参数。其通过计算得到与待处理的任务相关性低的可学习参数,进而剔除或量化与待处理的任务相关性低的可学习参数,保留与待处理的任务相关性高的可学习参数,实现对初始语言模型的注意力层的轻量化处理,进而能够提高模型的训练速度,减少模型训练过程中的计算资源的利用,实现模型训练过程中利用较少的计算资源。另外,对与待处理的任务相关性高的可学习参数进行训练,得到完备的轻量化语言模型,能够保证利用完备的轻量化语言模型执行待处理的任务的精度,解决了现有的语言模型无法利用较少的计算资源来实现高精度的任务处理的问题。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,在本实施例中还提供了一种语言模型轻量化装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。以下所使用的术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管在以下实施例中所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
在一个实施例中,图4是本申请一实施例提供的语言模型轻量化装置的结构框图,如图4所示,该语言模型轻量化装置,包括:
聚类模块41,用于对初始语言模型的注意力层的可学习参数进行聚类,得到初始语言模型的注意力层的可学习参数的分区;
组合模块42,用于对各个分区进行组合,得到初始语言模型的注意力层的所有裁剪方式;
分区模块43,用于基于初始语言模型的注意力层的各个功能在各个裁剪方式下的波动率,得到各个功能的对应分区;
处理模块44,用于基于待处理的任务所对应的功能的对应分区中的可学习参数的重要性,剔除或量化待处理的任务所对应的功能相关性低的可学习参数,得到待训练的语言模型的可学习参数;
以及训练模块45,用于基于待训练的语言模型的可学习参数,利用梯度下降法对可学习参数进行训练,直到收敛,得到完备的轻量化语言模型。
上述语言模型轻量化装置,其通过对初始语言模型的注意力层的可学习参数进行聚类,得到初始语言模型的注意力层的可学习参数的分区,然后通过对各个分区进行组合,得到初始语言模型的注意力层的所有裁剪方式,进而通过计算得到初始语言模型的注意力层的各个功能在各个裁剪方式下的波动率,得到各个功能的对应分区。并根据待处理的任务所对应的功能,以及各个功能的对应分区中的可学习参数的重要性,剔除或量化待处理的任务所对应的功能相关性低的可学习参数,对初始语言模型的注意力层进行轻量化处理,得到待训练的语言模型的初始模型可学习参数。其通过计算得到与待处理的任务相关性低的可学习参数,进而剔除或量化与待处理的任务相关性低的可学习参数,保留与待处理的任务相关性高的可学习参数,实现对初始语言模型的注意力层的轻量化处理,进而能够提高模型的训练速度,减少模型训练过程中的计算资源的利用,实现模型训练过程中利用较少的计算资源。另外,对与待处理的任务相关性高的可学习参数进行训练,得到完备的轻量化语言模型,能够保证利用完备的轻量化语言模型执行待处理的任务的精度,解决了现有的语言模型无法利用较少的计算资源来实现高精度的任务处理的问题。
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述实施例中的任意一种语言模型轻量化方法。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中的任意一种语言模型轻量化方法。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random AccessMemory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种语言模型轻量化方法,其特征在于,所述方法包括:
对初始语言模型的注意力层的可学习参数进行聚类,得到所述初始语言模型的注意力层的可学习参数的分区;
对各个所述分区进行组合,得到所述初始语言模型的注意力层的所有裁剪方式;
基于所述初始语言模型的注意力层的各个功能在各个所述裁剪方式下的波动率,得到各个所述功能的对应分区;
基于待处理的任务所对应的功能的对应分区中的可学习参数的重要性,剔除或量化与所述待处理的任务所对应的功能相关性低的可学习参数,得到待训练的语言模型的可学习参数;
基于所述待训练的语言模型的所述可学习参数,利用梯度下降法对所述可学习参数进行训练,直到收敛,得到完备的轻量化语言模型。
2.根据权利要求1所述的语言模型轻量化方法,其特征在于,所述对初始语言模型的注意力层的可学习参数进行聚类,得到所述初始语言模型的注意力层的可学习参数的分区,包括:
获取所述初始语言模型的注意力层的网络架构所对应的分块结果;
利用K-Means算法对所述分块结果中的各个分块的头中的可学习参数进行聚类,得到各个所述分块的头中的所述可学习参数的分类结果;
基于各个所述分块的头中的所述可学习参数的所述分类结果,得到所述初始语言模型的注意力层的所述可学习参数的分区。
3.根据权利要求1所述的语言模型轻量化方法,其特征在于,所述基于所述初始语言模型的注意力层的各个功能在各个所述裁剪方式下的波动率,得到各个所述功能的对应分区,包括:
基于所述初始语言模型的注意力层的各个所述功能的预设的评分标准,计算所述初始语言模型的注意力层的各个所述功能在各个所述裁剪方式下的所述波动率;
将各个所述功能的波动率最大的情况下的所述裁剪方式所对应的分区,作为各个所述功能的对应分区。
4.根据权利要求3所述的语言模型轻量化方法,其特征在于,所述基于所述初始语言模型的注意力层的各个所述功能的预设的评分标准,计算所述初始语言模型的注意力层的各个所述功能在各个所述裁剪方式下的所述波动率,包括:
基于所述初始语言模型的注意力层的各个所述功能的预设的所述评分标准,计算所述初始语言模型的注意力层的各个所述功能的裁剪前分数,以及所述初始语言模型的注意力层的各个所述功能在各个所述裁剪方式下的裁剪后分数;
计算所述初始语言模型的注意力层的各个所述功能在各个所述裁剪方式下的所述裁剪前分数减去所述裁剪后分数的差,与所述裁剪前分数的比值,得到所述初始语言模型的注意力层的各个所述功能在所述裁剪方式下的所述波动率。
5.根据权利要求1所述的语言模型轻量化方法,其特征在于,在基于待处理的任务所对应的功能的对应分区中的可学习参数的重要性,剔除或量化与所述待处理的任务所对应的功能相关性低的可学习参数,得到待训练的语言模型的可学习参数之前,所述方法还包括:
基于接收到的所述待处理的任务,确定所述待处理的任务所对应的所述功能。
6.根据权利要求1所述的语言模型轻量化方法,其特征在于,在基于待处理的任务所对应的功能的对应分区中的可学习参数的重要性,剔除或量化与所述待处理的任务所对应的功能相关性低的可学习参数,得到待训练的语言模型的可学习参数之前,所述方法还包括:
利用预设的可学习参数重要性分级方法,对各个所述功能的对应分区中的所述可学习参数进行重要性分级,得到各个所述功能的对应分区中的所述可学习参数的重要性分级结果。
7.根据权利要求1所述的语言模型轻量化方法,其特征在于,所述基于待处理的任务所对应的功能的对应分区中的可学习参数的重要性,剔除或量化与所述待处理的任务所对应的功能相关性低的可学习参数,得到待训练的语言模型的可学习参数,包括:
基于所述待处理的任务所对应的所述功能的对应分区中的所述可学习参数的重要性分级结果,剔除或量化所述初始语言模型的注意力层中与所述待处理的任务不相关的所述功能的分区的所述可学习参数和所述待处理的任务所对应的所述功能的分区中重要性分级结果低的可学习参数,得到所述待训练的语言模型的所述可学习参数。
8.一种语言模型轻量化装置,其特征在于,所述装置包括:
聚类模块,用于对初始语言模型的注意力层的可学习参数进行聚类,得到所述初始语言模型的注意力层的可学习参数的分区;
组合模块,用于对各个所述分区进行组合,得到所述初始语言模型的注意力层的所有裁剪方式;
分区模块,用于基于所述初始语言模型的注意力层的各个功能在各个所述裁剪方式下的波动率,得到各个所述功能的对应分区;
处理模块,用于基于待处理的任务所对应的功能的对应分区中的可学习参数的重要性,剔除或量化所述待处理的任务所对应的功能相关性低的可学习参数,得到待训练的语言模型的可学习参数;
以及训练模块,用于基于所述待训练的语言模型的所述可学习参数,利用梯度下降法对所述可学习参数进行训练,直到收敛,得到完备的轻量化语言模型。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至权利要求7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至权利要求7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311269260.4A CN116991986B (zh) | 2023-09-28 | 2023-09-28 | 一种语言模型轻量化方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311269260.4A CN116991986B (zh) | 2023-09-28 | 2023-09-28 | 一种语言模型轻量化方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116991986A CN116991986A (zh) | 2023-11-03 |
CN116991986B true CN116991986B (zh) | 2024-01-09 |
Family
ID=88521761
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311269260.4A Active CN116991986B (zh) | 2023-09-28 | 2023-09-28 | 一种语言模型轻量化方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116991986B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114781611A (zh) * | 2022-04-21 | 2022-07-22 | 润联软件系统(深圳)有限公司 | 自然语言处理方法、语言模型训练方法及其相关设备 |
KR20230093765A (ko) * | 2021-12-20 | 2023-06-27 | 연형석 | 코퍼스를 활용하여 사전 학습된 신경망을 이용한 자연어 처리 모델의 전이 학습 방법 |
CN116775807A (zh) * | 2023-06-02 | 2023-09-19 | 阿里云计算有限公司 | 自然语言处理、模型训练方法、设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230244869A1 (en) * | 2020-06-25 | 2023-08-03 | Kpn Innovations, Llc. | Systems and methods for classification of textual works |
-
2023
- 2023-09-28 CN CN202311269260.4A patent/CN116991986B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230093765A (ko) * | 2021-12-20 | 2023-06-27 | 연형석 | 코퍼스를 활용하여 사전 학습된 신경망을 이용한 자연어 처리 모델의 전이 학습 방법 |
CN114781611A (zh) * | 2022-04-21 | 2022-07-22 | 润联软件系统(深圳)有限公司 | 自然语言处理方法、语言模型训练方法及其相关设备 |
CN116775807A (zh) * | 2023-06-02 | 2023-09-19 | 阿里云计算有限公司 | 自然语言处理、模型训练方法、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
文本词向量与预训练语言模型研究;徐菲菲;冯东升;;上海电力大学学报(第04期);12-20 * |
Also Published As
Publication number | Publication date |
---|---|
CN116991986A (zh) | 2023-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Swaminathan et al. | Sparse low rank factorization for deep neural network compression | |
US10776685B2 (en) | Image retrieval method based on variable-length deep hash learning | |
CN110059181B (zh) | 面向大规模分类体系的短文本标签方法、系统、装置 | |
US10019442B2 (en) | Method and system for peer detection | |
CN109299341A (zh) | 一种基于字典学习的对抗跨模态检索方法和系统 | |
CN111667022A (zh) | 用户数据处理方法、装置、计算机设备和存储介质 | |
ES2964906T3 (es) | Representación semántica del contenido de una imagen | |
Smith et al. | Partitioning networks with node attributes by compressing information flow | |
Mohanapriya et al. | Comparative study between decision tree and knn of data mining classification technique | |
US20220277031A1 (en) | Guided exploration for conversational business intelligence | |
US20240086731A1 (en) | Knowledge-graph extrapolating method and system based on multi-layer perception | |
Lian et al. | Product quantized collaborative filtering | |
KR101467707B1 (ko) | 지식 베이스의 개체 매칭 방법 및 이를 위한 장치 | |
Shakibian et al. | Multi-kernel one class link prediction in heterogeneous complex networks | |
CN112800253B (zh) | 数据聚类方法、相关设备及存储介质 | |
CN112148994B (zh) | 信息推送效果评估方法、装置、电子设备及存储介质 | |
CN116991986B (zh) | 一种语言模型轻量化方法、装置、计算机设备和存储介质 | |
Terziev | Feature Generation using Ontologies during Induction of Decision Trees on Linked Data. | |
CN108898227A (zh) | 学习率计算方法及装置、分类模型计算方法及装置 | |
CN116010681A (zh) | 一种召回模型的训练及检索方法、装置及电子设备 | |
CN115600017A (zh) | 特征编码模型训练方法及装置、媒体对象推荐方法及装置 | |
CN116186297A (zh) | 一种基于图流形学习的文献关系发现方法及系统 | |
CN110968668B (zh) | 一种基于超网络的网络舆情主题相似度计算方法及装置 | |
CN114625886A (zh) | 基于知识图谱小样本关系学习模型的实体查询方法及系统 | |
Chen et al. | Community Detection Based on DeepWalk Model in Large‐Scale Networks |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |