超越所有微调方法,参数量大幅减少,康奈尔大学等提出视觉prompt新方法

简介: 超越所有微调方法,参数量大幅减少,康奈尔大学等提出视觉prompt新方法

来自康奈尔大学、Meta AI 和哥本哈根大学的研究者提出一种优化 Transformer 的有效方案,在只添加少量参数的情况下,对下游任务有极大的提升效果。


识别问题往往是通过预训练大型基础模型处理大量精选或原始数据的方式解决的。这似乎是一种可行的模式:只需利用最新最好的基础模型,就可以在多个识别问题上取得极大的进展。

然而,在实践中,将这些大型模型用于下游任务就存在一些挑战。最直接(通常也是最有效)的适应策略是针对任务对预训练模型进行端到端的全面微调(full fine-tuning)。但这种策略需要为每个任务存储和部署一个单独的主干网络参数副本。因此这种方法通常成本很高且不可行,特别是基于 Transformer 架构的模型会比卷积神经网络大得多。

近日,来自康奈尔大学、Meta AI 和哥本哈根大学的研究者试图找到让大型预训练 Transformer 模型适应下游任务的最佳方法。


论文地址:https://arxiv.org/abs/2203.12119

首先,解决这个问题的一种简单策略是参考卷积网络适应新任务的方法,如下图 1 (a) 所示。一种较为普遍的方法是只微调参数的一个子集,如分类器头或偏置项(bias term),还有研究考虑在主干网络中添加额外的残差块(或适配器)。这些策略也可以用于 Transformer 模型。然而,这些策略在准确性上往往不如微调参数。


本研究的研究者探索了一条完全不同的路线。他们不修改或微调预训练 Transformer 本身,而是修改 Transformer 的输入。受 prompt 方法最新进展的启发,研究者提出了一种简单有效的新方法,将 transformer 模型用于下游视觉任务 (图 1 (b)),即视觉 prompt 调优 (visual prompt tuning,VPT)。

VPT 方法只在输入空间中引入少量特定于任务的可学习参数,同时在下游训练过程中固定整个预训练 transformer 主干网络。在实践中,这些附加参数简单地被添加到 transformer 中每个层的输入序列中,并在微调过程中与 linear head 一起更新。

该研究使用预训练 ViT 主干网络完成 24 个不同领域的下游识别任务,VPT 击败了所有其他迁移学习 baseline,甚至在 20 种情况下超过了全面微调方法,而只用到极少量的参数(少于主干网络参数的 1%)。

实验结果表明 VPT 具有独特的优势。在 NLP 中, prompt 方法只能在一些特定情况下与全面微调方法性能相当。而 VPT 在小数据环境中也特别有效,在各种数据规模上均保持着优势。此外,VPT 在 Transformer 的扩展和设计方面也具有竞争力。综上所述,VPT 是适应不断增长的视觉主干网络的最有效方法之一。

方法

VPT 将少量可学习参数引入 Transformer 的输入空间,并在下游训练阶段固定主干网络。总体框架如图 2 所示。


符号表示

对于 N 层的 Vision Transformer (ViT),输入图像分为 m 个固定大小的 patch {I_j ∈ R^{ 3×h×w} | j ∈ N, 1 ≤ j ≤ m}. 。h, w 是图像 patch 的高度和宽度。接下来每个 patch 先是嵌入到具有位置编码的 d 维潜在空间中:


其中,E_i = {e^j_i ∈ R^d | j ∈ N, 1 ≤ j ≤ m} 表示图像 patch 嵌入的集合,并且也作为第 (i+1) 个 Transformer 层 L_(i+1) 的输入。连同一个额外的可学习分类 token([CLS]),整个 ViT 被表述为:


x_i ∈ R^d 表示 [CLS] 在 L_(i+1) 的输入空间的嵌入。[・,・] 表示在序列长度维度上的融合(stacking)和级联(concatenation),即 [x_i , E_i ] ∈ R^{(1+m)×d} 。每层 L_i 由多头自注意力 (MSA) 和前馈网络 (FFN) 以及 LayerNorm 和残差连接组成。神经分类头用来将最后一层的 [CLS] 嵌入 x_N ,映射到预测的类概率分布 y 中。

VPT

给定一个预训练的 Transformer 模型,该研究在嵌入层之后的输入空间中引入 p 个维度为 d 的连续嵌入,即 prompt。在微调期间仅更新特定于任务的 prompt,而 Transformer 主干保持不变。根据所涉及 Transformer 层的数量,研究者提出两种变体,VPT-shallow 和 VPT-deep,如图 2 所示。

VPT-Shallow:*prompt 仅插入到第一个 Transformer 层 L_1 中。每个 prompt 都是一个可学习的 d 维向量。p 个 prompt 的集合表示为 P = {p_k ∈ R^d | k ∈ N, 1 ≤ k ≤ p}, shallow-prompted ViT 为:


其中,Z_i ∈ R^{p×d} 表示第 i 个 Transformer 层计算得到的特征,[x_i , Z_i , E_i ] ∈ R^{(1+p+m)×d} 。

如图 2 所示,橙色和蓝色标记的变量分别表示可学习和固定的参数。值得注意的是,对于 ViT,x_N 相对于 prompt 的位置是不变的,因为它们是在位置编码之后插入的,例如,[x_0, P, E_0] 和 [x_0, E_0, P] 在数学上是等价的。这也适用于 VPT-Deep。

VPT-Deep:在每个 Transformer 层的输入空间都引入了 prompt。对于第 (i+1) 层 L_(i+1),输入的可学习 prompt 集合表示为 P_i = {p ^k_i ∈ R^d | k ∈ N, 1 ≤ k ≤ m}。VPT-Deep 的 ViT 为:


视觉 prompt 的存储:VPT 在存在多个下游任务时具有显著优势,只需要为每个任务存储学习到的 prompt 和分类头,并重新使用预训练 Transformer 模型的原始副本,这显著降低了存储成本。例如,给定一个具有 8600 万参数的 ViT-Base(d = 768),50 个 VPT-Shallow 和 VPT-Deep 产生额外的 p × d = 50 × 768 = 0.038M 和 N × p × d = 0.46M 参数,分别仅占所有 ViT-Base 参数的 0.04% 和 0.53%。

实验

下表 1 展示了在 4 个不同的下游任务组上微调预训练 ViT-B/16 的结果,并将 VPT 与其他 7 种调优方法进行了比较。我们可以看到:

  1. VPT-Deep 在 4 个问题类别中的 3 个(24 个任务中的 20 个)上优于其他全部方法(表 1 (a)),同时使用的模型参数总量显著减少(1.18× VS 24.02×)。可见,VPT 是一种很有前途的方法,可以在视觉任务中适应更大的 Transformer。
  2. VPT-Deep 在所有任务组中都优于所有其他的参数调优方法(表 1 (b,c)),表明 VPT-deep 是存储受限环境中最好的微调策略。
  3. 虽然比 VPT-deep 略差一点,但 VPT-shallow 仍然比(表 1 (b))中的 head-oriented 方法性能更好。如果存储限制很严重,VPT-shallow 是部署多任务微调模型的合适选择。



图 3 显示了每种方法在不同训练数据规模上的平均任务结果。VPT-deep 在各种数据规模上都优于其他 baseline。


图 4 显示了 3 种不同主干规模下 VTAB-1k 的性能:ViT-Base/Large/Huge,VPT-deep 显著优于 Linear 和 VPT-shallow。


此外,研究者还将 VPT 扩展到 Swin 上,在局部移位窗口中使用 MSA,并在更深层合并 patch 嵌入。为简单且不失一般性起见,研究者以最直接的方式实现 VPT:prompt 被用于局部窗口,而在 patch 合并阶段被忽略。

如下表 2 所示,该研究在 ImageNet-21k 监督的预训练 Swin-Base 上进行实验。尽管在这种情况下,Full 总体上能产生最高的准确率(总参数成本也很高),但对于 VTAB 的三个子组,VPT 仍然优于其他微调方法。


相关文章
|
25天前
|
机器学习/深度学习 人工智能 自然语言处理
ModernBERT:英伟达开源的新一代编码器模型,性能超越 SOTA,通过去除填充和序列打包减少计算浪费,提高训练和推理的效率
ModernBERT 是由英伟达和 HuggingFace 等机构联合开源的新一代编码器模型,支持长上下文处理,性能超越 SOTA,适合多种自然语言处理任务。
73 7
ModernBERT:英伟达开源的新一代编码器模型,性能超越 SOTA,通过去除填充和序列打包减少计算浪费,提高训练和推理的效率
|
8天前
|
自然语言处理 调度 决策智能
Coconut:基于连续潜在空间推理,提升大语言模型推理能力的新方法
Coconut提出了一种新的大语言模型推理范式,通过在潜在空间中运算,利用隐藏层生成的连续思维状态取代传统文本推理。该方法采用广度优先搜索探索多条路径,避免单一路径局限,显著提升逻辑任务性能并减少token消耗。 Coconut结合“语言模式”和“潜在模式”动态切换,通过多阶段课程学习优化推理能力,在复杂规划任务中表现卓越,尤其在GSM8k和ProsQA等任务中优于传统模型。实验表明,Coconut能有效捕获中间变量,减少幻觉错误,具备更强的推理规划能力。
25 2
Coconut:基于连续潜在空间推理,提升大语言模型推理能力的新方法
|
30天前
|
人工智能 搜索推荐 决策智能
不靠更复杂的策略,仅凭和大模型训练对齐,零样本零经验单LLM调用,成为网络任务智能体新SOTA
近期研究通过调整网络智能体的观察和动作空间,使其与大型语言模型(LLM)的能力对齐,显著提升了基于LLM的网络智能体性能。AgentOccam智能体在WebArena基准上超越了先前方法,成功率提升26.6个点(+161%)。该研究强调了与LLM训练目标一致的重要性,为网络任务自动化提供了新思路,但也指出其性能受限于LLM能力及任务复杂度。论文链接:https://arxiv.org/abs/2410.13825。
59 12
|
5月前
|
人工智能 自然语言处理
公理训练让LLM学会因果推理:6700万参数模型比肩万亿参数级GPT-4
【8月更文挑战第3天】新论文提出“公理训练”法,使仅有6700万参数的语言模型掌握因果推理,性能媲美万亿级GPT-4。研究通过大量合成数据示例教授模型因果公理,实现有效推理并泛化至复杂图结构。尽管面临合成数据需求大及复杂关系处理限制,此法仍为语言模型的因果理解开辟新途径。[链接: https://arxiv.org/pdf/2407.07612]
97 1
|
4月前
|
人工智能 开发者
谷歌通过数据增强、对比调优,减少多模态模型幻觉
【9月更文挑战第16天】谷歌研究人员针对多模态大语言模型(MLLMs)中的幻觉问题,提出了一种结合数据增强与对比调优的新方法,旨在减少模型生成错误信息的情况。该方法通过生成式数据增强制造幻觉标记并与真实标记对比,利用对比损失优化模型参数,从而提升模型对真实信息的辨识能力。实验结果显示,此方法能显著降低对象幻觉现象,但在模拟复杂现实场景及计算需求方面仍面临挑战。相关研究已发布在论文《通过数据增强的对比调优减轻对象幻觉》中。
64 3
|
6月前
|
自然语言处理
AIGC使用问题之GPT-1如何优化目标函数,如何做模型微调
AIGC使用问题之GPT-1如何优化目标函数,如何做模型微调
|
7月前
|
机器学习/深度学习 人工智能 自然语言处理
揭秘In-Context Learning(ICL):大型语言模型如何通过上下文学习实现少样本高效推理[示例设计、ICL机制详解]
揭秘In-Context Learning(ICL):大型语言模型如何通过上下文学习实现少样本高效推理[示例设计、ICL机制详解]
揭秘In-Context Learning(ICL):大型语言模型如何通过上下文学习实现少样本高效推理[示例设计、ICL机制详解]
|
7月前
|
算法 测试技术 异构计算
【SAM模型超级进化】MobileSAM轻量化的分割一切大模型出现,模型缩小60倍,速度提高40倍,效果不减
【SAM模型超级进化】MobileSAM轻量化的分割一切大模型出现,模型缩小60倍,速度提高40倍,效果不减
|
7月前
|
机器学习/深度学习 自然语言处理 物联网
ICML 2024:脱离LoRA架构,训练参数大幅减少,新型傅立叶微调来了
【6月更文挑战第4天】在ICML 2024上,研究团队提出了傅立叶变换微调(FourierFT),一种减少训练参数的新方法,替代了依赖LoRA的微调。FourierFT通过学习权重变化矩阵的稀疏频谱系数,实现了LFMs的高效微调。在多项任务上,FourierFT展示出与LoRA相当或更优的性能,参数量却大幅减少,如在LLaMA2-7B模型上,仅需0.064M参数,对比LoRA的33.5M。广泛实验验证了其在NLP和CV任务上的效果,但未来还需探索其适用性和泛化能力。论文链接:[arxiv.org/abs/2405.03003](https://arxiv.org/abs/2405.03003)
145 0
|
8月前
|
异构计算
针对特定领域较小的语言模型是否与较大的模型同样有效?
经过2023年的发展,大语言模型展示出了非常大的潜力,训练越来越大的模型成为有效性评估的一个关键指标,论文《A Comparative Analysis of Fine-Tuned LLMs and Few-Shot Learning of LLMs for Financial Sentiment Analysis》中,作者全面分析了微调大语言模型(llm)及其在金融情绪分析中的零样本和少样本的能力。
93 0