LLaMA参数微调方法

1.Adapter Tuning:嵌入在transformer中

新增了一个名为adapter的结构,其核心思想是保持模型其他原始参数不变,只改变adapter的参数,其结构如下图所示:

1.在每一个transformer模块最后都加入一层adapter。

2.adapter首先使用一个feedforward将高维特征映射到了低维特征。

3.低维特征经过一层非线性层之后将低维特征映射回高维特征。

2.Prefix Tuning:构造虚拟token

1.在输入token之前构造一段任务相关的虚拟token作为Prefix。

2.在训练时可以只更新Prefix部分的参数,而transformer预训练的参数固定。

【注】该方法与构造Prompt类型,但是构造人为构造的显示提示并且构造参数不可更新,而Prefix是隐式构造。

3.Prompt Tuning

与Prefix Tuning相比之下,prompt tuning使用单个提示表示,该表示前置于嵌入式输入。除了需要更少的参数外,所提出方法允许transformer更新中间层任务表示,通过输入示例进行上下文化。

Prompt tuning只需要为每个任务存储一个小的特定于任务的提示,并使用原始的预训练模型支持混合任务推理。
P-Tuning V1只在输入层加入了Prompt,而P-Tuning V2则在每一层都加入了Prompt,解决了深度提示优化的问题。另外P-Tuning V2还提出了Multi-task learning解决不同规模和任务的适配性问题。

4.LoRA

LoRA的核心思想是用一种低秩的方式来调整这些参数矩阵,在数学上低秩意味着一个矩阵可以用两个极小的矩阵来近似。它提出用两个小矩阵近似一个大矩阵,先降维(减小计算量)后升维(维持维度不变)。具体来说是固定原始模型的参数,只训练降维矩阵A与升维矩阵B。最后用原始模型参数与B矩阵相加。

A矩阵一般用随机高斯分布初始化,维度上是降维;B矩阵用0矩阵初始化,维度上是升维。

参数更新 :W = W + A*B。

梯度更新 :在微调过程中,计算关于矩阵A和矩阵B的损失,在优化过程中对A和B进行更新,原始矩阵W保持不变。

代码具体操作:①将原始矩阵W参数冻结。②新引入两个线性层对应图中两个矩阵,先降维后升维。③LoRA主要实现了两分支通路,一条分支为已被冻结weight参数的原始结构,另一条分支为新引入的降维再升维线性层。

5.QLoRA:相比于LoRA进一步降低显存消耗

而QLoRa更进一步,引入了4位量化、双量化和利用nVidia统一内存进行分页。

分页优化器、双量化、增加Adapter。

相关推荐
阡陌数智29 分钟前
Llama 4 MoE 架构深度拆解:交替稀疏专家设计与生产环境推理落地实战
架构·llama
论文复现现场1 小时前
8卡4090能跑70B吗?Llama-2显存预算、QLoRA与通信瓶颈
人工智能·深度学习·分布式训练·llama·显存·qlora·算家云
用户15970637602 小时前
一文读懂淘宝店铺在售商品接口:整店商品批量拉取用于竞品研究
深度学习
布吉岛的石头2 小时前
Java 程序员第 49 阶段11:Java 接 BERT:用 ONNX Runtime 做句向量推理
java·人工智能·python·深度学习·bert·transformer
liron714 小时前
技术的诞生与演化--技术自举及其冷启动
人工智能·深度学习·神经网络·自然语言处理
喜欢打篮球的普通人5 小时前
MiniMind 学习笔记(十八):速通强化学习——从 MDP 到 PPO 的概念与算法地图
笔记·深度学习·学习
`流年づ6 小时前
VGG、AlexNet、GoogLeNet对比
人工智能·深度学习
打工仔折腾 AI6 小时前
FaceFusion本地换脸实战:Windows整合包、模型选择与遮罩调参记录
人工智能·windows·后端·python·深度学习·性能优化·ai agent 实战
数智工坊6 小时前
视觉SLAM第5讲|相机成像模型:针孔投影、畸变修正与深度感知全拆解
人工智能·深度学习·数码相机·机器人
Rocky Ding*7 小时前
VideoChat3 深度解析:视频理解的效率,来自时空压缩与主动感知的共同设计
论文阅读·人工智能·深度学习·机器学习·aigc·ai-native·视频理解