LLaMA-Adapter: Efficient Fine-tuning of Language Models with Zero-into Attention论文解读

文章介绍了LLaMA-Adapter技术,这是一种针对大语言模型(如LLaMA)的轻量级微调方法。通过在模型高层添加可学习的适应性提示,并采用零初始化注意力机制,减少了训练时间和资源需求。这种方法支持多模态任务,且在仅使用少量参数的情况下,性能接近完全微调的Alpaca模型。
摘要由CSDN通过智能技术生成

LLaMA-Adapter: Efficient Fine-tuning of Language Models with Zero-into Attention论文解读

Introduction

作者之处最近大语言模型获得了学术界与工业界广泛的关注,LLMs展现出了很不错的能力。用指令或者提示可以生成专业的、复合上下文的对话,然而 instruction- f following的 models 受限于 闭源的数据与算力

Alpaca是一个用self- instruction 生成的数据通过完全微调LLaMA得到的模型。它只需要175个qa数据,通过self-instruction生成了52k对qa数据,它的性能接近于gpt3.5。

作者指出完全微调LLaMA仍然消耗时间,不支持多模态,对不同的下游任务十分臃肿。

在这篇文章,作者在模型的higher layers添加了一个可学习adaption prompts 作为prefix 注入到 new instruction。为了避免在训练初期的噪声,修改插入层的普通注意机制为零初始注意力,有一个可学习的门控因素。

总之,它有如下优点:

  1. 1.2M的参数达到了与Alpaca完全微调类似的能力。
  2. 1小时的微调时间。
  3. 灵活的的切换下游任务。
  4. 支持多模态。

在这里插入图片描述

LLaMA-Adapter

Learnable Adaption Prompts

给定52k的qa数据,n层的PLM:LLaMA,定义对于L层transformer的prompt表示为:

在这里插入图片描述

其中K表示prompt的长度,C表示model的hidden_dimension。
L<N,L表示最多插入prefix的层,N表示模型的层数,作者表示这可以用高级语义更好地调整语言表示。

定义model原始每层 有M个token,两者结合表示为:
在这里插入图片描述
作者认为以这种方法,Pl可以高效的指导每层Tl的输出。(我感觉这里有点像P-tuningV2)。

Zero-init Attention

在这里插入图片描述
如上图,在原始方法中,预测黄色的token,需要考虑黄色与它的前面所有的token,当给这一层网络加上前缀后(采用随机初始化),在模型训练初期,可能会引入噪声,造成前期训练不稳定。

作者把原始的Vanilla Attention换成了 Zero-init Attention,为了减少噪声,作者引入了一个可学习的Zero Gating,把它初始化为零,与前缀做乘法。

第二点改进就是在计算attention score的时候会对所有token(方便说明,实际是根据是q*k的那个公式)计算softmax,作者把前缀与原有的token分别计算。

在这里插入图片描述

然后通过linear得到下一层的结果。

在这里插入图片描述

实验

可训练参数比 lora 还少,训练时间相比于原始 alpaca-llama 降低 3 倍
在这里插入图片描述
增加 adapter 的训练层数,可以看到增加更多训练层的精度会更好
在这里插入图片描述
零初始化效果
在这里插入图片描述
方法对过拟合问题较为鲁棒,训练 60 epoch 情况下 acc 是最高的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HanZee

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值