软提示

义项:软提示
软提示

软提示是自然语言处理中一类以连续向量形式存在、通过反向传播学习得到的提示表示,与由人工编写离散文本的硬提示相对。它通常作为若干可训练的虚拟词元拼接到模型输入嵌入之前,在主干模型参数保持冻结的情况下引导预训练模型完成特定下游任务。这一概念随参数高效微调方法的兴起而受到关注,在提示微调、前缀微调等工作中被系统化使用,其可训练参数往往只占模型总参数的极小比例,从而降低了任务适配的存储与计算开销。

目录
  1. 定义
  2. 原理
  3. 发展历程
  4. 应用
  5. 局限
  6. 参见

定义

软提示指以连续向量序列形式存在的提示,其取值不是从词表中挑选的离散词元,而是在训练中通过梯度下降确定的实数向量。与之相对的硬提示由人工编写的自然语言文本构成,词元离散且固定,训练过程中不参与梯度更新[1]。

由于软提示不与任何实际单词的嵌入对应,它通常无法被人直接阅读,也缺乏可解释性,这一点被概括为连续向量表示与离散词表之间的不一致。在功能上,它与手写文本提示扮演相同角色,都是从标注数据中提取“如何完成任务”的信息,只是不受离散语言的约束。

中文文献中也有把这一技术路径称为提示微调或软提示学习,并把它视为让大规模预训练语言模型适配下游任务的主流途径之一[2]。

原理

典型做法是先设定软提示的长度,即包含多少个虚拟词元,再把这些向量拼接到每条输入文本的嵌入序列之前,一并送入模型。若设软提示矩阵为 $P \in \mathbb{R}^{l \times d}$、输入嵌入矩阵为 $E_i \in \mathbb{R}^{s \times d}$,其中 $l$ 为虚拟词元数、$s$ 为序列长度、$d$ 为嵌入维度,则模型实际接收的序列为二者拼接所得的 $[P; E_i] \in \mathbb{R}^{(l+s) \times d}$[3]。

训练时模型前向计算预测结果并与目标比对得到损失,误差反向传播后只用于更新软提示参数,主干网络的权重保持不变。对应的优化目标是在固定模型参数 $\Theta$ 的条件下最大化条件概率,即 $\max_{\theta_P} \log P(y \mid [P, E], \Theta)$,可训练量仅为 $\theta_P$[3]。


flowchart LR

A[输入文本] --> B[词嵌入矩阵 E]

P[软提示矩阵 P,可训练] --> C[拼接 P; E]

B --> C

C --> D[冻结的预训练模型]

D --> E[输出与损失]

E -->|反向传播,仅更新 P| P

软提示的初始化方式影响收敛速度与最终精度,常见做法包括随机初始化、从词表采样词元嵌入,以及用任务输出类别对应的词元嵌入初始化,其中最后一种在实验中往往效果较好[4]。提示长度同样是关键超参数,简单分类任务可能在较短的提示下表现最好,而复杂的序列标注任务往往需要更长的提示[5]。

发展历程

2021 年 1 月,斯坦福大学的研究者提出前缀微调,在冻结语言模型参数的前提下优化一串任务特定的连续向量作为前缀,使后续词元可以像关注虚拟词元一样关注它;该方法在只学习约 0.1% 参数的情况下取得了与全量微调相当的效果[6]。

同年 4 月,谷歌研究院的布莱恩·莱斯特、拉米·阿尔-鲁夫与诺亚·康斯坦特提交了关于提示微调的论文,明确把这类可学习向量称为软提示,并将其与前缀微调作了比较,指出提示微调可视为后者的简化形式[7]。该论文于 2021 年在自然语言处理经验方法会议(EMNLP)上发表[7]。

此后的研究沿着若干方向展开:一是研究软提示向量的序列结构问题,发现软提示对不同模型类型、模型规模、下游任务和提示长度都表现出顺序敏感性,并提出基于长短期记忆网络与位置增强的排序方法[8]。二是把软提示用于跨任务迁移与多任务生成,以缩小提示微调与全量微调之间的性能差距[9]。

应用范围也从纯文本扩展到其他模态与场景,例如把软提示引入跨具身视觉—语言—动作模型以编码不同数据源的硬件配置差异,以及在教育问答、低资源抑郁症检测、可控文本生成等领域构建分层或属性化的软提示。

应用

最主要的应用是提示微调。由于每个任务的软提示参数规模很小,训练时只需为每个下游任务各训练一份提示,推理时把它与输入一起送入同一个冻结模型,即可在一个主干网络上承载多种任务[5]。有实验显示,软提示可以短至 5 个词元,用约 2 万个参数就能引导一个 110 亿参数的模型。

在提示压缩中,软提示方法把自然语言提示转换为更短的连续可训练嵌入序列,从而压缩输入长度并降低注意力计算开销[10]。在多模态生成中,软提示也被用作条件信号,例如通过软提示反演把用户提供的图像编码为一个特殊词元的嵌入,再与其他文本词元组合用于图像生成[11]。

图数据学习方面同样出现了软提示的变体,研究者为节点分类、链接预测等任务构造软图提示,并在保持大模型参数冻结的情况下调整提示参数。

局限

软提示不改变模型权重,因此模型本身并未学到新知识,它优化的是提示而非模型;如果手工硬提示都难以较好完成任务,单纯依靠软提示优化通常难以奏效[12]。可读性与可解释性也是固有短板,向量序列无法以文本形式查看和编辑,难以说明为何选中这些嵌入[12]。

效果对规模有明显依赖。以 T5 系列为对象的消融实验表明,提示微调的竞争力随模型增大而提升,当参数量达到数十亿级别时才追平全量微调,在较小模型上则效果较弱[7]。此外,性能对提示长度、初始化方式和学习率等超参数较为敏感,需要针对任务调整[5]。

在多任务与迁移场景中,还存在源任务知识带来的负迁移、知识遗忘以及不同属性信息相互干扰等问题[2]。基于注意力的软提示迁移方法还面临输入序列变长带来的内存开销,以及在小型基座模型上性能下降的问题[13]。

参见

  • 提示工程 —— 设计提示以使模型产生预期输出的方法体系,软提示是其自动化的延伸。

  • 提示微调 —— 冻结主干模型、只训练软提示的参数高效适配方法。

  • 前缀微调 —— 在输入前加入连续任务向量,被视为软提示思路的早期代表。

  • 参数高效微调 —— 只更新少量参数即可适配下游任务的微调范式总称。

  • 大语言模型 —— 软提示技术最主要的应用对象。

  • 词嵌入 —— 软提示在数值形态上与词嵌入同处一个向量空间。

词条评价
词条统计

浏览次数:0 次

阅读量:0 次 · 阅读完成量:0 次

最近更新:2026-10-28T18:30:29Z

历史版本

本条目引用的词条
提示工程 提示微调 前缀微调 参数高效微调 大语言模型 词嵌入