别再靠猜了,开始学习吧: 利用元学习自动化 PEFT 超参数

在 GPT-4、CLIP 和 Stable Diffusion 等大规模基础模型盛行的时代,机器学习的范式已经发生了转变。我们现在很少从头开始训练模型。相反,我们采用一个预训练好的巨型模型,并针对我们的特定需求对其进行“微调”。

但是,如果你的特定需求非常小众、数据稀缺或极度不平衡,会发生什么呢?以遥感 (Remote Sensing, RS) 为例——分析卫星图像以检测特定类型的船只或地形。为此从头开始训练一个基础模型极其昂贵。全量微调 (更新所有参数) 计算量大,且往往导致过拟合,特别是在“尾部类别” (数据中不常出现的稀有物体) 上。

业界的解决方案是参数高效微调 (Parameter-Efficient Fine-Tuning, PEFT) 技术,如 LoRA (低秩适应) 或 Adapters (适配器) 。这些方法冻结巨型模型,只训练微小的附加模块。它们既高效又有效。

但这里有个陷阱。 你究竟应该把这些模块放在哪里?它们的影响力应该有多强?哪些层受益最大?

一篇名为 《Meta-Learning Hyperparameters for Parameter Efficient Fine-Tuning》 (用于参数高效微调的元学习超参数) 的新论文揭示了这些“超参数”的选择不仅仅是细枝末节——它们决定了模型性能的成败。更重要的是,作者提出了一种巧妙的方法,不再猜测这些数值,而是让模型自动学习它们。

在这篇文章中,我们将剖析为什么 PEFT 比看起来更难,探索微调超参数的复杂行为,并深入研究 MetaPEFT——一个自动化适应过程的双层优化框架。


PEFT 背后隐藏的复杂性

要理解解决方案,我们首先必须认识到问题所在。当我们使用像 LoRA 这样的方法时,我们是将小的可训练矩阵注入到一个冻结的 Transformer 块中。

大多数从业者依赖启发式方法或默认设置。例如,常见的默认设置是将 LoRA 应用于每个注意力块的 Query (查询) 和 Value (值) 投影层。但这对于卫星图像来说是最优的吗?可能不是。

这篇论文的作者进行了一项全面的研究,将知识从自然图像 (ImageNet-21K) 迁移到遥感数据集 (DOTA) 。他们分析了不同的 PEFT 方法,并发现了两个主要见解。

观察 1: 加性方法在尾部类别上胜出

PEFT 方法通常分为两类:

  1. 选择性 (Selective) : 修改现有参数的一个子集 (例如 BitFit) 。
  2. 加性 (Additive) : 向网络添加新参数 (例如 LoRA, Adapters) 。

研究人员发现, 加性方法显着优于选择性方法,特别是在“尾部类别”上——即那些在迁移学习过程中通常受损最严重的稀有类别。

图 1 对比 PEFT 方法。(a) 面板显示加性方法 (红色) 优于非加性方法 (蓝色) 。(b) 面板显示加性方法产生了更好的特征距离。

图 1 (a) 所示,加性方法 (红色气泡) 在保持较低方差的同时,始终获得比非加性方法 (蓝色气泡) 更高的准确率。此外, 图 1 (b) 显示加性方法创造了更大的“类间特征距离”。这意味着模型更擅长将不同类别的表示区分开来,这对于区分稀有的、外观相似的物体至关重要。

观察 2: 超参数陷阱

这才是棘手的地方。如果你坚持使用加性方法,你必须决定:

  1. 块内位置 (Intra-block Position) : 我们应该适应 Transformer 块内的哪些特定层? (注意力层的 Query/Key/Value?还是前馈网络?)
  2. 块深度 (Block Depth) : 在 12 层堆栈中,我们应该适应哪些块? (早期层?深层?)
  3. 缩放因子 (\(\alpha\)): 新参数对输出的影响应该有多大?

你可能认为你可以通过逐一调整来找到最佳深度,然后找到最佳层。 那你就错了。

作者发现这些超参数具有非单调的组合效应 。 请看上面的图 1 (c) 。 热力图显示了基于块深度和块内位置的准确率。

  • 更深的块通常产生更好的性能 (底部颜色较浅) 。
  • 然而,标记为 I 的位置代表了最佳单个设置的组合。令人惊讶的是,将“最好”的深度与“最好”的位置结合起来,实际上导致准确率比其他配置下降了 0.6%

更剧烈的是图 1 (d) 中显示的缩放因子敏感性。增加输出层 (Out) 的缩放因子会导致准确率从 87% 暴跌至 6.7%

这造成了一个巨大的优化难题。你面临着离散选择 (哪一层?) 和连续选择 (缩放多少?) 的混合。暴力搜索这个空间在计算上是不可能的。


MetaPEFT 登场: 学会学习

这篇论文的核心创新在于,不将这些超参数视为由人类选择的固定设置,而是视为由模型优化的可学习参数

作者提出了 MetaPEFT , 这是一个将离散和连续决策统一为单个可微“调节器 (modulator) ”的框架。

1. 统一调节器 (\(\gamma\))

标准的加性 PEFT 通过将模块 \(\Delta(x; \phi)\) 注入到冻结层 \(f(x; \theta)\) 中来工作。它通常看起来像这样:

显示二进制指示器和缩放因子的标准 PEFT 公式。

这里,\(\mathbb{1}_p\) 是一个二进制开关 (插入还是不插入?) ,\(\alpha\) 是缩放因子。这很难优化,因为你无法计算二进制开关的梯度。

MetaPEFT 将二进制开关和缩放因子替换为一个单一的连续参数 \(\gamma\):

引入 gamma 调节器的 MetaPEFT 公式。

  • 如果 \(\gamma \approx 0\) : 模块实际上被关闭 (相当于二进制开关为 0) 。
  • 如果 \(\gamma > 0\) : 模块处于活动状态,且 \(\gamma\) 的值充当缩放因子 \(\alpha\)。

这个简单的改变将离散选择问题转化为标准深度学习框架 (如 PyTorch) 可以处理的连续优化问题。

2. 集成调节器

这个调节器不仅仅是一个理论变量;它被物理地添加到网络架构中。

图 2 显示了 MetaPEFT 架构和优化循环。

图 2 (a-c) 展示了这在不同 PEFT 方法中是如何工作的:

  • AdaptFormer: 调节器 \(\gamma\) 缩放适配器分支的输出。
  • LoRA: 调节器缩放低秩矩阵 \(BA^T\) 的输出。
  • Adapter: 同样,它缩放瓶颈层的输出。

这种设计引入的开销极小 (对于 ViT-B/16 模型,额外参数少于 800 个) ,但赋予了系统对网络中每个插入点的细粒度控制。

3. 双层优化

我们不能简单地在同一训练数据上将 \(\gamma\) 与模型权重 \(\phi\) 一起训练。如果我们这样做,模型可能会贪婪地增加 \(\gamma\) 以死记硬背训练集,从而导致严重的过拟合——这对遥感等数据稀缺领域来说是一场灾难。

相反,作者受元学习启发,使用了双层优化 (Bi-Level Optimization) 策略。

显示内层和外层循环的双层优化公式。

该过程在两个交替循环中进行,如图 2 (d) 所示:

  1. 内层循环 (学习者) : 我们冻结调节器 \(\gamma\),并使用训练集更新 PEFT 参数 \(\phi\)。这教会模块需要提取什么特征。 内层循环更新公式。

  2. 外层循环 (元学习者) : 我们冻结 PEFT 参数 \(\phi\),并使用验证集 (训练集的采样通过子集) 更新调节器 \(\gamma\)。这教会模型适应强度应该多大才能具有良好的泛化能力。 外层循环更新公式。

通过在留出子集上更新 \(\gamma\),模型显式地针对泛化进行优化,有效地“元学习”任务的最佳超参数。


实验结果: 它有效吗?

研究人员在三个场景中测试了 MetaPEFT:

  1. 自然视觉: ImageNet 到 CIFAR/Places/iNaturalist。
  2. 自然到遥感: ImageNet 到 DOTA (卫星图像) 。
  3. 跨光谱: 光学卫星 (SatMAE) 到 SAR (合成孔径雷达) 。

结果验证了这种“元”方法的有效性。

与最先进技术的比较

表 4 对比了包含和不包含 MetaPEFT 的不同 PEFT 方法。

表 4 展示了主要成绩单。灰色标记的行显示了通过 MetaPEFT 增强的标准 PEFT 方法。

  • 持续的提升: 与静态基线相比,MetaPEFT 全面提升了性能。
  • LoRA 协同效应: LoRA + MetaPEFT 的组合实现了最高的平均准确率。
  • 尾部类别优势: 请看 Avg_tail 列。MetaPEFT 在尾部类别上达到了 81.63% , 而标准 LoRA 为 80.43%。在困难的“SatMAE \(\rightarrow\) SAR”迁移任务 (领域差距巨大) 中,尾部类别的提升尤为显著。

模型学到了什么?

由于模型“学会”了自己的超参数,我们可以窥探其内部,看看它选择了什么配置。结果证实,人工启发式方法往往是错误的。

1. 哪个块内层最好?

表 2 对比了块内位置。

标准 LoRA 通常应用于注意力层 (Q/K/V)。然而, 表 2 显示,将适应应用于 FFN (前馈网络) 层——具体来说是 MLP 1——产生了更好的结果 (93.4%,而 Key 投影层为 90.6%) 。FFN 层负责特征变换,对于领域适应来说,这似乎比注意力层处理的空间相关性更为关键。

2. 哪个块深度最好?

表 3 对比了块深度。

直觉表明,最深的层 (最接近输出) 对于微调最重要。 表 3 驳斥了这一点。“中下层”块 (第 3-5 层) 实际上取得了最佳性能。最深的块 (第 9-11 层) 反而出现了 3.2% 的性能下降 。 这表明对于领域迁移,适应中间特征表示比仅改变最终的高级语义更有效。

为什么它有效?更好的特征分离

最后,为什么这会导致更好的准确率?作者分析了“类间特征距离”——衡量模型对不同类别的理解有多独特的指标。

表 5 显示了类间特征距离。

表 5 显示,MetaPEFT (结合 LoRA) 最大化了类别之间的距离,特别是对于尾部类别 (余弦距离为 0.80,而标准 LoRA 为 0.78) 。通过动态调整特定层的适应程度,模型学会了在特征流形中为稀有物体开辟独特的空间,防止它们被常见类别淹没。


结论

这篇关于“用于参数高效微调的元学习超参数”的论文强调了我们目前适应基础模型方式中的一个关键低效之处。我们正在使用复杂的模型,但却用粗糙的人工猜测来配置它们。

MetaPEFT 提供了一个令人信服的替代方案:

  1. 统一离散和连续选择为单个可微参数。
  2. 利用双层优化自动化搜索。
  3. 通过分离特征学习 (内层循环) 和超参数学习 (外层循环) ,实现更好的泛化

对于学生和从业者来说,启示很明确: 随着模型变得越来越大,任务变得越来越具体,微调的“工程”正变得与建模本身一样复杂。像 MetaPEFT 这样能够自我调节并自动化这种复杂性的技术,很可能会成为在现实世界中部署基础模型的标准。