CN114037074A - 一种模型剪枝方法、装置、电子设备及存储介质 - Google Patents
一种模型剪枝方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114037074A CN114037074A CN202111322412.3A CN202111322412A CN114037074A CN 114037074 A CN114037074 A CN 114037074A CN 202111322412 A CN202111322412 A CN 202111322412A CN 114037074 A CN114037074 A CN 114037074A
- Authority
- CN
- China
- Prior art keywords
- pruning
- mask
- vector matrix
- layer
- head
- 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
- 238000013138 pruning Methods 0.000 title claims abstract description 124
- 238000000034 method Methods 0.000 title claims abstract description 46
- 239000011159 matrix material Substances 0.000 claims abstract description 147
- 239000013598 vector Substances 0.000 claims abstract description 139
- 230000000007 visual effect Effects 0.000 claims abstract description 34
- 238000004590 computer program Methods 0.000 claims abstract description 14
- 238000012545 processing Methods 0.000 claims description 18
- 238000009795 derivation Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 11
- 238000012549 training Methods 0.000 claims description 11
- 238000012935 Averaging Methods 0.000 claims description 9
- 238000010606 normalization Methods 0.000 claims description 7
- 238000000926 separation method Methods 0.000 claims description 5
- 230000008859 change Effects 0.000 claims description 2
- 239000000126 substance Substances 0.000 claims description 2
- 238000013135 deep learning Methods 0.000 abstract description 3
- 238000004364 calculation method Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- 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
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Probability & Statistics with Applications (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
本公开提供了一种模型剪枝方法、装置、电子设备、可读存储介质以及计算机程序产品,涉及计算机视觉、深度学习领域。具体实现方案为:根据目标子层输出的图像特征向量矩阵,确定所述目标子层中的多头自注意力模块对应的剪枝掩码,所述目标子层为视觉转换器模型的子层,所述剪枝掩码用于标识所述多头自注意力模块中待剪枝的自注意力头;利用所述剪枝掩码,对所述多头自注意力模块进行剪枝。该方案能够确定用于标识多头自注意力模块中待剪枝的自注意力头的剪枝掩码,并利用剪枝掩码,对视觉转换器模型的目标子层的多头自注意力模块进行自注意力头的剪枝。从而能够降低视觉转换器模型部署和运算所需要消耗的资源。
Description
技术领域
本公开涉及人工智能领域,具体涉及计算机视觉和深度学习技术,具体可用于计算机视觉、深度学习等场景。
背景技术
转换器(Transformer)模型是一种主要基于自注意力机制的深度神经网络模型,最初应用于自然语言处理(NLP,Natural Language Processing)。并且由于Transformer模型具有强大的表征能力,近年来Transformer模型在计算机视觉领域也得到了极大的发展。
相对于计算机视觉领域常用的基于CNN的模型而言,视觉转换器(VisionTransformer)模型的部署和运算,一般需要耗费巨大的资源。因此,如何降低VisionTransformer模型部署和运算所需要消耗的资源,已经成为Vision Transformer模型应用时亟需解决的问题。
发明内容
本公开提供了提供一种模型剪枝方法、装置、电子设备、可读存储介质以及计算机程序产品,以降低视觉转换器模型部署和运算所需要消耗的资源。
根据本公开的一方面,提供了一种模型剪枝方法,该方法可以包括以下步骤:
根据目标子层输出的图像特征向量矩阵,确定目标子层中的多头自注意力模块对应的剪枝掩码,目标子层为视觉转换器模型的子层,剪枝掩码用于标识多头自注意力模块中待剪枝的自注意力头;
利用剪枝掩码,对多头自注意力模块进行剪枝。
根据本公开的第二方面,提供了一种模型剪枝装置,该装置可以包括:
剪枝掩码确定单元,用于根据目标子层输出的图像特征向量矩阵,确定目标子层中的多头自注意力模块对应的剪枝掩码,目标子层为视觉转换器模型的子层,剪枝掩码用于标识多头自注意力模块中待剪枝的自注意力头;
模块剪枝单元,用于利用剪枝掩码,对多头自注意力模块进行剪枝。
根据本公开的另一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与该至少一个处理器通信连接的存储器;其中,
该存储器存储有可被该至少一个处理器执行的指令,该指令被该至少一个处理器执行,以使该至少一个处理器能够执行本公开任一实施例中的方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行本公开任一实施例中的方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现本公开任一实施例中的方法。
本公开的技术,能够确定用于标识多头自注意力模块中待剪枝的自注意力头的剪枝掩码,并利用剪枝掩码,对视觉转换器模型的目标子层的多头自注意力模块进行自注意力头的剪枝。从而能够降低视觉转换器模型部署和运算所需要消耗的资源。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1为本公开的实施例中提供一种模型剪枝方法的流程图;
图2本公开的实施例中提供的一种Vision Transformer模型结构示意图;
图3为本公开的实施例中提供的一种自注意头剪枝过程的示意图;
图4为本公开的实施例中提供的一种剪枝掩码确定方法的流程图;
图5为本公开的实施例提供一种模型剪枝装置的示意图;
图6为本公开的实施例提供的一种电子设备的示意图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本公开的实施例提供一种模型剪枝方法,具体请参照图1,其为本公开的实施例中提供一种模型剪枝方法的流程图。该方法可以包括以下步骤:
步骤S101:根据目标子层输出的图像特征向量矩阵,确定目标子层中的多头自注意力模块对应的剪枝掩码,目标子层为视觉转换器模型的子层,剪枝掩码用于标识多头自注意力模块中待剪枝的自注意力头。
步骤S102:利用剪枝掩码,对多头自注意力模块进行剪枝。
本公开的实施例提供的模型剪枝方法,能够确定用于标识多头自注意力模块中待剪枝的自注意力头的剪枝掩码,并利用剪枝掩码,对视觉转换器模型的目标子层的多头自注意力模块进行自注意力头的剪枝。从而能够降低视觉转换器模型部署和运算所需要消耗的资源。
对于Vision Transformer模型而言,该模型一般包括图像向量转换层、编码层和解码层(统称为Transformer Layer),编码层和解码层分别包括多个编码子层和解码子层。具体的,编码子层为视觉转换器模型的编码层中的子层,解码子层为视觉转换器模型的解码层中的子层。
本公开的实施例提供的模型剪枝方法针对的对象为该Vision Transformer模型中的任意一个或者多个编码子层和解码子层。也就是说,可以在多个编码子层和解码子层任意选择至少一个子层作为目标子层。具体的,可以按照预设的资源消耗,以及视觉转换器模型要求的模型输出的精确度,在多个编码子层和解码子层有选择的确定出目标子层。
以下结合图2,对于对多头自注意力模块中的自注意头进行剪枝,以降低视觉转换器模型部署和运算所需要消耗的资源的原理进行详细的说明。图2为本公开的实施例中提供的一种Vision Transformer模型结构示意图。需要说明的是,图2中仅示出了Visiontransformer模型中的图像向量转换层和多个编码子层。
图像向量转换层主要是对输入的图像做线性变换和/或像素压平排列,将输入的图像重塑成一个向量,并将该向量输入到编码层;编码层中每个编码子层都对应于一个编码器,该编码器依次由标准模块、多头注意力模块(Multi-Head Attention)、多层感知模块(MLP,也叫多层感知机,一般有两层)组成。
在实际使用场景中,一般将图像分成多个小块(patch),每个小块的分辨率相等。每个小块对应模型的一个输入位置,经过图像向量转换层之后,生成与小块个数相等的特征向量。然后该特征向量依次输入至进入多个编码子层,最后一个编码层输出的特征向量会被输入至分类器,然后得到分类结果。该分类结果可以是一个概率值,比如识别出该输入图像是一只狗的概率是90%,是一只猫的概率是10%。
对于某一编码子层而言,其同时处理多个patch计算量可以由公式(1)-(4)推导出来,具体地,公式(1)-(3)分别估算的是编码子层计算过程中三个主要步骤的计算量,公式(4)代表着整个编码子层的计算量。其中,N代表着输入patch的个数或输入特征向量的个数,D是一个嵌入维度的大小(embedding size/embedding dim),是训练过程中特征向量中头(head,也被称为自注意力头、单个自注意力计算头)的个数以及每个特征向量的维度(dim,也称为特征向量的长度)的乘积,[N,D]代表维度是(N,D)的矩阵,[D,D]代表维度是(D,D)的矩阵,[N,D]、[N,N]类似,此处不再赘述。
4×([N,D]×[D,D])=>4ND2——(1)
[N,D]×[D,N]+[N,N]×[N,D]=>2N2 D——(2)
[N,D]×[D,4D]+[N,4D]×[4D,D]=>8ND2——(3)
12ND2+2N2 D——(4)
由公式(1)-(4)可知,通过降低多头自注意模块中的自注意力头的数量,能够降低编码子层的计算量。并且对于多头自注意模块而言,重要性存在差异,例如,重要性较低的自注意力头关注的图像区域其实对最后的输出并没有用。因此,将重要性较低的的自注意力头剪枝,能够在确保输出的准确性的前提下,能够降低编码子层的计算量,进而能够降低视觉转换器模型部署和运算所需要消耗的资源。
另外,由公式(1)-(4)可知,对于压缩embedding dim(也被称为feature dim),也可降低视觉转换器模型部署和运算所需要消耗的资源。但对于多头自注意模块而言,每个自注意力头是有物理意义的,如果只对embedding(向量)维度进行降维,很有可能将信息比较丰富的自注意力头剪枝。因此,对视觉转换器模型的目标子层的多头自注意力模块进行自注意力头的剪枝,能够在降低视觉转换器模型部署和运算所需要消耗的资源的情况下,确保模型输出精准度。
为了能够精准的确定出要剪枝的自注意力头,本公开的实施例中具体采用如下方式来获得剪枝掩码,具体请参见图3,图3为本公开的实施例中提供的一种自注意头剪枝过程的示意图。
假设将一张图像分为9个patch,经过图像向量转换层对着9个patch进行线性映射或者压平操作(linear projection or flatten)后,生成9个token,假定token(标识)的size(规模)为384,token组成的矩阵维度为:[9,384]。将token输入到Transformer Layer,token在经过Transformer Layer后,矩阵维度不改变,直至到达最终的输出层。即,Transformer Layer输出对应的图像特征向量矩阵。在Transformer Layer i(第i子层)输出对应的图像特征向量矩阵后,即可针对图像特征向量矩阵,确定剪枝掩码,具体过程如下:
第一,在颜色通道维度对图像特征矩阵进行分离操作后得到第一向量矩阵。即,第一向量矩阵为在颜色通道维度对图像特征矩阵进行分离操作后得到的向量矩阵。具体的,图像特征向量矩阵的矩阵维度为[9,384],经过reshape(矩阵变换)变换成矩阵维度为[9,6,64]的向量矩阵,再经过split(分离)操作后得到两个矩阵维度为[9,6,32]的第一向量矩阵。具体的,图像特征向量矩阵[N,H,C]的N=9,H=6,C=32。其中,N代表着输入patch的个数或输入特征向量的个数,H代表多头自注意模块中的多注意力头的数目,C代表图像的颜色通道。
第二,对第一向量矩阵在颜色通道维度取均值,得到第二向量矩阵以及第三向量矩阵。具体的,针对两个特征向量矩阵执行取均值操作,得到两个矩阵维度为[6,32]的矩阵,分别为第二向量矩阵以及第三向量矩阵。
第三,对第二向量矩阵在多头自注意力模块对应的多头维度取均值,得到第四向量矩阵。即,对第二向量矩阵在多头维度取均值执行进一步的取均值操作,得到矩阵维度为[1,32]的第四向量矩阵,该第四向量矩阵全局为向量。
第四,对第四向量矩阵进行拓展操作得到第五向量矩阵。具体的,利用expand(扩展)操作得到矩阵维度为[6,32]的第五向量矩阵。其中,所谓扩展操作的具体实现方式可以为对矩阵维度为[1,32]的第四向量矩阵进行复制操作,得到矩阵维度为[6,32]的第五向量矩阵。
第五,将第三向量矩阵与具有相同维度的第五向量矩阵进行拼接,得到第六向量矩阵。具体的,将矩阵维度为[6,32]的第五向量矩阵与另一矩阵维度为[6,32]的第三向量矩阵进行拼接,得到矩阵维度为[6,64]的第六向量矩阵。所谓矩阵的拼接是指对行数相同的矩阵进行列合并(左右合并),对列数相同的矩阵进行行合并(上下合并)。例如对于矩阵a=np.array([1,2]),矩阵b=np.array([2,4]),进行左右合并a=np.hstack((a,b)),得到输出print(a)=[1,2,2,4]。
第六,在所述多头维度对第六向量矩阵进行线性变化,得到矩阵维度为二的第七向量矩阵。具体的,将第六向量矩阵输入到线性映射层(linear projection)得到矩阵维度为[6,2]的第七向量矩阵。
第七,基于第七向量矩阵,确定剪枝掩码。
本公开的实施例基于第七向量矩阵,确定剪枝掩码的具体实现方式参照图4,图4为本公开的实施例中提供的一种剪枝掩码确定方法的流程图。
步骤S401:对第七向量矩阵进行归一化处理,得到第七向量矩阵在不同维度的分布概率。
步骤S402:根据分布概率,将指定维度的向量作为剪枝掩码。
本公开的实施例中,根据分布概率,将指定维度的向量作为剪枝掩码,能够确保掩码矩阵准确的标识多头自注意力模块中待剪枝的自注意力头。
请再参照图3,本公开的实施例中,可以将矩阵维度为[6,2]的第七向量矩阵经过归一化子层(log-softmax层)获取2个维度的分布概率。其中,在多头维度的维度值为6(H=6),另一个维度的维度值为2。在得到分布概率后,可以针对第二维度的概率分布,使用argsort操作得到指定维度(如图3中下标为1)的向量作为剪枝掩码。
为了能够将重要性低的自注意力头剪枝,以在确保输出的准确性的前提下,降低目标子层的计算量,本公开的实施例中,在确定剪枝掩码后,可以将按照如下方式来对自注意力头进行剪枝,具体的:首先,确定剪枝掩码中的掩码值与多头自注意力模块中的自注意力头之间的对应关系。然后,在剪枝掩码中包括掩码值为零的掩码的情况下,基于对应关系,将掩码值为零的掩码对应的自注意力头进行剪枝。其中,掩码值与多头自注意力模块中的各个自注意力头一一对应。
具体的,在剪枝掩码为[1,0,1,1,1,1]的情况下,即将多头自注意力模块中的第二个自注意力头剪枝(将剪枝掩码与图像特征向量矩阵相乘)。如果剪枝掩码为[0,1,0,1,1,1],即将多头自注意力模块中的第一和三个自注意力头剪枝,而将其余的自注意力头保留。
为了能够方便、精准的确定剪枝掩码,本公开的实施例可以将图像特征向量矩阵输入到掩码推导模块中,得到剪枝掩码,掩码推导模块为在视觉转换器模型训练过程中同时训练的用于确定剪枝掩码的模块。
该掩码推导模块是在训练视觉转换器模型时同步进行训练的模块。具体的,视觉转换器模型的训练过程为:将样本图像以及对应的标注输入到待训练的视觉转换器模型,获得待训练的视觉转换器模型输出的结果。根据结果与标注对应的损失函数值,不断调整待训练的视觉转换器模型中的参数,直至训练次数满足预设次数,从而获得视觉转换器模型。
在待训练的视觉转换器模型训练阶段,掩码推导模块也在执行相应的步骤,掩码推导模块的参数也在不断地被调整。但是,在模型训练阶段,为了确保数据的一致性,不会对多头自注意力模块进行剪枝,而是会将掩码值为零的掩码对应的自注意力头的输出置零,如剪枝掩码为[0,1,0,1,1,1],即将多头自注意力模块中的第一和三个自注意力头的输出置零。
另外,在模型训练阶段,在得到分布概率后,并非针对第二维度的概率分布,使用argsort操作得到下标为1的向量作为剪枝掩码。而是先将第二维度的概率分布输入到Gumbel-softmax层,将该概率分布变成one-hot编码,再获取通道1上的向量作为剪枝掩码。
如图5所示,本公开的实施例提供一种模型剪枝装置,该装置包括:
剪枝掩码确定单元501,用于根据目标子层输出的图像特征向量矩阵,确定目标子层中的多头自注意力模块对应的剪枝掩码,目标子层为视觉转换器模型的子层,剪枝掩码用于标识多头自注意力模块中待剪枝的自注意力头;
模块剪枝单元502,用于利用剪枝掩码,对多头自注意力模块进行剪枝。
在一种实施方式中,剪枝掩码确定单元501,可以包括:
第一向量矩阵处理子单元,用于对图像特征向量矩阵对应的第一向量矩阵在颜色通道维度取均值,得到第二向量矩阵以及第三向量矩阵,第一向量矩阵为在颜色通道维度对图像特征矩阵进行分离操作后得到的向量矩阵;
第二向量矩阵处理子单元,用于对第二向量矩阵在多头自注意力模块对应的多头维度取均值,得到第四向量矩阵;
第三向量矩阵处理子单元,用于将第三向量矩阵与具有相同维度的第五向量矩阵进行拼接,得到第六向量矩阵,第五向量矩阵为对第四向量矩阵进行拓展操作得到的向量矩阵;
第四向量矩阵处理子单元,用于在所述多头维度对第六向量矩阵进行线性变化,得到矩阵维度为二的第七向量矩阵;
剪枝掩码确定子单元,用于基于第七向量矩阵,确定剪枝掩码。
在一种实施方式中,剪枝掩码确定子单元,可以包括:
矩阵归一化子单元,用于对第七向量矩阵进行归一化处理,得到第七向量矩阵的在不同维度的分布概率;
剪枝掩码获得子单元,用于根据分布概率,将指定维度的向量作为剪枝掩码。
在一种实施方式中,模块剪枝单元502,可以包括:
对应关系确定子单元,用于确定剪枝掩码中的掩码值与多头自注意力模块中的自注意力头之间的对应关系;
模块剪枝子单元,用于在剪枝掩码中包括掩码值为零的掩码的情况下,基于对应关系,将掩码值为零的掩码对应的自注意力头进行剪枝。
在一种实施方式中,剪枝掩码确定单元501,可以包括:
掩码推导模块子单元,用于将图像特征向量矩阵输入到掩码推导模块中,得到剪枝掩码,掩码推导模块为在视觉转换器模型训练过程中同时训练的用于确定剪枝掩码的模块。
在一种实施方式中,目标子层包括编码子层以及解码子层中的至少一个子层,编码子层为视觉转换器模型的编码层中的子层,解码子层为视觉转换器模型的解码层中的子层。
本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开实施例,本公开还提供了一种电子设备和一种可读存储介质。
图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,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理,例如模型剪枝方法。例如,在一些实施例中,模型剪枝方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序加载到RAM 603并由计算单元601执行时,可以执行上文描述的模型剪枝方法的一个或多个步骤。备选地,在其他实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行模型剪枝方法。
本文中以上描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上***的***(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程模型剪枝装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式***的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (15)
1.一种模型剪枝方法,包括:
根据目标子层输出的图像特征向量矩阵,确定所述目标子层中的多头自注意力模块对应的剪枝掩码,所述目标子层为视觉转换器模型的子层,所述剪枝掩码用于标识所述多头自注意力模块中待剪枝的自注意力头;
利用所述剪枝掩码,对所述多头自注意力模块进行剪枝。
2.根据权利要求1的方法,其中,所述根据目标子层输出的图像特征向量矩阵,确定所述目标子层中的多头自注意力模块对应的剪枝掩码,包括:
对所述图像特征向量矩阵对应的第一向量矩阵在颜色通道维度取均值,得到第二向量矩阵以及第三向量矩阵,所述第一向量矩阵为在颜色通道维度对所述图像特征矩阵进行分离操作得到的向量矩阵;
对所述第二向量矩阵在所述多头自注意力模块对应的多头维度取均值,得到第四向量矩阵;
将所述第三向量矩阵与具有相同维度的第五向量矩阵进行拼接,得到第六向量矩阵,所述第五向量矩阵为对所述第四向量矩阵进行拓展操作得到的向量矩阵;
在所述多头维度对所述第六向量矩阵进行线性变化,得到矩阵维度为二的第七向量矩阵;
基于所述第七向量矩阵,确定所述剪枝掩码。
3.根据权利要求2的方法,其中,所述基于所述第七向量矩阵,确定所述剪枝掩码,包括:
对所述第七向量矩阵进行归一化处理,得到第七向量矩阵的在不同维度的分布概率;
根据所述分布概率,将指定维度的向量作为所述剪枝掩码。
4.根据权利要求1至3任意一项所述的方法,其中,所述利用所述剪枝掩码,对所述多头自注意力模块进行剪枝,包括:
确定所述剪枝掩码中的掩码值与所述多头自注意力模块中的自注意力头之间的对应关系;
在所述剪枝掩码中包括掩码值为零的掩码的情况下,基于所述对应关系,将所述掩码值为零的掩码对应的所述自注意力头进行剪枝。
5.根据权利要求1的方法,其中,所述根据目标子层输出的图像特征向量矩阵,确定所述目标子层中的多头自注意力模块对应的剪枝掩码,包括:
将所述图像特征向量矩阵输入到掩码推导模块中,得到所述剪枝掩码,所述掩码推导模块为在所述视觉转换器模型训练过程中同时训练的用于确定所述剪枝掩码的模块。
6.根据权利要求1的方法,其中,所述目标子层包括编码子层以及解码子层中的至少一个子层,所述编码子层为所述视觉转换器模型的编码层中的子层,所述解码子层为所述视觉转换器模型的解码层中的子层。
7.一种模型剪枝装置,包括:
剪枝掩码确定单元,用于根据目标子层输出的图像特征向量矩阵,确定所述目标子层中的多头自注意力模块对应的剪枝掩码,所述目标子层为视觉转换器模型的子层,所述剪枝掩码用于标识所述多头自注意力模块中待剪枝的自注意力头;
模块剪枝单元,用于利用所述剪枝掩码,对所述多头自注意力模块进行剪枝。
8.根据权利要求7的装置,其中,所述剪枝掩码确定单元,包括:
第一向量矩阵处理子单元,用于对所述图像特征向量矩阵对应的第一向量矩阵在颜色通道维度取均值,得到第二向量矩阵以及第三向量矩阵,所述第一向量矩阵为在颜色通道维度对所述图像特征矩阵进行分离操作后得到的向量矩阵;
第二向量矩阵处理子单元,用于对所述第二向量矩阵在所述多头自注意力模块对应的多头维度取均值,得到第四向量矩阵;
第三向量矩阵处理子单元,用于将所述第三向量矩阵与具有相同维度的第五向量矩阵进行拼接,得到第六向量矩阵,所述第五向量矩阵为对所述第四向量矩阵进行拓展操作得到的向量矩阵;
第四向量矩阵处理子单元,用于在所述多头维度对所述第六向量矩阵进行线性变化,得到矩阵维度为二的第七向量矩阵;
剪枝掩码确定子单元,用于基于所述第七向量矩阵,确定所述剪枝掩码。
9.根据权利要求8的装置,其中,所述剪枝掩码确定子单元,包括:
矩阵归一化子单元,用于对所述第七向量矩阵进行归一化处理,得到第七向量矩阵的在不同维度的分布概率;
剪枝掩码获得子单元,用于根据所述分布概率,将指定维度的向量作为所述剪枝掩码。
10.根据权利要求7至9任意一项所述的装置,其中,所述模块剪枝单元,包括:
对应关系确定子单元,用于确定所述剪枝掩码中的掩码值与所述多头自注意力模块中的自注意力头之间的对应关系;
模块剪枝子单元,用于在所述剪枝掩码中包括掩码值为零的掩码的情况下,基于所述对应关系,将所述掩码值为零的掩码对应的所述自注意力头进行剪枝。
11.根据权利要求8的装置,其中,所述剪枝掩码确定单元,包括:
掩码推导模块子单元,用于将所述图像特征向量矩阵输入到掩码推导模块中,得到所述剪枝掩码,所述掩码推导模块为在所述视觉转换器模型训练过程中同时训练的用于确定所述剪枝掩码的模块。
12.根据权利要求7的装置,其中,所述目标子层包括编码子层以及解码子层中的至少一个子层,所述编码子层为所述视觉转换器模型的编码层中的子层,所述解码子层为所述视觉转换器模型的解码层中的子层。
13.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至6中任意一项所述的方法。
14.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行权利要求1至6中任意一项所述的方法。
15.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1至6所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111322412.3A CN114037074A (zh) | 2021-11-09 | 2021-11-09 | 一种模型剪枝方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111322412.3A CN114037074A (zh) | 2021-11-09 | 2021-11-09 | 一种模型剪枝方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114037074A true CN114037074A (zh) | 2022-02-11 |
Family
ID=80136971
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111322412.3A Pending CN114037074A (zh) | 2021-11-09 | 2021-11-09 | 一种模型剪枝方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114037074A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114819140A (zh) * | 2022-03-31 | 2022-07-29 | 支付宝(杭州)信息技术有限公司 | 模型剪枝方法、装置和计算机设备 |
CN115147669A (zh) * | 2022-06-24 | 2022-10-04 | 北京百度网讯科技有限公司 | 基于视觉转换器模型的图像处理方法、训练方法和设备 |
CN115170917A (zh) * | 2022-06-20 | 2022-10-11 | 美的集团(上海)有限公司 | 图像处理方法、电子设备及存储介质 |
CN116611477A (zh) * | 2023-05-31 | 2023-08-18 | 北京百度网讯科技有限公司 | 数据剪枝方法和序列模型的训练方法、装置、设备和介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021023202A1 (zh) * | 2019-08-07 | 2021-02-11 | 交叉信息核心技术研究院(西安)有限公司 | 一种卷积神经网络的自蒸馏训练方法、设备和可伸缩动态预测方法 |
US20210158206A1 (en) * | 2019-11-25 | 2021-05-27 | Sap Se | Attention mechanism for natural language processing |
CN112949840A (zh) * | 2021-04-20 | 2021-06-11 | 中国人民解放军国防科技大学 | 通道注意力引导的卷积神经网络动态通道剪枝方法和装置 |
CN113361575A (zh) * | 2021-05-28 | 2021-09-07 | 北京百度网讯科技有限公司 | 模型训练方法、装置和电子设备 |
-
2021
- 2021-11-09 CN CN202111322412.3A patent/CN114037074A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021023202A1 (zh) * | 2019-08-07 | 2021-02-11 | 交叉信息核心技术研究院(西安)有限公司 | 一种卷积神经网络的自蒸馏训练方法、设备和可伸缩动态预测方法 |
US20210158206A1 (en) * | 2019-11-25 | 2021-05-27 | Sap Se | Attention mechanism for natural language processing |
CN112949840A (zh) * | 2021-04-20 | 2021-06-11 | 中国人民解放军国防科技大学 | 通道注意力引导的卷积神经网络动态通道剪枝方法和装置 |
CN113361575A (zh) * | 2021-05-28 | 2021-09-07 | 北京百度网讯科技有限公司 | 模型训练方法、装置和电子设备 |
Non-Patent Citations (3)
Title |
---|
G. ROTH: "Registering two overlapping range images", SECOND INTERNATIONAL CONFERENCE ON 3-D DIGITAL IMAGING AND MODELING (CAT. NO.PR00062), 6 August 2002 (2002-08-06) * |
孙显;梁伟;刁文辉;曹志颖;冯瑛超;王冰;付琨;: "遥感边缘智能技术研究进展及挑战", 中国图象图形学报, no. 09, 16 September 2020 (2020-09-16) * |
邵伟平;王兴;曹昭睿;白帆;: "基于MobileNet与YOLOv3的轻量化卷积神经网络设计", 计算机应用, no. 1, 10 July 2020 (2020-07-10) * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114819140A (zh) * | 2022-03-31 | 2022-07-29 | 支付宝(杭州)信息技术有限公司 | 模型剪枝方法、装置和计算机设备 |
WO2023185209A1 (zh) * | 2022-03-31 | 2023-10-05 | 支付宝(杭州)信息技术有限公司 | 模型剪枝 |
CN115170917A (zh) * | 2022-06-20 | 2022-10-11 | 美的集团(上海)有限公司 | 图像处理方法、电子设备及存储介质 |
CN115170917B (zh) * | 2022-06-20 | 2023-11-07 | 美的集团(上海)有限公司 | 图像处理方法、电子设备及存储介质 |
CN115147669A (zh) * | 2022-06-24 | 2022-10-04 | 北京百度网讯科技有限公司 | 基于视觉转换器模型的图像处理方法、训练方法和设备 |
CN116611477A (zh) * | 2023-05-31 | 2023-08-18 | 北京百度网讯科技有限公司 | 数据剪枝方法和序列模型的训练方法、装置、设备和介质 |
CN116611477B (zh) * | 2023-05-31 | 2024-05-17 | 北京百度网讯科技有限公司 | 数据剪枝方法和序列模型的训练方法、装置、设备和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114037074A (zh) | 一种模型剪枝方法、装置、电子设备及存储介质 | |
JP2023541532A (ja) | テキスト検出モデルのトレーニング方法及び装置、テキスト検出方法及び装置、電子機器、記憶媒体並びにコンピュータプログラム | |
CN113901904A (zh) | 图像处理方法、人脸识别模型训练方法、装置及设备 | |
US20230162477A1 (en) | Method for training model based on knowledge distillation, and electronic device | |
CN113642583B (zh) | 用于文本检测的深度学习模型训练方法及文本检测方法 | |
CN113963176B (zh) | 一种模型蒸馏方法、装置、电子设备及存储介质 | |
US20220130495A1 (en) | Method and Device for Determining Correlation Between Drug and Target, and Electronic Device | |
CN114821063A (zh) | 语义分割模型的生成方法及装置、图像的处理方法 | |
CN114495102A (zh) | 文本识别方法、文本识别网络的训练方法及装置 | |
CN114202648B (zh) | 文本图像矫正方法、训练方法、装置、电子设备以及介质 | |
CN114861758A (zh) | 多模态数据处理方法、装置、电子设备及可读存储介质 | |
CN114494814A (zh) | 基于注意力的模型训练方法、装置及电子设备 | |
CN114821255A (zh) | 多模态特征的融合方法、装置、设备、介质和产品 | |
CN114596431A (zh) | 信息确定方法、装置及电子设备 | |
CN117746125A (zh) | 图像处理模型的训练方法、装置及电子设备 | |
CN113947700A (zh) | 模型确定方法、装置、电子设备和存储器 | |
CN113642654B (zh) | 图像特征的融合方法、装置、电子设备和存储介质 | |
CN116796287A (zh) | 图文理解模型的预训练方法、装置、设备及存储介质 | |
CN113554057B (zh) | 图的分割方法、装置及电子设备 | |
CN113239693B (zh) | 意图识别模型的训练方法、装置、设备及存储介质 | |
CN113610856A (zh) | 训练图像分割模型和图像分割的方法和装置 | |
CN114445682A (zh) | 训练模型的方法、装置、电子设备、存储介质及产品 | |
CN113971830A (zh) | 一种人脸识别方法、装置、存储介质及电子设备 | |
CN114724148A (zh) | 生成模型、提取特征的方法、装置、设备、介质及产品 | |
CN113947195A (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 |