【论文解读】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;![PREFIX{}'](https://file.jishuzhan.net/article/1715917076096356353/5edcbdd544c57b7d05fd492267c6bb81.webp);y

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

2.3 实验结论

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

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

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

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

相关推荐
深蓝AI18 分钟前
不调模型不改壳:CMU 开源 Hermit,给 Agent 外挂一个能训练的适配器
人工智能·agent
汤姆宝库2 小时前
世界模型深拆:视频生成、潜在模拟与物理直觉
人工智能
weixin_468466856 小时前
从“看懂”到“做到”:视觉-语言-动作模型如何让机器人真正执行指令
人工智能·ai·机器人·大语言模型·前沿科技
朋友圈自动点赞工具6 小时前
科学AI插件化:从蛋白质结构到古籍修复
人工智能
龙粤GEO6 小时前
实体Entity在GEO中代表什么含义
人工智能
剑雨巍巍8 小时前
AI Agent面试之基础概念
人工智能
微帧Visionular8 小时前
AI视频单帧清晰,播放时却闪烁,原因是什么?
人工智能·深度学习·音视频
武子康8 小时前
MultiNet6 空闲崩溃:`EXCVADDR=0x8` 后又出现 `CORRUPT HEAP`
人工智能·后端·agent
云智慧AIOps社区8 小时前
智能巡检机器人应用场景解析:机房巡检、园区安防、管廊巡视与展厅导览
人工智能·机器人·具身智能·智能巡检机器人·企业级智能巡检机器人·机房巡检机器人·导览机器人
EnCi Zheng8 小时前
Agent 如何进行工具调用:从一次 Function Calling 到生产级工具编排的完整链路
大数据·人工智能·agent·ai编程·工具调用