原文地址
思考题
对于各种方法的结合,先不加以赘述。
问题1:什么是MAM Adapter?(解决)
答案:MAM Adapter是将prefix tuning,adapter,lora三种高效微调方法进行了整合。
问题2:什么是UniPEFT?(解决)
答案:将不同的PELT方法作为子模块,并通过门控机制学习激活最适合当前数据或任务的方法
问题3:总结一下之前的所介绍到的微调方法(解决)
答案:3.1:Bitfit:仅微调bias
3.2:prefix tuning:在每一个层的前端加入可迭代的前缀向量(软提示)
3.3:prompt tuning:仅在输入端的向量前端加入可迭代的前缀向量(软提示)
3.4:p-tuning:将prompt encoder(virtual token)转化为可以学习的embedding层(由一个双向的LSTM+两层MLP组成)
3.5:p-tuning v2:在transformer每一层都加上prompt token作为输入
3.6:adapter:在模型结构中加入某些层,改变了模型的结构
3.7:adapter fusion:在模型结构中加入某些层,用来单独训练某些任务,然后再加入fusion层来汇总
3.8:adapter drop:由于加入的adapter层有点多,导致参数量多了之后,影响模型的推理速度,所以随机地drop一些层
3.9:Lora:在attention层的线性层中加入旁路,实验证明在K和V的线性层中加入旁路效果最好
3.10:AdaLora:AdaLoRA 在 LoRA 的基础上引入了自适应调整机制,具体表现为对重要知识分配更多的参数,而对不重要的信息则减少参数。
3.11:Qlora:先将模型量化(Q)之后,再进行Lora操作
3.12:上面11种微调方法的组合:MAM Adapter和UniPEFT,当然也可以有其他的组合