NeurlPS 2022 | 全新大模型参数高效微调方法SSF:仅需训练0.3M的参数,效果卓越

2022 年 11 月 7 日 机器之心

机器之心专栏

作者:字节跳动智能创作团队
近期,由新加坡国立大学和字节跳动联合发表的论文入选 NeurIPS 2022。该论文提出了一个全新的、针对大模型训练的参数高效微调方法 SSF(Scaling & Shifting Your Features),可简洁、高效、零开销实现参数微调。

  • 论文地址:https://arxiv.org/abs/2210.08823
  • 代码地址:https://github.com/dongzelian/SSF  

大模型训练调参:开销和性能不可兼得?

随着数据驱动的方法在深度学习界的普及,数据集规模和模型规模都有了巨大的爆发。业界倾向于探索大模型,然后在下游任务中采用这些预训练的模型,以获得更好的性能和更快的收敛。

然而,目前的程序严重依赖于全面微调,即更新模型的所有参数。这不可避免地导致模型对小的目标数据集过度拟合,继而在微调后不能用于其他任务。因此,设备需要为每个任务保存一套专门的模型参数,造成了巨大的存储空间,特别是对于如今的大模型(例如, ViT-G/14, 1.8G, CoAtNet, 2.4G)来说,训练开销很大。

此前,业界对上述问题的解决方案是:仅仅微调头部层,即只对最后一个头部层进行微调。然而,与完全微调相比,这种做法通常会产生较差的性能。

以视觉任务上实现的方法 VPT(视觉提示微调)[1]为例,VPT 提出插入可学习的提示作为输入,并将其附加到原始图像 token 中。这些提示将通过执行自我注意力(self attention)与图像 token 交互,并在微调过程中进行更新。通过这种方式,与只微调头部层相比,在下游任务中可以实现显著的性能提升。然而,与完全微调和微调头部层相比,VPT 方法额外引入了两个问题:

i) VPT 为不同的任务调整提示的数量,这引入了一个与任务相关的可学习参数空间。微调的性能对每个任务的提示数量很敏感,需要仔细设计。太少或太多的提示可能会降低微调的准确性或增加计算的冗余度(例如,在 Clevr/count 上有 200 个提示,但是 Flowers102 上有 1 个提示);

ii) VPT 以及其他基于适配器(adapter)的方法 [2],与原始预训练模型相比,在推理阶段引入了额外的参数和计算成本。例如,VPT 引入了额外的输入,基于适配器的方法在预训练的模型中插入额外的模块。这些方法改变了预训练网络结构或网络的输入,可能导致频繁的结构修改和沉重的工作量,特别是对于那些已经部署在边缘设备(如移动电话)中的模型。

符合奥卡姆剃刀原则的新方法

受一些特征调制方法的启发,针对上述难题,新加坡国立大学和字节跳动的研究者提出了一种全新的参数高效的微调方法,名为 SSF。采用 SSF 方法,只需要对预训练的模型提取的深层特征进行缩放和移位,就可以进行微调。

由于上游数据集和下游数据集的数据分布不同,很难将在上游数据集训练的模型权重应用于下游数据集。例如,保持骨干权重的微调头部层策略会导致性能下降。为了缓解上述问题,SSF 引入了缩放参数和移位参数,这些参数可以被认为是方差和均值,用于调节用上游数据集上的预训练模型提取的下游数据集的特征,从而使被调节的特征落在一个鉴别性的空间。这些缩放参数和移位参数不依赖于任何输入,对于不同的任务有一个统一的可学习参数空间。

SSF 的另一个优点是,它只引入了线性变换,这是因为研究者仅仅对提取的特征进行了缩放和移位。这些线性变换可以在推理阶段通过模型重新参数化(model re-parameterization) [3] 进一步合并到原始的预训练权重中,从而避免了下游任务的额外参数和 FLOPs。对于部署在边缘设备中的模型,只需要上传微调后的更新权重,而不需要改变网络结构。

表一显示了 SSF 和其他微调方法之间的具体特征比较。SSF 简单、有效、高效,也符合奥卡姆剃刀原则。研究者探索了这个新的基线,发现它出人意料地超过了所有其他参数高效的微调方法。


图一:SSF 方法的特点以及它在 FGVC 和 VTAB 任务上的性能。

通过在 26 个分类数据集和 3 个鲁棒性数据集上评估 SSF 方法,结果显示:与其他参数高效的微调方法相比,SSF 获得了最先进的性能。

与完全微调相比,SSF 方法在 FGVC 和 VTAB-1k 上获得了 2.46%(90.72% {vs. 88.54%)和 11.48%(73.10%  vs. 65.57%)的 Top-1 精度性能改进,但只需要大约 0.3M 的可训参数。此外,SSF 在推理阶段不需要额外的参数,可以即插即用,很容易扩展到各种模型系列(CNN、Transformer 以及 MLP 网络)。

具体的实现思路

与此前方法不同的是,研究者引入了缩放和移位因子来调节由预先训练好的模型提取的深层特征,并进行线性转换以匹配目标数据集的分布。

这一方法涵盖了五个主要属性:

i) SSF 实现了与完全微调策略相同的性能;
ii) 所有的下游任务都可以独立地输入到模型中,而不依赖任何其他任务;
iii) 模型只需要微调很少的参数;
iv)与 VPT 不同,VPT 为每个任务调整提示的数量,而 SSF 中微调的参数集不会随着任务的变化而变化,这使得之后可以通过增加更多的任务进行多任务学习或连续学习来进一步微调参数是可行的(它提供了更多的灵活性,与 ii)并不矛盾);
v)由于线性变换,SSF 避免了在推理阶段引入额外的参数和计算成本,使这一方法实现零开销。


图二:SSF 的总体框架。

SSF 的设计:SSF 执行线性转换来调节特征来进行参数高效的微调,如图二所示。在图二(a)中,给定一个在上游任务中预训练的模型,研究者在网络的每个操作(OP)之后插入 SSF-ADA (把提出的方法称为 SSF,把具体的模块称为 SSF-ADA)来调节特征。总共有 K 个操作,这些操作可能包含多头自注意力(MSA)、MLP 和层归一化化(LN)等等。在微调过程中,这些操作中的预训练权重保持冻结,SSF-ADA 参数保持更新。具体的 SSF-ADA 结构如图二 (c) 所示,前一个操作输出的特征用一个缩放因子进行点乘,然后用一个移位因子求和,这与输入无关,如下所示

重参数化 :由于 SSF-ADA 是一个完全的线性变换,可以通过吸收缩放和移位项来重新参数化它,如下所示

其中 w 和 b 分别为权重和偏置项。* 代表卷积层中的 "卷积" 操作或 MLP 层中的 "乘法" 操作。t 是前一个线性层的输入。由于 w 和 b 被冻结,而和在微调中被更新,在推理阶段,和可以通过上述公式合并到原始参数空间(w 和 b)。从这个角度看,SSF-ADA 使得在不增加任何额外参数和计算成本的情况下执行下游任务成为可能,如图二(b)所示。

实验结果

1. SSF 在图像分类数据集上的性能

研究者分别在 FGVC、VTAB、CIFAR-100 和 ImageNet-1K 进行了实验,如表一、二、三。SSF 一致性地超过了其他高效微调方法(Adapter、Bias 和 VPT)。在表三中,SSF 在 Swin Transformer、ConvNext 和 AS-MLP 等各种模型上的结果也始终优于其他参数高效微调方法,这也验证了 SSF 在多种模型上的有效性。更多的分析见论文。


表一:在 FGVC 数据集上使用 ViT-B/16 预训练模型的实验结果


表二:在 VTAB 数据集上使用 ViT-B/16 预训练模型的实验结果


表三:在 CIFAR-100 和 ImageNet-1K 数据集上使用 ViT-B/16, Swin-B, ConvNext-B   和 AS-MLP-B 等预训练模型的实验结果

2. 不同的设计对结果的影响

研究者还进行实验来分析不同设计对微调的影响。所有的实验都是在 CIFAR-100 上用预训练的 ViT-B/16 模型实现的,结果见表四。


表四:不同设计的影响。(a)  层数的影响 (b) 不同插入位置的影响 (c) 初始化的影响 (d) 不同组件的影响

3. 可视化分析

为了进一步研究为什么 SSF 能取得更优异的性能,研究者还将完全微调和微调头部层、完全微调和 VPT-Deep、完全微调和 SSF 之间的特征相似性可视化,如图三所示。在最后一层,SSF 与完全微调的特征最相似,准确度也最接近。这表明 SSF 能很好地提取下游任务中的图像特征。


图三:完全微调和微调头部层、完全微调和 VPT-Deep、完全微调和 SSF 在 ViT-B/16 的不同层中的特征相似性的可视化。

结论

在本文中,研究者专注于参数高效的微调,并提出了一种 SSF 方法来缩放和移位预先训练好的模型所提取的特征。SSF 在微调过程中引入的缩放和移位参数可以通过推理阶段的重参数化合并到原来的预训练模型权重中,避免了额外的参数和 FLOPs。在总共 26 个图像分类数据集和 3 个鲁棒性和分布外数据集以不同的模型(CNN、Transformers 和 MLPs)进行实验,SSF 出人意料地优于其他参数高效的微调方法,它建立了一个新的基线。

引用:
[1] Jia et al., Visual Prompt Tuning, ECCV2022.
[2] Houlsby et al., Parameter-efficient transfer learning for nlp, ICML2019.
[3] Ding et al., Repvgg: Making vgg-style convnets great again, CVPR2021.

招聘!从教授到实习生,鹏城实验室&北京大学深圳研究生院、智源研究院、IDEA、MSRA等机构等你来


本期「TalentAI」推荐职位如下:

更多职位信息欢迎关注「TalentAI」。

© THE END 

转载请联系本公众号获得授权

投稿或寻求报道:content@jiqizhixin.com

登录查看更多
0

相关内容

NeurlPS 2022 | 深度双向语言-知识图谱预训练
专知会员服务
9+阅读 · 2022年11月28日
【CVPR2022】基于知识蒸馏的高效预训练
专知会员服务
31+阅读 · 2022年4月23日
【CVPR 2022】视觉提示调整(VPT),Vision Prompt Tuning
专知会员服务
29+阅读 · 2022年3月12日
最新《弱监督预训练语言模型微调》报告,52页ppt
专知会员服务
37+阅读 · 2020年12月26日
专知会员服务
44+阅读 · 2020年3月6日
手机上也能训练BERT和ResNet了?!
夕小瑶的卖萌屋
1+阅读 · 2022年7月25日
视觉Prompt来了,效果超越微调!
夕小瑶的卖萌屋
2+阅读 · 2022年3月26日
Child-Tuning:简单有效的微调涨点方法
夕小瑶的卖萌屋
1+阅读 · 2021年11月5日
ICML2020 图神经网络的预训练
图与推荐
12+阅读 · 2020年4月4日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2011年12月31日
Arxiv
15+阅读 · 2022年11月1日
Arxiv
14+阅读 · 2022年5月6日
Deformable Style Transfer
Arxiv
14+阅读 · 2020年3月24日
Arxiv
10+阅读 · 2018年3月22日
VIP会员
相关基金
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2011年12月31日
Top
微信扫码咨询专知VIP会员