【论文解读】Prefix-Tuning: Optimizing Continuous Prompts for Generation

一.介绍

1.1 前置知识

1.1.1 in-context learning

At the limit, GPT-3 (Brown et al, 2020) can be deployed using in-context learning, which is a form of prompting, without modifying any LM parameters.

"部署" 指的是将 GPT-3 模型用于实际应用或特定任务的过程。

"In-context learning" 是一种通过提供上下文或附加信息来指导模型生成的方法。在这种情况下,用户可以向 GPT-3 提供一些上下文或提示(prompt),以引导模型生成相关的回复或执行特定任务,而不必重新训练或微调模型。模型根据提示生成响应,并且可以根据提示的不同来执行不同的任务。这种方式可以让 GPT-3 在不修改模型参数的情况下,适应多种任务。

1.2 简介

微调(顶部)更新所有LM参数(红色Transformer框),并且需要为每个任务存储完整的模型副本。我们提出prefixtuning(底部),它冻结LM参数并只优化前缀(红色前缀块)。因此,我们只需要为每个任务存储前缀,使前缀调优模块化且节省空间。

前缀调优(prefix-tuning)将一系列,被称之为前缀(prefix),连续的特定于任务的向量添加到输入中。为了生成每个令牌,LM可以像处理"虚拟令牌"序列一样处理前缀,但与提示不同的是,前缀完全由不对应于真实令牌的自由参数组成。

1.3 理解

基于前缀的架构使我们能够在单个批处理中处理来自多个用户/任务的示例,这是其他轻量级微调方法(如adaptertuning)无法实现的。

二 .

2.1 问题建模

一个条件生成任务,其中输入x是一个上下文,输出y是一个令牌序列。有两种模式:第一种是像GPT2的自回归模型,第二种是类似于BART的encoder-decoder架构来建模上述问题

2.1.1 自回归建模

表示在时间步骤i的到第j层的激活向量。

一个自回归神经LM计算作为的函数和过去在其左侧上下文中的激活,如下所示:

最后一层使用Softmax计算下一个token的分布

2.1.2 编码器解码器架构

由双向编码器编码,解码器自回归预测y(以编码的x及其左侧上下文为条件)

通过双向编码器获得当时的,通过自回归解码器获得当时的

2.2 Prefix-Tuning

上下文可以通过指导从x中提取什么来影响任务输入x的编码,并且可以通过指导下一个令牌分布来影响任务输出y的生成。比较直观的想法就是直接使用词嵌入来替代在使用过程中提供上下文信息和额外信息

  • 自回归 : 增加一个前缀,得到z = [prefix;x;y]
  • encoder-decoder架构:为编码器和解码器都添加前缀,得到z = [PREFIX;x;;y]

直接更新Pθ参数会导致优化不稳定,直接重参数化为一个小的矩阵和一个大前馈神经网络MLP,即 。一旦训练完成,这些重参数化参数可以被丢弃,只需要保存前缀

2.3 实验结论

  • 当训练样本数量较少时,前缀调优具有相对优势
  • 前缀长度:更长的前缀意味着更多可训练的参数。当前缀长度增加到一个阈值(时,性能会增加,然后出现轻微的性能下降。
  • 增强表现力的链:离散提示< embedding-only < prefix-tuning

embedding-only就是"虚拟令牌"的连续嵌入的实例化实现

  • 前缀调优由优于中缀调优

作者认为这是因为前缀调优可以影响x和y的激活,而中缀调优只能影响y的激活。

相关推荐
AndrewHZ2 小时前
【图像处理基石】什么是油画感?
图像处理·人工智能·算法·图像压缩·视频处理·超分辨率·去噪算法
Robot2513 小时前
「华为」人形机器人赛道投资首秀!
大数据·人工智能·科技·microsoft·华为·机器人
J先生x3 小时前
【IP101】图像处理进阶:从直方图均衡化到伽马变换,全面掌握图像增强技术
图像处理·人工智能·学习·算法·计算机视觉
Narutolxy5 小时前
大模型数据分析破局之路20250512
人工智能·chatgpt·数据分析
浊酒南街5 小时前
TensorFlow中数据集的创建
人工智能·tensorflow
2301_787552877 小时前
console-chat-gpt开源程序是用于 AI Chat API 的 Python CLI
人工智能·python·gpt·开源·自动化
layneyao7 小时前
AI与自然语言处理(NLP):从BERT到GPT的演进
人工智能·自然语言处理·bert
jndingxin8 小时前
OpenCV 的 CUDA 模块中用于将多个单通道的 GpuMat 图像合并成一个多通道的图像 函数cv::cuda::merge
人工智能·opencv·计算机视觉
格林威8 小时前
Baumer工业相机堡盟工业相机的工业视觉中为什么偏爱“黑白相机”
开发语言·c++·人工智能·数码相机·计算机视觉
灬0灬灬0灬9 小时前
深度学习---常用优化器
人工智能·深度学习