首页 > 教程攻略 > ai资讯 >把大模型装进小设备:语音预训练模型的非结构化剪枝和矩阵分解

把大模型装进小设备:语音预训练模型的非结构化剪枝和矩阵分解

来源:互联网 时间:2026-08-26 14:01:19

近年来,语音识别技术随着人工智能的浪潮一路高歌猛进,其中自监督预训练的语音模型凭借强大的性能和鲁棒性,成了业界和学界的研究焦点。不过,这些模型参数动辄上亿,计算资源的消耗相当惊人,这直接限制了它们在很多实际场景——尤其是移动设备上的应用。

今天来聊聊清华大学语音与音频技术实验室(SATLab)一篇发表在信号处理领域旗舰期刊

IEEE Journal of Selected Topics in Signal Processing (JSTSP)

上的工作。他们提出了一种针对无监督预训练语音大模型的压缩新思路:把非结构化剪枝和截断奇异值分解结合起来,目标是实现

硬件通用性好、压缩损失小

的模型压缩。从实验结果看,这套方法在语音识别任务上的性能,大幅度优于蒸馏和结构化剪枝这些传统基线。

论文链接:https://doi.org/10.1109/JSTSP.2024.3433616

背景:非结构化与结构化剪枝

以HuBERT、Wa vLM为代表的无监督语音预训练模型,表征能力和稳健性确实没得说,只需要少量标注数据微调一下,就能在各类语音任务上取得不错的效果。但问题也很现实:参数量太大,很难塞进算力受限的可移动设备里。所以,给这类模型“瘦身”就成了一个非常关键的课题。

模型剪枝是压缩的主流方法之一。从原理上说,就是通过移除网络中那些不重要的参数,来削减参数量,从而减轻存储压力、加速计算。根据剪枝的最小单元不同,方法可以分成两类:非结构化剪枝和结构化剪枝。前者以单个参数为独立单元,后者则以连续的参数组——比如矩阵的行或列——为基本单元。

这两者各有取舍。非结构化剪枝的自由度更高,不容易“误伤”那些真正关键的核心参数,因此性能损失更小。但剪枝后得到的是稀疏矩阵,想加速计算,必须依赖特定的硬件或计算库,使用门槛比较高。结构化剪枝则相反,它直接让矩阵变小,硬件适配性很好,但性能损失往往也更明显。

为了平衡硬件适配性和压缩后模型的性能,这篇文章尝试了一个巧妙的办法:用

截断奇异值分解

,把非结构化稀疏矩阵转换成更小的稠密矩阵,并且通过核范数正则化、可学习奇异值分解等设计,实现了近乎无损的转换。

主要方法:结合剪枝和矩阵分解

非结构化剪枝得到的稀疏矩阵,有可能自带低秩特性。一些理论研究表明,矩阵的稀疏度会影响其秩的上界。

下图对比了HuBERT模型中注意力层和线性层矩阵在剪枝前后奇异值排布的变化。不难看出,剪枝之后,稀疏矩阵的奇异值整体下降了。从数学上分析,截断奇异值分解会得到一对较小的稠密矩阵,它们的乘积与原矩阵的误差正是被丢弃的奇异值之和。也就是说,对稀疏矩阵做截断奇异值分解,重构误差会更小,对性能的影响自然也更可控。

不过,低秩性并不是稀疏矩阵的必然属性——打个比方,对角矩阵极其稀疏,但同时也是满秩的。而且,非结构化剪枝模型里的矩阵,有些可能是低秩的,另一些却可能不是。

为了保证剪枝过程中低秩结构的存在,文章引入了

核范数正则化

,在性能与低秩性之间寻找平衡。同时,他们还设计了一种

可学习的奇异值选择策略

,让模型能根据每个矩阵的具体情况,自动选出最合适的SVD截断比例。整个方法的流程大致如下:

核范数正则化

核范数是矩阵秩的

最优凸近似

,定义就是矩阵奇异值之和。在实验过程中发现一个很有意思的现象:剪枝训练后期,随着模型稀疏度逐渐稳定,识别率在增强,但核范数却呈现上升趋势。

具体来看,训练末期,识别错误率随着网络从剪枝损失中恢复而下降,但核范数却在上升,说明矩阵的秩也在同时提高。

尽管充分训练的模型性能更好,但秩的上升会导致截断SVD的重构误差变大,这完全可能抵消掉训练带来的性能增益。因此,文章把矩阵的核范数作为

额外的正则化项

,通过限制核范数,让模型在学习过程中朝稀疏且低秩的结构靠拢。

另外,计算核范数需要进行奇异值分解,时间复杂度较高,所以团队采用了一种

近似快速算法

,把计算复杂度从矩阵维度的三次方降到了二次方,实用性强了不少。

可学习的奇异值选择策略

进行截断SVD时,给所有矩阵用同一个截断比例,显然不够合理。语音预训练模型层与层之间的差异很大,即使稀疏度相同,不同层的矩阵秩也可能不同。更甚之,同一层里,前馈层的矩阵和注意力层的矩阵,秩也可能差别很大。

从上图稀疏HuBERT模型中各层矩阵的奇异值分布也能看出,核范数在层间的分布并不均匀,意味着秩的差异同样不小。比如FFN层的矩阵,最顶层的秩比靠近输入的最底层低得多。

针对这个问题,文章为网络中每一个矩阵的每一个特征值单独设计了一个剪枝掩码,并通过额外的L0正则化项来优化这些掩码,最终学习出

每个矩阵的最优奇异值移除比例

实验结果概览

团队在四类不同任务上验证了方法的效果。下表对比了在语音识别、关键词检测、意图识别和说话人日志化这四项任务上,稀疏+分解方法相对于原始模型和非结构化剪枝模型的表现。

实验中,稀疏模型移除了80%的参数量,分解模型保留了10%的奇异值,两者的非零参数量相近。

结果显示,在所有任务上,提出的结合非结构化剪枝和矩阵分解的压缩方法,都达到了

接近甚至超过非结构化稀疏模型

的性能,说明这种方法可以

几乎无损地

把非结构化的稀疏模型,转换成硬件友好的压缩稠密模型。后续的消融实验也确认了,无论是去掉可学习的奇异值选择策略,还是去掉核范数正则化,都会导致性能明显下降。

与蒸馏和剪枝基线模型的对比中,团队选择了硬件适配性较好的蒸馏模型DistilHuBERT和结构化剪枝模型DPHuBERT。结果显示,在更复杂的ASR任务上,由于压缩损失更敏感,直接做知识蒸馏或结构化剪枝往往会带来更大的性能损失。而文章提出的方法从压缩损失更小的非结构化剪枝出发,利用截断奇异值分解完成几乎无损的转换,最终更好地保留了原始模型的识别性能。