本文主要是介绍大模型参数高效微调学习笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
大模型参数高效微调学习笔记
github地址
billbill链接
1.分类
图中有五个大类:
- selective(选择性微调):BitFit,Attention Tuning
- soft prompts(提示微调):Prompt-tuning,P-tuning,Prefix-Tuning
- reparametrization-based(重参数化微调):Lora
- additive(增量微调):IA3
- adapters(适配器微调):Adapters
2.代表性的方法介绍
1.BitFit
将模型的所有偏置bias设为可训练的参数,其他部分设置为不可训练的。
2.Attention Tuning
将模型的所有注意力层Attention设为可训练的参数,其他部分设置为不可训练的。
3.Prompt-tuning
在模型的输入的prompt前面加入一个可训练Prompt embedding向量,模型的整个部分全部冻结,如下图。
如果Prompt embedding向量参数是随机初始化的,则是soft prompt,如果使用一段文本初始化(例如,“下面是一个情感任务”),则是hard prompt。
4.P-tuning
在Prompt-tuning的基础上,使用一个LSTM/MLP(或其他一个小的神经网络)获得Prompt embedding向量。除了LSTM/MLP部分,其他部分均冻结,即原模型的整个部分全部冻结。
5.Prefix-Tuning
在Transformers模型的每一层网络的前面都加一个可训练的past_key_values向量,原模型的整个部分全部冻结。
5.Lora
原模型的整个部分全部冻结,新增一部分参数W_lora,W_lora之后可以与原模型的参数进行合并。
6.IA3
通过训练一个向量,修改网络的激活值实现。
这篇关于大模型参数高效微调学习笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!