前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CVPR2024 | 堆叠的Transformer模块居然能减少50%的参数?一文带你了解LORS方法的有趣发现

CVPR2024 | 堆叠的Transformer模块居然能减少50%的参数?一文带你了解LORS方法的有趣发现

作者头像
公众号-arXiv每日学术速递
发布2024-04-25 18:53:24
930
发布2024-04-25 18:53:24
举报

本文由腾讯优图实验室独立完成

已被会议评为highlight论文

论文链接:

https://arxiv.org/abs/2403.04303

如今这个AI时代,神经网络模型已经成为了我们生活中不可或缺的一部分。从图像识别到语音助手,从自动驾驶到智能推荐,深度神经网络在各个领域都发挥着重要作用。特别是基于Transformer架构的模型,随着Scaling Low的持续发挥威力,正以前所未有的速度在各个领域开疆拓土。

但模型规模的日益增长,产生了一个不容忽视的问题——参数量的激增。这对模型的训练和推理所需的资源都提出了挑战。越来越大的模型就像一辆不断增重的卡车,虽然动力强劲,但油耗惊人,且越来越难以操控。在这样的背景下,如何有效地减少模型参数,同时保持甚至提升模型性能,成为了学术界和工业界的热点问题。这就像是在寻找一种既能减轻卡车重量,又不失动力和操控性的神奇设计。

为此,研究者们提出了多种方法,包括知识蒸馏、剪枝、量化和参数共享等。这些方法各有千秋,但也存在一些局限性,如可能降低模型容量、影响模型稳定性、导致存储和计算精度降低等问题。因此,我们希望找到一种新的参数高效方法,使得既能够减少模型的参数量,又能够保持模型的性能。

LORS的创新思考:共性与个性的平衡

今天的很多模型都在结构上放弃了精细的局部设计,转而追求参数规模的提升,并因此有一个共同的特点:在模型的训练和推理中都大量使用了堆叠网络结构(stacked module)。我们说堆叠,是指把结构完全相同的模块串行了多层,构成一个整体来完成某个功能,这既增强了模型的能力,也带来了参数量的增加。那么,这些结构完全一样的模块,它们的参数之间会不会也有相似之处?

基于这样的思考,我们提出了一种名为LORS(Low-rank Residual Structure)的新型参数高效网络堆叠方法,并用实验证实了该方法的有效性。LORS的核心思想是将堆叠模块的参数分解为共享参数和私有参数两个部分。共享参数由所有模块共同使用,而私有参数则由每个模块单独拥有。这种分解策略允许模型在减少参数的同时,仍然能够捕捉到每个模块的独特特性。最后将私有参数与共享参数相加,这样残差连接的设计使得LORS方法仍然能够保持模型原有的特性和能力。

想象一下,我们正在构建一个parameter efficient的神经网络,如同建筑师要设计一座既坚固又经济的摩天大楼。LORS方法的核心正在于其独特的参数分解策略,这类似于建筑师使用的预制构件。在这种方法中,我们不是为每个模块从头开始设计,而是创建一组通用的、可共享的参数(预制构件),这些参数可以在不同的模块之间重复使用。每个模块只需要添加一小部分独特的参数(定制组件),以适应其特定的功能需求。这样,我们不仅大大减少了所需的材料(参数)数量,而且还保持了建筑(模型)的稳定性和多样性,这是一种新的建造哲学。

LORS方法的具体工作原理

其中的Ek是一个可以在训练或推理时都由当前输入特征控制而生成的kernel矩阵,从而让私有参数可以根据输入的不同而动态地变化。(更多公式表述和伪代码可参见Arxiv原文)。

LORS方法的实战效果验证

LORS的可应用面很广泛,笔者主要从事CV相关的研究,因此在图像分类/目标检测等不同任务上,在编码器、解码器等不同功能组件上,在transformer和非transformer结构上都尝试验证了本方法的有效性,这主要分为两个系列的实验。

第一类实验是在AdaMixer模型上应用LORS,来验证本方法在目标检测任务,解码器,以及非Transformer结构上的有效性。AdaMixer是一种query-based的目标检测模型,它的解码器中含有大量的静态参数和动态参数,我们在其解码器上应用LORS方法,并在MS COCO数据集上进行了大量实验,实验结果显示我们可以在将解码器的参数量减少近70%,模型整体的参数量减少近50%的情况下,仍然保持甚至提高模型的检测性能,如下图表所示:

第二类实验是在DeiT-Tiny模型上应用LORS,来验证本方法在图像分类任务,编码器,以及Transformer结构上的有效性。具体来说,DeiT-Tiny的编码器部分由12层相同的Transformer模块构成,我们对其中的所有线性变换权重参数都应用了LORS方法,并在CIFAR-100图像分类数据集上验证效果。实验显示我们可以将编码器的整体参数量减少超过50%,仍然保持甚至提高了分类任务的准确率:

上述结果说明,堆叠网络中可能存在大量的参数冗余,而抽出其中具有共性的参数,统一进行训练,或更有助于提高模型的训练效果。

总结与展望

LORS作为一种新型的参数高效网络堆叠方法,为解决大规模模型中的参数量膨胀问题提供了一种新颖有效的解决方案。它不仅能够显著减少模型参数,还能保持模型的性能。更具体的来说,它具有以下优点:

1.参数减少:通过分解共享参数和私有参数的策略,显著减少了模型的参数量,有利于加速模型的训练,减少对显存的需求。

2.性能保持:在减少参数的同时,保持了模型原有的特性和能力。

3.灵活性:既支持静态参数,也支持动态参数,能广泛应用于各类模型。

4.泛化能力:实验表明,LORS不仅适用于Transformer结构,也适用于非Transformer结构,显示出良好的泛化能力。

同时,LORS方法的潜力还没有完全挖掘,它也可能有利于以下应用场景:

1.资源受限设备:在小型或移动设备中,LORS或可以帮助部署更轻量级的深度学习模型,降低对硬件设备的要求。

2.大规模部署:在需要大量模型部署的场景,如云计算平台等,LORS或可以帮助减少存储和带宽需求,降低运行成本。

3.分布式训练:合理设计共享参数和私有参数在不同机器上的分布,或有机会减少需要训练的参数量,降低通讯需求,提高分布式设备训练的利用效率。

LORS方法也有一些目前尚未解决的缺陷,如在推理时会小幅增加模型的计算量等,我们会在未来尝试更多改进。此外,本文的实验主要在视觉感知领域进行,在其它领域,如语言理解模型,文本和图片生成模型等,LORS的应用效果也有待验证。我们期待本方法能够在相关领域的研究和应用中启发更多的思考。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-04-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 arXiv每日学术速递 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档