PEFT 漫游指南: 用微小的更新解锁视觉 Transformer

如果你今天身处计算机视觉领域,你很可能生活在“下载、预训练、微调”的时代。我们可以访问像 Vision Transformers (ViT) 或 CLIP 这样在数百万 (甚至数十亿) 张图像上训练出来的海量基础模型。但这里有个陷阱: 这些模型太大了。

针对特定任务 (如分类珍稀鸟类或检测制造缺陷) 微调一个十亿参数级的模型,通常涉及更新所有参数 (即全量微调,Full Fine-Tuning) 。这在计算上极其昂贵,且极其占用存储空间。如果你有 50 个下游任务,你就需要存储 50 份那个庞大模型的副本。

参数高效微调 (Parameter-Efficient Fine-Tuning, PEFT) 应运而生。PEFT 的核心理念很简单: 只更新极小一部分参数 (或添加少量新参数) ,并冻结其余部分。

但问题来了。目前有几十种 PEFT 方法——LoRA、Adapter、VPT、SSF、BitFit 等等。你应该用哪一种?它们真的能像全量微调一样好用吗?直到最近,计算机视觉社区还缺乏对这些方法的统一、公平的比较。

在这篇文章中,我们将深入探讨一篇终于澄清了事实的论文: “Lessons and Insights from a Unifying Study of Parameter-Efficient Fine-Tuning (PEFT) in Visual Recognition” (视觉识别中参数高效微调的统一研究: 经验与洞察) 。 研究人员进行了一项大规模的实证研究,为我们提供了一份实用的用户指南。让我们来解读一下他们的发现。


PEFT 的版图

在看结果之前,我们需要了解我们实际上在微调什么。本研究的骨干网络是 Vision Transformer (ViT)

在标准的 ViT 中,图像被分割成块 (patches) ,进行嵌入,然后通过多层多头自注意力 (MSA) 和多层感知机 (MLP) 进行传递。

An overview of a Transformer block in ViT.

图 1: 视觉 Transformer 模块内部概览。PEFT 方法介入该结构中的不同点 (从 \(h_1\) 到 \(h_{10}\)) 。

研究人员将 PEFT 方法分为三大类:

  1. 基于 Prompt 的方法 (Prompt-based): 受 NLP 启发,这些方法 (如 VPT )在输入数据中添加可学习的“token”。这就像在模型看图之前给它悄悄说个提示。
  2. 基于 Adapter 的方法 (Adapter-based): 这些方法在冻结的 Transformer 层中插入小型的、可训练的神经网络模块 (瓶颈层) 。例子包括 AdapterAdaptFormerConvpass
  3. 选择性微调 (Selective Tuning): 这些方法不添加新层,只是挑选特定的现有参数进行解冻。
  • BitFit: 仅微调偏置项 (\(b\))。
  • LayerNorm: 仅微调层归一化参数。
  • LoRA (Low-Rank Adaptation): 通过学习低秩分解矩阵来更新权重矩阵。

洞察 1: 只要调得对,它们都有效

长期以来,文献表明某些 PEFT 方法远优于其他方法。这篇论文的作者认为,其中许多比较是不公平的——这些方法经常在不同的超参数或次优设置下进行测试。

研究人员在 VTAB-1K 上测试了 14 种 PEFT 方法,这是一个包含 19 个不同任务的基准测试,分为 自然 (Natural) (常规照片) 、专用 (Specialized) (医疗/卫星) 和 结构化 (Structured) (几何/计数) 。

结论是什么? 当正确实施和调整后,具有代表性的 PEFT 方法达到了惊人相似的准确率。

Accuracy gain vs. linear probing on VTAB-1K.

图 2: PEFT 方法相对于线性探测 (Linear Probing,水平线) 的相对性能。请注意,大多数 PEFT 方法 (圆点) 紧密聚集在一起,并且在这些少样本场景中始终优于全量微调 (黑色方块) 。

秘诀: Drop Path (随机丢弃路径)

作者是如何取得如此一致的结果的?他们发现一个特定的超参数 Drop Path Rate 至关重要。Drop Path 是一种正则化技术,它在训练期间随机“丢弃” (跳过) 层。

由于 PEFT 通常用于低数据场景 (如 VTAB-1K,仅有 1,000 个训练样本) ,模型很容易过拟合。

Performance gain for PEFT methods by turning drop-path-rate on.

图 3: 看看这些增益!只需开启 Drop Path,几乎所有方法都能获得显著的性能提升。

简单方法被低估了

最令人惊讶的发现之一是 BitFit 的表现。这种方法只更新偏置项——不到总参数的 0.1%。然而,在“自然”图像任务中,它的表现与 LoRA 或 Adapters 等复杂方法不相上下。

但是,当领域差异 (Domain Shift) 很大时,复杂性就很重要了。

Ranking frequency of 15 methods for three groups in VTAB-1K.

图 4: 不同任务类型的方法排名。在“自然”任务 (顶部) 中,像 DiffFit 这样的简单方法排名很高。但在“结构化”任务 (底部) 中——这需要理解几何和计数 (与 ImageNet 预训练非常不同) ——像 RepAdapter 这样更复杂的方法往往会获胜。

关键要点: 如果你的下游任务看起来像 ImageNet (自然照片) ,从 BitFit 或 LoRA 这样的简单方法入手。如果你的任务很抽象或很专业,你可能需要 Adapters 带来的额外容量。


洞察 2: 准确率相似,思路迥异

如果 LoRA、Adapters 和 SSF 在某个数据集上都达到了约 85% 的准确率,你可能会认为它们学到了完全相同的东西。那你可就错了。

研究人员分析了不同 PEFT 方法的预测结果,发现它们会犯不同的错误 。 它们在不同的图像上成功或失败。这很可能是由于它们的“归纳偏置 (inductive biases)”——它们修改网络架构的特定方式迫使它们以不同的方式处理信息。

Prediction similarity analysis.

图 5: 热力图 (a) 显示了预测相似度。尽管这些方法的准确率很高,但它们的预测并非 100% 重叠。韦恩图 (b) 显示了错误预测的重叠情况。每种方法都会在不同的图像上犯错。

集成的力量

这种多样性是集成学习 (Ensemble Learning) 的金矿。通过简单地平均不同 PEFT 模型 (例如,一个 LoRA 模型 + 一个 Adapter 模型) 的预测,你可以在不收集更多数据的情况下获得“免费”的性能提升。

Ensemble shows consistent gain.

图 6: 绿色三角形代表集成性能。它始终位于单个 PEFT 方法 (红点) 之上,证明了多样性是有回报的。


洞察 3: PEFT 不仅仅适用于“少样本”

一个常见的误解是,PEFT 仅在你没有足够数据进行全量微调时才有用。逻辑是这样的: “如果我有海量数据,我应该微调整个模型以获得最佳结果。”

这项研究挑战了这一点。他们在多样本场景 (使用 CIFAR-100 和 RESISC45 的完整训练集) 中测试了 PEFT。

PEFT accuracy in many-shot regimes.

图 7: 准确率 vs. 可调参数。即使数据充足,PEFT 方法 (线条) 仅用 2-5% 的参数就能迅速达到高准确率。在某些情况下 (如 CIFAR-100) ,PEFT 实际上优于全量微调 (橙色三角形) 。

为什么? 全量微调有时会过于激进,破坏了模型在预训练期间学到的通用知识 (这种现象被称为灾难性遗忘) 。PEFT 起到了正则化器的作用——它允许模型学习新任务,同时强制其保留预训练骨干网络的核心能力。


洞察 4: 鲁棒性与 WiSE

最后,作者研究了鲁棒性 (Robustness) 。 如果你在 ImageNet 上微调一个模型,它在处理素描版的 ImageNet 物体或对抗性样本时表现如何?

标准的全量微调通常会显著降低这种“分布外 (OOD)”鲁棒性。PEFT 由于冻结了大部分模型,因此能更好地保持鲁棒性。

但我们能做得更好吗?作者将一种称为 WiSE (Weight-Space Ensembles,权重空间集成) 的技术应用于 PEFT。WiSE 涉及将微调后模型的权重与原始预训练模型的权重 (或 CLIP 的零样本头) 进行线性插值。

WiSE PEFT performance on all distribution shift datasets.

图 8: 星星 (\(\star\)) 代表标准 PEFT。线条显示了使用 WiSE (混合权重) 时的效果。在几乎所有情况下,WiSE 都将性能推向右上方——同时提高了目标任务的准确率和偏移分布上的鲁棒性。


深入剖析: 架构

最后,让我们简要地可视化一下这些方法实际上做出的架构改变。论文强调,虽然数学公式不同,但许多基于 Adapter 的方法有着相似的理念: 注入一个瓶颈结构。

Comparison of three Adapter structures.

图 9: (a) 标准 Adapter 使用 降维投影 -> 非线性激活 -> 升维投影。(b) Convpass 引入卷积层以捕获空间信息。(c) RepAdapter 使用并行设计,可以重参数化 (合并) 回主权重中,以实现更快的推理。

结论: PEFT 秘籍

这项统一的研究将我们从“试错”带向了工程规范。以下是给学生和从业者的实用建议:

  1. 不要把问题复杂化: 对于与预训练数据相似的任务 (自然图像) ,像 LoRA 甚至 BitFit 这样的简单方法通常就足够了。
  2. 调整你的正则化: 不要忽视 Drop Path Rate 。 这往往是平庸结果与最先进结果之间的区别。
  3. 集成致胜: 如果你需要那额外的 1-2% 准确率,不要只训练一个模型。训练一个 LoRA 模型和一个 Adapter 模型,然后平均它们的预测。它们独特的归纳偏置将互为补充。
  4. 利用 PEFT 增强鲁棒性: 如果你关心模型在现实世界 (数据可能与训练时看起来不同) 中的表现,PEFT 通常比全量微调更安全。

PEFT 将深度学习世界中庞大、笨重的巨头转变为敏捷、适应性强的工具。通过理解这项研究得出的“如何做”和“为什么”,你可以更高效、更有效地部署视觉 Transformer。