PEFT(Parameter-Efficient Fine-Tuning)---LoRa方法

1.四种范式

提示:如何更好的和大语言模型对话

peft涉及对模型参数的改变和学习:如何得到更好的大语言模型

下图有四种应用的范式:第一种范式是直接用,生成的内容只有之前学习的知识。第二种范式:RAG,把特定领域的知识交给大模型,让大模型再重新组织一下。第三种范式:思维链(Cgain-of-Thought,CoT)其中instructions就是prompt。第四种范式:微调解决领域专业知识。那为什么要高效微调(peft),因为大语言模型的参数越来越大,训练模型所需要的软件和硬件成本太大。peft:只训练一部分参数,来达到需要的效果。

peft(参数高效微调)只训练(微调)小的神经网络,roberta大模型冻住,让我们的输出效果更好。(通过小的神经网络控制这个大的roberta模型,让输出的效果更好,这就叫做peft参数高效微调)

2.peft常见的三种方法

(1)prefix-tuning方法

P-turning只加在输入端,训练的参数量有限,并且不能影响到每一层;prefix-tuning把参数加到每一层,有了更好的效果。这是第一种比较常见的peft的方法。

(2)Adapter方法

下面这篇是早期peft的论文,Google公司针对bert的peft微调方式。软提示用虚拟token占了位置,减少了输入的token。而且面对特定下游任务时,如果进行full-fintuning(即预训练模型中的所有参数都进行微调),太过低效。为了摆脱虚拟token占位置的问题和full-fintuning太过低效的问题,Google公司提出Adapter结构。在传统的transform的基础上加上Adapter结构,在训练时,固定transform的所有参数,只更新Adapter。优点:第一不占位置,他是直接在层里面的。第二:每一层都是transform架构,都是一样的,所以可以把参数加在每一层中。缺点:把模型加深了,在推理阶段需要更多的时间。而且绝大多数情况下,效果不如full-fintuning。

加上Adapter结构效果如下图所示。

(3)LoRA方法

这个是本次内容的重点,也是后面要使用的peft的方法--LoRA。也是最主流的方法之一。低秩矩阵可以当作复杂度较低的矩阵。低秩矩阵可以变成两个较小矩阵的乘积,大幅度提升计算效率。

下图可以看出,他是并行计算,不增加模型深度,不增加模型推理时延。可以应用在每一层,不占用token位置。

下图是lora的效果,可以看出在前两个任务中,精确度上lora和full几乎没有差别。loss方面,lora比full收敛更快,内存消耗更小。

lora是微调大语言模型的技术,微调大语言模型是为了解决生成任务。下面介绍生成任务是怎么训练。分成三步,Pre-Training,SFT和RLHF。第一步是学习说出通顺的语言,但不管对不对(也就是说人话)。SFT是回答的准确。RLHF是回答的更舒服。我们要做的是SFT这一部分,让我们生成的内容准确。SFT全称是Supervised Fine-tunning(有监督微调,有监督就是有标签的意思)。

在介绍SFT之前,先介绍Pre-Training。因为Pre-Training和SFT训练很类似。下面是Pre-Training

假设我们的大语言模型只有一层,因为多层过程是一样的。下图是大语言模型在预训练的过程。

生成任务本质是分类任务,把每个token分类到字典里面的每个位置。Pre-Training计算每个token的损失加在一起。预训练的输入的是一段文本。

SFT的输入的内容是一问一答的形式。也就是prompt(instruction)+answer。SFT只计算answer的损失。为了让大语言模型有这个问题,得到这个答案,关注在回答,拟合answer就可以了。

相关推荐
HIT_Weston2 小时前
20、【Agent】【OpenCode】源码构建(依赖安装)
人工智能·agent·opencode
记忆张量MemTensor2 小时前
AI 数据迁移指南|Claude 靠提示词搬家,MindDock 一键完整备份记忆
人工智能·python·开源·github·浏览器
爱打代码的小林2 小时前
OpenCV 实战:为视频添加椒盐噪声并实现中值滤波去噪
人工智能·opencv·计算机视觉
心前阳光2 小时前
Unity使用豆包语言模型
unity·语言模型
xingyuzhisuan2 小时前
部署 AI 应用需要什么服务器?
人工智能
天远Date Lab2 小时前
Python实战:基于天远二手车估值API构建企业车队资产数字化管理方案
大数据·人工智能·python
IT_陈寒2 小时前
SpringBoot 项目启动慢?这5个优化技巧让你的应用快50%
前端·人工智能·后端
岁岁种桃花儿2 小时前
AI超级智能开发系列从入门到上天第七篇:PromptTemplate模板
人工智能·llm
code_pgf2 小时前
Jetson Orin NX 16G部署openclaw及本地化安全配置及建议
人工智能·安全·ai