1. Adapter based PEFT

1.1. Adapter Tuning

1.1.1. 背景

作为 Prompt 和 Prefix 微调技术的替代方案。 作者建议使用适配器模块(Adapter module)进行迁移学习。 Adapter 是在预训练网络层之间添加的新模块,在训练过程中仅训练新参数,原始 LLM 被冻结,因此只学习原始 LLM 的一小部分参数。 这意味着模型对之前的任务几乎具有完美的记忆,并使用少量的新参数来学习新任务。

1.1.2. 技术原理

针对每个 transformer sub-layers (Attention 和 Feed Forward Layers),在 sub-layers 之后插入两个串行的适配器模块。 适配器始终直接应用于子层的输出,分别是多头注意力的投影之后和第二个 feed-forward 层之后。 在训练时,固定住原来预训练模型的参数不变,只对新增的 Adapter 结构和 Layer Norm 层进行微调,从而保证了训练的高效性。

1.1.3. 具体细节

每个 Adapter 模块主要由两个前馈(Feedforward)子层组成,第一个前馈子层(Feedforward down-project)将 Transformer 块的输出作为输入, 将原始输入维度 d(高维特征)投影到 m(低维特征),通过控制 m 的大小来限制 Adapter 模块的参数量,通常情况下,m<<d

然后,中间通过一个非线性层。在输出阶段,通过第二个前馈子层(Feedforward up-project)还原输入维度,将 m(低维特征)重新映射回 d(原来的高维特征),作为 Adapter 模块的输出。 同时,通过一个skip connection来将 Adapter 的输入重新加到最终的输出中去,这样可以保证,即便 Adapter 一开始的参数初始化接近0, Adapter 也由于skip connection的设置而接近于一个恒等映射,从而确保训练的有效性。 hh+f(hWdown )Wup h \leftarrow h+f\left(h W_{\text {down }}\right) W_{u p}

1.1.4. How to decide the value of m

  • Adapter 模块中 m 的大小决定了待优化的参数量,因此需要对参数和性能进行权衡。
  • 原论文的实验研究发现,不同的 Adapter 大小 m 的性能十分稳定,因此对于给定的模型,任何下游任务都可以使用固定的大小 m。=

Refs:

Copyright © 版权信息 all right reserved,powered by Gitbook该文件修订时间: 2024-12-19 16:32:17

results matching ""

    No results matching ""