Parameter-Efficient Fine-tuning 相关工作梳理

Parameter-Efficient Fine-tuning 相关工作梳理_第1张图片

©PaperWeekly 原创 · 作者 | 避暑山庄梁朝伟

研究方向 | 自然语言处理

74b97e486d76c37442f107d289d1d5c7.png

背景

随着计算算力的不断增加,以 transformer 为主要架构的预训练模型进入了百花齐放的时代。看到了大规模预训练的潜力,尝试了不同的预训练任务、模型架构、训练策略等等,在做这些探索之外,一个更加直接也通常更加有效的方向就是继续增大数据量和模型容量来向上探测这一模式的上界。首先这些经过海量数据训练的模型相比于一般的深度模型而言,包含更多的参数,动辄数十亿。在针对不同下游任务做微调时,存储(每个任务对应一个完成的预训练模型)和训练这种大模型是十分昂贵且耗时的。

be78212b3637951587b0310e3ffebe0c.png

方法归类

2.1 Adapter

通过过在原始的预训练模型中的每个 transformer block 中加入一些参数可训练的模块实现的。假设原始的预训练模型的参数为 ω,加入的 adapter 参数为 υ,在针对不同下游任务进行调整时,只需要将预训练参数固定住,只针对 adapter 参数 υ 进行训练。常情况下,参数量 υ<<ω, 因此在对多个下游任务调整时,只需要调整极小数量的参数,大大的提高了预训练模型的扩展性和实用性。

代表论文:

Parameter-Efficient Fine-tuning 相关工作梳理_第2张图片

论文标题:

Parameter-Efficient Transfer Learning for NLP

论文链接:

https://arxiv.org/abs/1902.00751

代码链接:

https://github.com/google-research/adapter-bert

在 Multi-head attention 层后和 FFN 层后都加了一个 adapter,通过残差连接和 down-project & up-project(减少 adapter 的参数量)实现。

Parameter-Efficient Fine-tuning 相关工作梳理_第3张图片

Parameter-Efficient Fine-tuning 相关工作梳理_第4张图片

论文标题:

LoRA: Low-Rank Adaptation of Large Language Models

论文链接:

https://arxiv.org/abs/2106.09685

代码链接:

https://github.com/microsoft/LoRA

将原有预训练参数进行矩阵分解(减少参数量),然后和原有参数相加。

Parameter-Efficient Fine-tuning 相关工作梳理_第5张图片

2.2 Part Parameter Tuning

通过训练预训练模型中部分参数,减少模型训练参数,提升模型训练效率,其中包括 layernorm&head tune(只训练模型的 layernorm 和 head 层)等。

代表论文:

Parameter-Efficient Fine-tuning 相关工作梳理_第6张图片

论文标题:

BitFit: Simple Parameter-efficient Fine-tuning for Transformer-based Masked Language-models

论文链接:

https://arxiv.org/abs/2106.10199

代码链接:

https://github.com/benzakenelad/BitFit

只训练模型中的 bias 参数。

模型 head 层增加一层线性映射,通过先验非有效输入样本预估平衡(各 50% 概率进行校准)。

Parameter-Efficient Fine-tuning 相关工作梳理_第7张图片

论文标题:

Raise a Child in Large Language Model: Towards Effective and Generalizable Fine-tuning

论文链接:

https://arxiv.org/abs/2109.05687

代码链接:

https://github.com/pkunlp-icler/childtuning

Child-Tuning-F:在 fine-tune 的过程中,只需要在每一步更新的迭代中,从伯努利分布中采样得到一个梯度掩模即可,相当于在对网络参数更新的时候随机地将一部分梯度丢弃。

Child-Tuning-D:针对不同的下游任务自适应地进行调整,选择出与下游任务最相关最重要的参数来充当 Child Network。引入 Fisher Information Matrix(FIM)来估计每个参数对于下游任务的重要性程度,并与前人工作一致近似采用 FIM 的对角矩阵(即假设参数之间互相独立)来计算各个参数相对下游任务的重要性分数,之后选择分数最高的那部分参数作为 Child-Network。

Parameter-Efficient Fine-tuning 相关工作梳理_第8张图片

2.3 Prompt Tuning

固定预训练模型,每个下游任务仅添加若干个 tunable 的 token 作为前缀拼在输入样本中。实验证明了这种方式在大规模预训练模型的助力下,能够媲美传统的 fine-tuning 表现。

Parameter-Efficient Fine-tuning 相关工作梳理_第9张图片

论文标题:

Prefix-Tuning: Optimizing Continuous Prompts for Generation

论文链接:

https://arxiv.org/abs/2101.00190

代码链接:

https://github.com/XiangLi1999/PrefixTuning

将 soft tokens 作为前缀拼在输入样本中,并且拼在每一层中。

Parameter-Efficient Fine-tuning 相关工作梳理_第10张图片

论文标题:

The Power of Scale for Parameter-Efficient Prompt Tuning

论文链接:

https://arxiv.org/abs/2104.08691

代码链接:

https://github.com/google-research/prompt-tuning

在百亿参数和以上模型在 full-shot 上使得 Prompt Tuning 和 fine-tuning 效果相当。

Parameter-Efficient Fine-tuning 相关工作梳理_第11张图片

Parameter-Efficient Fine-tuning 相关工作梳理_第12张图片

论文标题:

PPT: Pre-trained Prompt Tuning for Few-shot Learning

论文链接:

https://arxiv.org/abs/2109.04332

提出 prompt 预训练,在百亿参数和以上模型在 few-shot 上使得 Prompt Tuning 和 fine-tuning 效果相当。

Parameter-Efficient Fine-tuning 相关工作梳理_第13张图片

Parameter-Efficient Fine-tuning 相关工作梳理_第14张图片

论文标题:

P-Tuning v2: Prompt Tuning Can Be Comparable to Fine-tuning Universally Across Scales and Tasks

论文链接:

https://arxiv.org/abs/2110.07602

代码链接:

https://github.com/THUDM/P-tuning-v2

在低于百亿参数模型在 full-shot 上使得 Prompt Tuning 和 fine-tuning 效果相当,引入了 prefix-tuning。

Parameter-Efficient Fine-tuning 相关工作梳理_第15张图片

Parameter-Efficient Fine-tuning 相关工作梳理_第16张图片

论文标题:

Cutting Down on Prompts and Parameters: Simple Few-Shot Learning with Language Models

论文链接:

https://arxiv.org/abs/2106.13353

代码链接:

https://github.com/ucinlp/null-prompts

在低于百亿参数模型在 few-shot 上使得 Prompt Tuning 和 fine-tuning 效果相当,并且提出 null prompt 方法

Parameter-Efficient Fine-tuning 相关工作梳理_第17张图片

2.4 Black-Box Tuning

Parameter-Efficient Fine-tuning 相关工作梳理_第18张图片

论文标题:

Black-Box Tuning for Language-Model-as-a-Service

论文链接:

https://arxiv.org/abs/2201.03514

代码链接:

https://github.com/txsun1997/black-box-tuning

通过将 prompt token 压缩到比较小的维度,然后通过无梯度优化方法进行参数调优,避免了在大模型梯度下降,只需要用户根据少量样本走预训练模型前向的结果来寻找最优的任务参数。这种方式非常有利于大模型落地,用户和大模型之间进行分离。

Parameter-Efficient Fine-tuning 相关工作梳理_第19张图片

2.5 统一框架

Parameter-Efficient Fine-tuning 相关工作梳理_第20张图片

论文标题:

Towards a Unified View of Parameter-Efficient Transfer Learning

论文链接:

https://arxiv.org/abs/2110.04366

代码链接:

https://github.com/jxhe/unified-parameter-efficient-tuning

prefix tuning 通过一些变换可以看成是和 Adapter 类似的结构,可以把它们看作是学习一个向量 ,它被应用于各种隐藏表征。形式上,直接修改的隐藏表征表示为 ,把计算 的 PLM 子模块的直接输入表示为 。

  • Parallel Adapter 是通过将 prefix tuning 的 parallel 插入转移到 Adapter 的变体。

  • Multi-head Parallel Adapter 是使 Adapter 与 prefix tuning 更加相似的进一步措施,应用 Parallel Adapter 来修改头部注意力输出作为 prefix tuning 。

  • Scaled Parallel Adapter 是通过将 LoRA 的组成和插入形式转移到适配器的变体。

Parameter-Efficient Fine-tuning 相关工作梳理_第21张图片

尝试不同策略组合,发现一些结论:

  1. Parallel Adapter 在所有情况下都能够击败 Sequential Adapter;

  2. 适配修改放在 Transformer 的 attention 模块效果更佳。

3a4e380a3b825ef6a880e23ceab1bdf0.png

总结

随着预训练大模型的发展,高效 Parameter Finetuning 是非常必要的,近期大火的 prompt 也发展着越来越像之前的 adapter 方法。希望随着方法越来越成熟,能研究在各项任务设置和模型规模上打平 finetune 的方法。

更多阅读

Parameter-Efficient Fine-tuning 相关工作梳理_第22张图片

Parameter-Efficient Fine-tuning 相关工作梳理_第23张图片

Parameter-Efficient Fine-tuning 相关工作梳理_第24张图片

78e446d31d65b3f1a75b4fcdf322de5a.gif

#投 稿 通 道#

 让你的文字被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。

 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算

 投稿通道:

• 投稿邮箱:[email protected] 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿

Parameter-Efficient Fine-tuning 相关工作梳理_第25张图片

△长按添加PaperWeekly小编

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

·

f6767a3456c5386e4ee1555a8a238404.png

你可能感兴趣的:(机器学习,人工智能,深度学习,python,计算机视觉)