主流PEFT(详细版)
大模型微调可以大概分为全量微调和PEFT两种。
PEFT旨在最小化微调参数的数量和计算复杂度,来提高预训练模型在新任务的性能,从而缓解大型预训练模型的训练成本。
主流的PEFT有七种,Lora,Qlora,Adapter Tuning, Prefix Tuning, P-Tuning和 P-Tuning v2
1.Lora
的核心思路是在模型的关键层中添加小型低秩的矩阵来调整模型的行为,而不是直接改变真个模型的结构。
好处:不增加太多额外的计算负担的情况下,有效调整模型,保持其原有的性能。
2.QLORA
是一种高效的模型微调方法, 在lora的基础上引入了深度量化过程,Qlora的核心是首先将模型用4-bit加载,然后再训练时将模型反量化到bf16后进行训练,这种设计可以显著减少训练所需的显存。
3.Adapter Tuning
是在模型的每一层或者特定层之间插入小的神经网络模块,称为adapters,这些adapters是可以训练的,而原始模型的参数保持不变。
4.Prompt Tuning
关注于设计输入提示以引导模型生成期望的输出,通常用于文本分类,情感分析。
核心原理: PLM(预训练模型)不变,W(模型的权重)不变,X(模型输入)改变。
5.Prefix Tuning
涉及在模型输入中添加一个可训练的前缀向量,向每个变换器块添加可训练的张量。用于在保持模型大部分参数不变的同时对特定任务进行微调,Prefix Tuning 特别适用于需要捕捉复杂上下文信息的任务,适用于文本生成。
PLM(预训练模型)不变,W(模型的权重)不变,X(模型输入)不变,增加W’(前缀嵌入的权重)。
Prompt-tuning主要关注于输入序列的修改,而Prefix-tuning则是对模型内部自回归过程的初始化状态进行调整
6.P-Tuning
(论文:GPT Understands, Too),该方法将Prompt转换为可以学习的Embedding层,并用MLP+LSTM的方式来对Prompt Embedding进行一层处理。
相比Prefix Tuning,P-Tuning加入的可微的virtual token,但仅限于输入层,没有在每一层都加;另外,virtual token的位置也不一定是前缀,插入的位置是可选的。这里的出发点实际是把传统人工设计模版中的真实token替换成可微的virtual token。
7.P-Tuningv2
在每一层都加入了Prompts tokens作为输入,而不是仅仅加在输入层,这带来两个方面的好处:
- 更多可学习的参数(从P-tuning和Prompt Tuning的0.01%增加到0.1%-3%),同时也足够参数高效。
- 加入到更深层结构中的Prompt能给模型预测带来更直接的影响。
- 移除重参数化的编码器。以前的方法利用重参数化功能来提高训练速度和鲁棒性(如:Prefix Tuning中的MLP、P-Tuning中的LSTM))。在 P-tuning v2 中,作者发现重参数化的改进很小,尤其是对于较小的模型,同时还会影响模型的表现。
- 针对不同任务采用不同的提示长度。提示长度在提示优化方法的超参数搜索中起着核心作用。在实验中,我们发现不同的理解任务通常用不同的提示长度来实现其最佳性能,这与Prefix-Tuning中的发现一致,不同的文本生成任务可能有不同的最佳提示长度。
- 引入多任务学习。先在多任务的Prompt上进行预训练,然后再适配下游任务。多任务学习对我们的方法来说是可选的,但可能是相当有帮助的。一方面,连续提示的随机惯性给优化带来了困难,这可以通过更多的训练数据或与任务相关的无监督预训练来缓解;另一方面,连续提示是跨任务和数据集的特定任务知识的完美载体。我们的实验表明,在一些困难的序列任务中,多任务学习可以作为P-tuning v2的有益补充。
- 回归传统的分类标签范式,而不是映射器。标签词映射器(Label Word Verbalizer)一直是提示优化的核心组成部分,它将one-hot类标签变成有意义的词,以利用预训练语言模型头。尽管它在few-shot设置中具有潜在的必要性,但在全数据监督设置中,Verbalizer并不是必须的。它阻碍了提示调优在我们需要无实际意义的标签和句子嵌入的场景中的应用。因此,P-Tuning v2回归传统的CLS标签分类范式,采用随机初始化的分类头(Classification Head)应用于tokens之上,以增强通用性,可以适配到序列标注任务。
原文地址:https://blog.csdn.net/qq_56734304/article/details/144116351
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!