一种大模型压缩方法及系统与流程

文档序号:37430850 发布日期:2024-03-25 19:23 阅读:8 来源:国知局
一种大模型压缩方法及系统与流程

本发明涉及模型压缩,特别是指一种大模型压缩方法及系统。


背景技术:

1、深度学习的模型通常参数具有高度的冗余性,且不同部分的参数对模型性能的贡献差异也非常大。大模型下的深度学习具有较高的准确性,但相对于硬件和环境要求,很多情况下大模型都无法满足运行、存储等方面的性能需求。而为了能够进行高效的深度学习,对于大模型通常采取的是压缩的形式来实现环境和性能的需求。

2、当前对于大模型的压缩方法也比较成熟,诸如剪枝压缩、参量化、知识蒸馏、霍夫曼编码等。因而对于大模型的压缩处理也比较成熟。但在针对大模型进行具体的压缩处理时,如何进行压缩方式的选择和压缩参数的合理设定确没有一个统一且合理的确定方式。

3、因此,设计一种大模型压缩方法及系统,通过合理的压缩方法组合和合理的压缩参数设置来提升大模型压缩的质量,是目前亟待解决的问题。


技术实现思路

1、本发明的目的在于提供一种大模型压缩方法,通过结合剪枝压缩和知识蒸馏的方式对大模型进行压缩,一方面先利用剪枝压缩的方式对大模型中可以进行剪枝的神经元和参数进行合理的剪枝,降低大模型的参数冗余,同时在剪枝压缩时进行微调剪枝,充分保证对剪枝后的模型准确性。另一方面,由于先进行剪枝后的模型具有更加明显的特征输出信息,利用知识蒸馏既能够将大模型进行进一步的压缩,也能够在充分进行特征提取的基础上保证模型的准确度。这里利用蒸馏压缩比来进行知识蒸馏,可以充分合理的进行压缩目标的控制,也能够做到压缩的合理化保证压缩的质量。

2、本发明的目的还在于提供一种大模型压缩系统,通过压缩统计单元实现对大模型压缩分析所需数据的统计,并分别利用剪枝压缩分析单元和剪枝压缩处理单元实现合理的剪枝压缩分析和对大模型的剪枝压缩处理。知识蒸馏处理单元则在剪枝压缩处理的基础上完成知识蒸馏压缩,形成合理且能够充分保证准确度的压缩模型。为结合剪枝压缩和知识蒸馏对大模型进行合理的压缩提供了重要的物质基础。

3、第一方面,本发明提供一种大模型压缩方法,包括对大模型进行基于重要性的剪枝分析,形成剪枝分析结果数据;根据剪枝分析结果数据对大模型进行剪枝压缩和微调剪枝,形成剪枝压缩模型;获取大模型的知识蒸馏压缩比,并对剪枝压缩模型进行基于知识蒸馏压缩比的知识蒸馏,形成目标压缩模型。

4、在本发明中,该方法通过结合剪枝压缩和知识蒸馏的方式对大模型进行压缩,一方面先利用剪枝压缩的方式对大模型中可以进行剪枝的神经元和参数进行合理的剪枝,降低大模型的参数冗余,同时在剪枝压缩时进行微调剪枝,充分保证对剪枝后的模型准确性。另一方面,由于先进行剪枝后的模型具有更加明显的特征输出信息,利用知识蒸馏既能够将大模型进行进一步的压缩,也能够在充分进行特征提取的基础上保证模型的准确度。这里利用蒸馏压缩比来进行知识蒸馏,可以充分合理的进行压缩目标的控制,也能够做到压缩的合理化保证压缩的质量。

5、作为一种可能的实现方式,对大模型进行基于重要性的剪枝分析,形成剪枝分析结果数据,包括:获取大模型中神经元的重要性信息,形成神经元重要剪枝信息,并基于神经元重要剪枝信息进行剪枝分析,形成神经元剪枝分析结果数据;获取大模型中参数的重要性信息,形成参数重要剪枝信息,并基于参数重要剪枝信息进行剪枝分析,形成参数剪枝分析结果数据。

6、在本发明中,剪枝压缩的方式多样,本发明采用的是对神经元和参数进行剪枝的组合方式,一方面通过对神经元进行剪枝可以保证剪枝后的模型还是规则的,并且对神经元进行剪枝由于网络层中一般直接定义的是神经元,所以在易于实现神经元的剪枝,同时也利于进行gpu加速处理。另一方面,在进行神经元的剪枝处理后模型的复杂度和冗余度得到较大的下降,这时在进行参数的剪枝压缩,相比一开始就进行参数的剪枝而言,既能够增加剪枝压缩作业的效率,也能够更有针对性的对模型进行压缩优化。

7、作为一种可能的实现方式,获取大模型中神经元的重要性信息,形成神经元重要剪枝信息,并基于神经元重要剪枝信息进行剪枝分析,形成神经元剪枝分析结果数据,包括:获取大模型中每个神经元在处理周期ti上输出的参数总量和输出为零的零参数量,其中,i表示大模型中神经元的编号;根据处理周期ti、参数总量以及零参数量,确定神经元的零参量输出频率比pi,其中,;根据零参量输出频率比pi进行基于压缩比的剪枝量分析,确定剪枝目标神经元;集合剪枝目标神经元,形成神经元剪枝分析结果数据。

8、在本发明中,在进行对大模型中的神经元进行剪枝分析时,主要是以神经元的重要程度来进行判断的。这里对于神经元的重要程度,通过确定神经元在处理周期上输出为零的频次来衡量的。毕竟对于经常输出为零的神经元,其处理所输出的数据对于模型整体的影响较小,因而并不影响模型的准确性。当然,对于不同的大模型下神经元输出为零的频次是否具有可以剪枝处理的合理性,还需要结合模型的具体情况进行分析处理,以保证对大模型下的输出零的频次较低的神经元的剪枝是合理的。

9、作为一种可能的实现方式,根据零参量输出频率比pi进行基于压缩比的剪枝量分析,确定剪枝目标神经元,包括:获取剪枝压缩比rprun,确定大模型中神经元的接近剪枝量s0,其中,;获取所有神经元对应的零参量输出频率比pi,并将零参量输出频率比pi按照由小到大的顺序进行排列,形成零参量频率集a;对零参量频率集a进行基于平均量的子集合划分,在每次完成子集合划分后将零参量输出频率比pi之和最小的子集合中的元素数量进行统计,形成最小频率集统计量,并进行以下判断:若对当次的最小频率集统计量不超过接近剪枝量s0,且在下一次的划分中最小频率集统计量超过接近剪枝量s0,则将当次的最小频率集统计量对应的子集合中的所有零参量输出频率比pi对应的神经元确定为剪枝目标神经元;若对当次的最小频率集统计量不超过接近剪枝量s0,且在下一次的划分中最小频率集统计量也不超过接近剪枝量s0,则继续进行下一次的子集合划分,直至在后续的划分充出现存在前一次划分所得的最小频率集统计量不超过接近剪枝量s0,且在相邻的后一次的划分中最小频率集统计量超过接近剪枝量s0,则将前一次划分中的最小频率集统计量对应的子集合中的所有零参量输出频率比pi对应的神经元确定为剪枝目标神经元。

10、在本发明中,提供一种针对大模型具体情况的神经元剪枝的数量和神经元对象的确定方式。对于剪枝压缩比可以是根据实际需要的认为设定,也可以是结合大模型具体情况的合理分析确定。为了保证大模型能够达到剪枝压缩比所确定的剪枝压缩模型目标。就需要保证神经元的剪枝量与剪枝压缩比相匹配。考虑神经元对模型的影响是以其输出为零的频率的大小来决定的,所以在进行对神经元剪枝的选择时,就应该按照先从频率最小的神经元进行。所以在进行目标神经元的确定是,对神经元进行基于频率的排序后再根据剪枝压缩比所提供的剪枝参考量来进行分析。可以理解的是,本发明的剪枝压缩包括神经元剪枝和参数剪枝,如果在神经元的剪枝上直接将神经元的数量确定到超过剪枝压缩比例所确定的剪枝参考量上,那么后续再进行参数的剪枝会使模型的缩减量超过预设的缩减量,这样虽然能够进一步优化模型的占用量,但会导致数据的不合理丢失,所以这里在进行目标剪枝神经元的数量确定时,是以小于剪枝压缩比所确定的剪枝量来进行判断的。当然,在尽可能多的情况下使剪枝神经元的数量接近剪枝压缩比所设定的剪枝量。

11、作为一种可能的实现方式,对零参量频率集a进行基于平均量的子集合划分,包括:对零参量频率集a按照零参量输出频率比pi由小到大的顺序进行依次的提取,形成提取子集a1和被提取子集a2,且在每次将被提取子集a2中的元素提取到提取子集a1后,确定提取子集a1和被提取子集a2的平均零参量输出频率比差值,将平均零参量输出频率比差值最大的划分方式下对应的提取子集a1作为下一次进行子集合划分的目标集合,并记录提取子集a1中的元素数量,其中,k为提取子集a1中的元素数量,1≤k<i,表示被提取子集a2中所有零参量输出频率比pi的平均值与提取子集a1中所有零参量输出频率比pi的平均值之差的绝对值;每次获取提取子集a1进行以平均零参量输出频率比差值最大为子集合划分选择方式的子集合划分,并确定目标集合和目标集合中的元素数量。

12、在本发明中,采用二分法的方式进行对神经元的筛选,这里是以拆分出的两个集合中每个集合里所有频率的平均数进行差量对比来确定的。可以理解,依次进行神经元的提取组合两个集合,如果两个集合之间的平均值最大,那可以确定两个神经元集合中的神经元可能属于不同的类,进而也表明两个集合中的神经元对模型的影响作用的大小差距是十分明显的。

13、作为一种可能的实现方式,获取大模型中参数的重要性信息,形成参数重要剪枝信息,并基于参数重要剪枝信息进行剪枝分析,形成参数剪枝分析结果数据,包括:根据剪枝目标神经元,将大模型中剩余的神经元确定为压缩神经元;对每个神经元上的参数的绝对值进行获取,形成神经元参数参考值,其中,v表示压缩神经元的编号,u表示编号为v的压缩神经元上参数的编号;设定参数剪枝参考阈值n0,并进行以下参数剪枝的分析:若神经元参数参考值,则将对应的神经元参数标定为保留参数;若神经元参数参考值,则将对应的神经元参数标定为剪枝参数;集合所有剪枝参数,形成参数剪枝分析结果数据。

14、在本发明中,参数剪枝主要是对神经元上影输出较小的参数进行权重的零值化,这里,零值化可以避免直接剪枝造成带来的不规则,也能够实现一定的压缩。配合神经元剪枝,对剪枝压缩进行合理的压缩补充。

15、作为一种可能的实现方式,根据剪枝分析结果数据对大模型进行剪枝压缩和微调剪枝,形成剪枝压缩模型,包括:根据神经元剪枝分析结果数据,按照零参量输出频率比pi由小到大的顺序对神经元进行剪枝,并在剪枝后对大模型进行微调剪枝,形成神经元剪枝模型;根据参数剪枝分析结果数据,将神经元剪枝模型中的剪枝参数依次进行权重置零,并在每次置零后进行微调剪枝,形成剪枝压缩模型。

16、在本发明中,在进行剪枝压缩处理时,按照先进行神经元剪枝再进行参数剪枝的方式进行。在每次进行剪枝后对模型进行微调剪枝,避免造成模型准确度下降的情况。

17、作为一种可能的实现方式,获取大模型的知识蒸馏压缩比,并对剪枝压缩模型进行基于知识蒸馏压缩比的知识蒸馏,形成目标压缩模型,包括:获取知识蒸馏压缩比,确定温度系数tlable;根据知识蒸馏压缩比和温度系数tlable对剪枝压缩模型进行压缩,形成目标压缩模型。

18、在本发明中,使用剪枝压缩对大模型进行处理后,所形成的模型由于去除了对准确性没有重要或者较大影响的神经元和参数,使得模型在知识蒸馏中提供了额外的正则化。形成更加合理有效的压缩模型,有效确保了模型的质量。

19、作为一种可能的实现方式,获取知识蒸馏压缩比,确定温度系数tlable,包括:获取知识蒸馏压缩比w,确定温度系数。

20、在本发明中,知识蒸馏过程中进行标签平滑时,温度系数控制着蒸馏到学生模型后形成的类所具有的差异性的大小。这里考虑根据知识蒸馏压缩比来确定温度系数,可以充分在保证压缩模型实现压缩目标的同时,也能够形成较为合理的温度系数。毕竟对于知识蒸馏压缩比来说也是考虑模型的合理可压缩性来设定的,因而利用其形成的温度系数可以合理的保证模型的准确性和质量。

21、第二方面,本发明提供一种大模型压缩系统,应用于第一方面所说的一种大模型压缩方法,包括压缩统计单元,用于对大模型的神经元和参数进行统计;剪枝压缩分析单元,用于获取压缩统计单元统计的神经元和参数数据,并进行剪枝分析,形成剪枝分析结果数据;剪枝压缩处理单元,用于获取剪枝压缩分析单元形成的剪枝分析结果数据,对大模型进行剪枝压缩处理;知识蒸馏处理单元,用于获取剪枝压缩处理单元进行剪枝压缩后的剪枝压缩模型,进行知识蒸馏,形成目标压缩模型。

22、在本发明中,该系统通过压缩统计单元实现对大模型压缩分析所需数据的统计,并分别利用剪枝压缩分析单元和剪枝压缩处理单元实现合理的剪枝压缩分析和对大模型的剪枝压缩处理。知识蒸馏处理单元则在剪枝压缩处理的基础上完成知识蒸馏压缩,形成合理且能够充分保证准确度的压缩模型。为结合剪枝压缩和知识蒸馏对大模型进行合理的压缩提供了重要的物质基础。

23、本发明提供的一种大模型压缩方法及系统的有益效果有:

24、该方法通过结合剪枝压缩和知识蒸馏的方式对大模型进行压缩,一方面先利用剪枝压缩的方式对大模型中可以进行剪枝的神经元和参数进行合理的剪枝,降低大模型的参数冗余,同时在剪枝压缩时进行微调剪枝,充分保证对剪枝后的模型准确性。另一方面,由于先进行剪枝后的模型具有更加明显的特征输出信息,利用知识蒸馏既能够将大模型进行进一步的压缩,也能够在充分进行特征提取的基础上保证模型的准确度。这里利用蒸馏压缩比来进行知识蒸馏,可以充分合理的进行压缩目标的控制,也能够做到压缩的合理化保证压缩的质量。

25、该系统通过压缩统计单元实现对大模型压缩分析所需数据的统计,并分别利用剪枝压缩分析单元和剪枝压缩处理单元实现合理的剪枝压缩分析和对大模型的剪枝压缩处理。知识蒸馏处理单元则在剪枝压缩处理的基础上完成知识蒸馏压缩,形成合理且能够充分保证准确度的压缩模型。为结合剪枝压缩和知识蒸馏对大模型进行合理的压缩提供了重要的物质基础。

当前第1页 1 2
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1