0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

transformer模型详解:Transformer 模型的压缩方法

jf_pmFSk4VX 来源:GiantPandaCV 2023-07-17 10:50 次阅读

动机&背景

Transformer 模型在各种自然语言任务中取得了显著的成果,但内存和计算资源的瓶颈阻碍了其实用化部署。低秩近似和结构化剪枝是缓解这一瓶颈的主流方法。然而,作者通过分析发现,结构化剪枝在高稀疏率时往往不可避免地删除表达神经元,这将导致模型性能严重降低。低秩近似则旨在压缩表达神经元,它对于压缩神经元中的相干部分十分有效,其本质就是提取神经元共享相干子空间的公共基,该方法在 Transformer 结构上也遇到了困难,不同于 CNN,Transformer 模型的权重矩阵往往是满秩的,这导致低秩近似会破坏神经元的多样性,从而影响模型的表达能力。

为了解决结构化剪枝和低秩近似的局限性和困难,本文提出了一种新的模型压缩技术 LoSparse(Low-Rank and Sparse approximation),该技术通过低秩矩阵和稀疏矩阵的和来近似权重矩阵。这种复合近似将相干部分与神经元的非相干部分解耦。低秩近似压缩神经元中的连贯和表达部分,而修剪去除神经元中的不连贯和非表达部分。从这个意义上说,低秩近似可以防止剪枝过度去除表达神经元,而稀疏近似增强了低秩近似的多样性。

3. 方法:LoSparse

本文提出了一种 Transformer 模型的压缩方法——LoSparse。具体来说,LoSparse 通过低秩矩阵和稀疏矩阵的和来近似权重矩阵(如图 1 所示)。这两个近似的组合使得压缩方法更有效和稳定。

4a564b1a-23c8-11ee-962d-dac502259ad0.png图 1. LoSparse 在单个线性投影矩阵的示意图(两部分并行进行前向传递)

图 1. LoSparse 在单个线性投影矩阵的示意图(两部分并行进行前向传递)

3.1 低秩矩阵和稀疏矩阵的近似

给定一个权重矩阵 ,通常采用结构化剪枝稀疏矩阵 来近似 以进行压缩。然而,稀疏矩阵近似导致性能不佳,尤其是当压缩比率较高时。因此,本文引入了一个低秩矩阵来改进近似。具体来说,权重矩阵可以表示为:

其中 和 的乘积表示秩为 的低秩矩阵。

4a7a9e66-23c8-11ee-962d-dac502259ad0.png图 2. 语言模型的奇异值

图 2. 语言模型的奇异值

为什么需要低秩矩阵?首先,它可以有效地逼近神经元的相干部分。如图 2 所示,我们可以看到语言模型中权重矩阵的频谱在开始时迅速下降。这表明权重矩阵中的神经元有一个共同的子空间,可以看作是这些神经元的连贯部分。此外,公共子空间可以通过顶部奇异值的奇异向量来恢复。其次,低秩矩阵和稀疏矩阵的解耦使得剪枝变得容易。图 2 中的尾谱表示每个神经元跨越它们的单个子空间,可以表示这些神经元的非相干部分。由于这些子空间不共享,因此低秩近似无法捕获非相干部分。幸运的是,低秩矩阵能够将相干部分与神经元的非相干部分解耦。这使我们能够通过添加一个新的矩阵 来近似剩余的不连贯部分,然后修剪非表达不连贯的部分。图 3 表明,大多数不连贯的部分在解耦后具有较低的重要性分数,这有助于剪枝删除这些冗余参数

4ab4dde2-23c8-11ee-962d-dac502259ad0.png图3. 线性投影的神经元的重要性得分分布情况(ITP vs LoSparse)

图3. 线性投影的神经元的重要性得分分布情况(ITP vs LoSparse)

3.2 算法

给定一个预训练的权重矩阵 ,我们首先基于 的奇异值分解(SVD)初始化秩 的低秩矩阵。具体来说,本文选择:

在此基础上,我们可以初始化 为:

原始的前向传递()可替换为更高效的形式:

LoSparse 对模型的每个权重矩阵应用这样的分解,并将 表示为所有稀疏矩阵的集合。初始化后,本文对 进行迭代结构化剪枝。具体来说,在第 次迭代时,我们首先采用随机梯度下降更新 、 和 。重要性得分和迭代更新策略均采用标准设置(一阶泰勒评估重要性+三次时间表的迭代衰减策略)。具体算法见算法 1。

4aca28e6-23c8-11ee-962d-dac502259ad0.pngUntitled

4. 实验

自然语言理解:表 1 和 表 2 分别展示了 DeBERTaV3-base 和 BERT-base 模型上各个压缩方法在 GLUE 上的表现。LoSparse 表现出了远超其他方法的性能,与此同时,它还比其他方法更稳定,这是因为 LoSparse 方法中每个权重矩阵至少有一个低秩矩阵来保证连贯和表达神经元信息的不过分丢失。

4ae445a0-23c8-11ee-962d-dac502259ad0.png表 1. GLUE 验证集上 DeBERTaV3-base 的压缩结果(Ratio 表示剩余权重比例,N.A.表示模型不收敛,最佳结果以粗体显示)

表 1. GLUE 验证集上 DeBERTaV3-base 的压缩结果(Ratio 表示剩余权重比例,N.A.表示模型不收敛,最佳结果以粗体显示)

4af61d48-23c8-11ee-962d-dac502259ad0.png表 2. GLUE 验证集上 BERT-base 的压缩结果(Ratio 表示剩余权重比例,N.A.表示模型不收敛,最佳结果以粗体显示)

表 2. GLUE 验证集上 BERT-base 的压缩结果(Ratio 表示剩余权重比例,N.A.表示模型不收敛,最佳结果以粗体显示)

问答任务:表 3 对比了 LoSparse 方法在 SQuAD v1.1 上的表现。在所有压缩比率下,LoSparse 都优于其他压缩方法,尤其是在更高压缩比的情况下。

4b087560-23c8-11ee-962d-dac502259ad0.png表 3. SQuAD v1.1 上 DeBERTaV3-base 的压缩结果(Ratio 表示剩余权重比例,N.A.表示模型不收敛,最佳结果以粗体显示)

表 3. SQuAD v1.1 上 DeBERTaV3-base 的压缩结果(Ratio 表示剩余权重比例,N.A.表示模型不收敛,最佳结果以粗体显示)

自然语言生成:表 4 说明在自然语言生成任务上,LoSparse 仍然表现优异,在各个压缩比下优于现有方法。值得注意的是,LoSparse 在更困难的摘要任务上表现更好。

4b2485d4-23c8-11ee-962d-dac502259ad0.png表 4. XSum 上 BART-Large 的压缩结果(Ratio表示剩余权重比例,最佳结果以粗体显示)

表 4. XSum 上 BART-Large 的压缩结果(Ratio表示剩余权重比例,最佳结果以粗体显示)

消融实验:论文分析了稀疏近似的有效性和稀疏分配的影响(低秩矩阵和稀疏矩阵的权重占比),实验表明本文提出的稀疏近似对于性能有很大正贡献,且 LoSparse 对稀疏分配策略相对鲁棒,具体细节可见原文。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 模型
    +关注

    关注

    1

    文章

    2704

    浏览量

    47691
  • 神经元
    +关注

    关注

    1

    文章

    284

    浏览量

    18322
  • Transformer
    +关注

    关注

    0

    文章

    130

    浏览量

    5898

原文标题:标题:ICML 2023 | LoSparse:低秩近似和结构化剪枝的有机组合

文章出处:【微信号:GiantPandaCV,微信公众号:GiantPandaCV】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何计算transformer模型的参数量

    基于transformer模型的,模型结构主要有两大类:encoder-decoder(代表模型是T5)和decoder-only,具体的,decoder-only结
    的头像 发表于 07-10 09:13 7413次阅读
    如何计算<b class='flag-5'>transformer</b><b class='flag-5'>模型</b>的参数量

    一文详解Transformer神经网络模型

    Transformer模型在强化学习领域的应用主要是应用于策略学习和值函数近似。强化学习是指让机器在与环境互动的过程中,通过试错来学习最优的行为策略。
    发表于 02-20 09:55 2103次阅读
    一文<b class='flag-5'>详解</b><b class='flag-5'>Transformer</b>神经网络<b class='flag-5'>模型</b>

    大语言模型背后的Transformer,与CNN和RNN有何不同

      电子发烧友网报道(文/李弯弯)近年来,随着大语言模型的不断出圈,Transformer这一概念也走进了大众视野。Transformer是一种非常流行的深度学习模型,最早于2017年
    的头像 发表于 12-25 08:36 1585次阅读
    大语言<b class='flag-5'>模型</b>背后的<b class='flag-5'>Transformer</b>,与CNN和RNN有何不同

    模型Transformer工作原理

    模型
    恬静简朴1
    发布于 :2023年07月18日 17:14:58

    详解ABBYY PDF Transformer+从文件创建PDF文档

    可使用ABBYY PDF Transformer+从Microsoft Word、Microsoft Excel、Microsoft PowerPoint、HTML、RTF、Microsoft
    发表于 10-17 14:13

    你了解在单GPU上就可以运行的Transformer模型

    最近,谷歌推出了Reformer架构,Transformer模型旨在有效地处理处理很长的时间序列的数据(例如,在语言处理多达100万个单词)。Reformer的执行只需要更少的内存消耗,并且即使在
    发表于 11-02 15:19

    基于Transformer的掩膜时序建模方法

      现有时序异常检测方法存在计算效率低和可解释性差的问题。考虑到 Transformer模型在自然语言处理任务中表现岀并行效率髙且能够跨距离提取关系的优势,提岀基于 Transformer
    发表于 03-10 16:08 1次下载

    Transformer模型的多模态学习应用

    随着Transformer在视觉中的崛起,Transformer在多模态中应用也是合情合理的事情,甚至以后可能会有更多的类似的paper。
    的头像 发表于 03-25 09:29 9940次阅读
    <b class='flag-5'>Transformer</b><b class='flag-5'>模型</b>的多模态学习应用

    使用跨界模型Transformer来做物体检测!

    用了Transformer 架构开发的一个目标检测模型。在这篇文章中,我将通过分析DETR架构的内部工作方式来帮助提供一些关于它的直觉。 下面,我将解释一些结构,但是如果你只是想了解如何使用模型,可以直接跳到代码部分
    的头像 发表于 06-10 16:04 1949次阅读
    使用跨界<b class='flag-5'>模型</b><b class='flag-5'>Transformer</b>来做物体检测!

    Transformer的复杂度和高效设计及Transformer的应用

    中的25个Transformers模型 总结 ACL 2021中的25个Transformers模型 NLP中的层次结构Hi-Transformer: Hierarchical Interactive
    的头像 发表于 09-01 09:27 5717次阅读
    <b class='flag-5'>Transformer</b>的复杂度和高效设计及<b class='flag-5'>Transformer</b>的应用

    Microsoft使用NVIDIA Triton加速AI Transformer模型应用

    Microsoft 的目标是,通过结合使用 Azure 与 NVIDIA GPU 和 Triton 推理软件,率先将一系列强大的 AI Transformer 模型投入生产用途。
    的头像 发表于 04-02 13:04 1490次阅读

    Transformer结构及其应用详解

    本文首先详细介绍Transformer的基本结构,然后再通过GPT、BERT、MT-DNN以及GPT-2等基于Transformer的知名应用工作的介绍并附上GitHub链接,看看Transformer是如何在各个著名的
    的头像 发表于 06-08 09:56 1450次阅读
    <b class='flag-5'>Transformer</b>结构及其应用<b class='flag-5'>详解</b>

    2D Transformer 可以帮助3D表示学习吗?

    预训练的2D图像或语言Transformer:作为基础Transformer模型,具有丰富的特征表示能力。作者选择了先进的2D Transformer
    的头像 发表于 07-03 10:59 443次阅读
    2D <b class='flag-5'>Transformer</b> 可以帮助3D表示学习吗?

    基于 Transformer 的分割与检测方法

    ,并能做出属于自己的 SAM 模型,那么接下这篇 Transformer-Based 的 Segmentation Survey 是不容错过!近期,南洋理工大学和上海人工智能实验室几位研究人员写了
    的头像 发表于 07-05 10:18 556次阅读
    基于 <b class='flag-5'>Transformer</b> 的分割与检测<b class='flag-5'>方法</b>

    基于Transformer模型压缩方法

    基于Transformer架构的大型模型在人工智能领域中发挥着日益重要的作用,特别是在自然语言处理(NLP)和计算机视觉(CV)领域。
    的头像 发表于 02-22 16:27 278次阅读
    基于<b class='flag-5'>Transformer</b><b class='flag-5'>模型</b>的<b class='flag-5'>压缩</b><b class='flag-5'>方法</b>