Pre-train, Prompt, and Predict A Systematic Survey of Prompting Methods in Natural Language Processing

传统的监督学习采用直接输入与直接输出结果的方式来完成任务。但是基于prompt的学习能够只改变prompt模板就能得到从预测生成的文本中分离出来的结果。这种方式明显更具有通用性,前提是有一个巨大的预训练模型和好的prompt templete。本篇论文介绍了从选择预训练模型到如何组织prompt到微调策略

两个巨大改变

第一阶段:纯监督学习:主要依靠特征工程,依靠工程师手工找特征,然后用最大熵回归之类的传统机器学习模型来训练

第二阶段:神经网络的阶段:此时神经网络可以自动找到特征,故而重点变成如何架构一个好的神经网络模型以更好地学习更多的特征

transformer提出之后转向:预训练+微调

LM:语言模型是一种能够计算出任何给定文本片段(观察到的文本数据)作为一个自然、合理的语言序列出现的概率的系统。

此时重心转向目标工程,具体就是深入思考在特定阶段(预训练或微调)希望模型学习到什么样的能力,根据这个期望,设计或组合能够有效引导模型学习这些能力的训练任务和相应的数学表达(即损失函数)

到了2021,大家已经不再面对各种特定的任务做微调生成一个新模型,而是用一个大型的pre-train的模型加prompt 做few-shot learning.此时重心来到了prompt engine找到最好的prompt

正式的prompt描述

image-20250510154247587.png

  • cloze prompt:z在prompt中间

  • prefix prompt:z在prompt最后面

可以用虚拟词替代自然语言prompt

答案搜索阶段,我们把所有可能的z都填入,通过LM预测概率

QQ截图20250510161448.png

答案映射阶段,我们把很多的输出映射为同一结果

下文会谈论的:

QQ截图20250510161611.png

预训练模型

trainning objectives

标准LM:从左到右的自回归模型,逐个词元预测

去噪目标:

  1. CTR(Corrupted Text Reconstruction):只要求重建损坏的部分,loss不计入其余token
  2. FTR(Full Text Reconstruction):要求重建全文,loss计入所有token

从左到右的自回归模型更适用于prefix prompt,而重建目标的模型更适用于cloze prompt

不同的加噪方式会对模型能力有不同的影响

QQ截图20250510164608.png

masking:可以随机,也可以只mask某类词汇以增强模型的某种先验知识

representation direction

  • 从左到右
  • 双向

通常实现方式都是attention masking

QQ截图20250510165231.png

QQ截图20250510165353.png

L2R LMs:

  • decoder-only的泛化性能更好ICML 22What language model architecture and pretraining objective works best for zero-shot generalization?. 在最大5B参数量、170B token数据量的规模下做了一些列实验,发现用next token prediction预训练的decoder-only模型在各种下游任务上zero-shot泛化性能最好;另外,许多工作表明decoder-only模型的few-shot(也就是上下文学习,in-context learning)泛化能力更强
  • 预训练的难度更低
  • 并没有一个明确的研究表明decoder-only一定更好

masked language models:

  • encoder-only在分类这样的下游任务上表现更好

prefix LMs&encoer-decoder:

  • 兼顾理解和生成能力

  • 由于这两种不适应非生成任务,故而使用prompt可以把非生成任务转化为生成任务

prompt engineering

prompt shape:

  1. cloze prompt
  2. prefix prompt

离散prompt:实际的,人类可读的prompt

D1提示挖掘:

  1. 给定一组训练数据,包含输入x和输出y
  2. 在大型语料库中搜索包含x和y的字符串
  3. 找出x与y之间的中间词语或者句子成分中的语法关系
  4. 那些存在频率很高的中间词或者语法关系就可以作为模板
  5. 如:[x]中间词+中间语法关系[y]

D2提示改写:

  1. 获得种子prompt(人工手写或者挖掘)
  2. 通过不同方式将其改写成多个prompt如:来回翻译、同义词替换、专门的神经网络重写
  3. 选择那个能在目标任务上获得最高训练准确率的prompt

D3基于梯度的搜索:

  1. 方法会一步步地、迭代地尝试不同的词元组合来构成提示。在每一步,它会评估当前词元选择的好坏,并尝试替换或添加能够使模型输出更接近期望目标的词元。

D4提示生成:

  1. 将x与y中间填充空,让一个模型来填充这些空

D5提示评分:

  1. 获取候选模板库
  2. 将x与y填入模板
  3. 使用LM对填入后的句子做概率预测

连续prompt

  • 让prompt不一定是自然语言,而是训练出来的能够更好适应下游任务的向量

  • 让模版有自己的可调参数,而不用调整预训练模型本身的参数,更加灵活

C1:前缀微调

前缀在每一层的K和Q都直接由前缀矩阵的参数直接生成而不是依赖原模型的矩阵参数

QQ截图20250510212332.png

Lester et al. (2021) 的方法与此类似,他们也是在输入序列前添加特殊标记(tokens)来构成一个模板,并直接调整这些特殊标记的嵌入(embeddings)。与 Li 和 Liang 的方法相比,这种方法引入的参数更少,因为它不会在每个网络层内引入额外的可调参数,而仅仅是调整输入层特殊标记的嵌入。

Tsimpoukelli et al. (2021) 训练了一个视觉编码器,该编码器将图像编码成一个嵌入序列,这个序列可以作为提示(prompt)来引导一个冻结的自回归语言模型生成相应的图像描述。他们证明了由此产生的模型可以在视觉-语言任务(如视觉问答)上实现少样本学习(few-shot learning)。

C2:使用离散提示初始化的调优

具体方法

  • 这类方法不从零开始学习连续提示,而是利用已经通过离散提示搜索方法创建或发现的提示来初始化连续提示的搜索过程。这样做的好处是,离散提示(通常由人类可读的词语构成)可以为连续提示的优化提供一个更好的起点。

C3:硬提示-软提示混合调优

这类方法不完全依赖于可学习的软提示模板,而是在一个固定的“硬提示”模板(通常由真实词汇构成)中插入一些可调整的嵌入(软提示)。

answer engineering

Answer Shape

主要是粒度区分:

  • Tokens
  • Span:几个token长度–cloze prompt
  • Sentence:–prefix prompt

根据任务选择shape:分类任务选择token或者span,多选项问题回答用sentence

Answer Space

  • 无约束空间:包含所有的tokens,生成的就是答案

  • 受约束空间:分类任务、实体识别任务、多项选择

分离答案搜索

1. 答案改写 (Answer Paraphrasing)

  • 核心思想: 从一个初始的答案集合(可能是人工设定的)出发,通过“改写”(paraphrasing)技术(比如来回翻译)来扩展这个集合,使其能够覆盖更多语言模型可能输出的、表达相同含义的答案形式。

2. 先剪枝后搜索 (Prune-then-Search)

  • 核心思想: 这类方法通常分两步进行。首先,创建一个初始的、经过“剪枝”的答案空间 Z′(选择频率高的词元或者使用LM生成),这个空间包含一些貌似合理的候选答案词,数量相对较少。然后,再在这个缩小的空间内运行一个更精细的搜索算法(最大似然、逻辑分类器),以挑选出最终的答案词(或答案词集合)。

3. 标签分解 (Label Decomposition)

  • 核心思想: 特别是在处理复杂标签(如关系抽取任务中的关系标签)时,将标签本身分解为其构成词,并将这些构成词的集合作为模型需要生成的答案。

多提示学习方法

提示集成 (Prompt ensembling) 是指在推理时针对一个输入使用多个提示 (prompts) 来进行预测的过程。

(1) 可以 利用不同 prompt 的互补优势 (leverage the complementary advantages of different prompts)。因为不同的 prompt 可能在处理某些类型的输入或捕捉某些信息时表现更好,集成起来可以取长补短。

(2) 可以 降低 prompt engineering 的成本 (alleviate the cost of prompt engineering)。因为要找到表现最好的那 一个 prompt 是非常困难且耗时的,通过集成多个 prompt,就不用非得找到那个“完美”的 prompt。

(3) 可以 稳定在下游任务上的表现 (stabilize performance on downstream tasks)。集成方法通常能让结果更稳健,不容易受到某个特定 prompt 不稳定的影响。

QQ截图20250511104402.png

均匀平均 (Uniform averaging)

当使用多个提示时,组合预测结果最直观的方法是对来自不同提示的概率取平均值

QQ截图20250511104603.png

Weighted averaging (加权平均)

为每个prompt分配权重,这个权重往往是事先通过prompt在训练集上的准确率来预先设定,Qin 和 Eisner (2021) 还引入了一种 依赖于数据 (data-dependent) 的加权策略。在这种策略下,在确定不同 prompt 的权重时,也会考虑输入数据与该 prompt 的相关性或输入数据出现在该 prompt 中的概率。

Majority voting (多数投票)

多数投票的基本思想是:每个 prompt 都对输入进行分类,给出一个预测类别,最后统计哪个类别被预测的次数最多(获得“多数票”),就将该类别作为最终的预测结果。

Knowledge distillation (知识蒸馏)

一组深度学习模型的集成(ensemble,即多个模型组合起来)通常可以提升性能。而这种更优越的性能可以通过 知识蒸馏 (knowledge distillation) 的方法转移或“蒸馏”到一个 单一的模型 (single model) 中。

首先用多个 prompt 各自对应的模型组成一个**“教师”集成模型,用它来给无标签数据打标签,**然后训练一个“学生”单一模型去学习这个带标签的数据集,从而把集成模型的知识学到单个模型里。

Prompt ensembling for text generation (用于文本生成的提示词集成)

一种简单的集成方法是使用标准的文本生成技术(比如贪婪搜索、束搜索等),但在生成答案序列中的 下一个词 (next word) (zt) 时,是基于所有 prompt 预测的下一个词概率的 集成(平均)概率 (ensembled probability) 来决定。

Schick 和 Schütze (2020) 的做法是为每一个 prompt fprompt,i(x) 单独训练了一个模型 (separate model)(很可能是对一个基础语言模型进行了微调)。他们首先使用 每个单独训练好的模型分别进行文本生成 (decode generations using each model),得到各自生成的完整文本序列。然后,他们通过平均 所有模型对某个生成的文本序列的生成概率 (averaging their generation probability across all models) 来对每一个生成的文本序列进行评分。简单来说,不是在生成过程中每一步都平均概率,而是先各自生成完整文本,再对生成的文本根据所有模型的概率进行打分,最后选择分数最高的文本。

Prompt Augmentation (提示词增强)

QQ截图20250511104402.png

演示学习 (demonstration learning)

你不再只是简单地给一个 prompt :“中国的首都是[Z]。” 而是可以在前面加上几个示例,比如:“英国的首都是伦敦。日本的首都是东京。中国的首都是[Z]。” 这样就通过前面的示例向模型展示了回答这类问题的模式。

(1) 示例选择 (Sample Selection): 如何从可能的示例中,选择出最有效、最有帮助的那些?

(2) 示例排序 (Sample Ordering): 选定的示例应该按照什么顺序排列?以及它们应该放在实际 prompt 的前面还是后面,如何组织?

Sample Selection (示例选择)

在 few-shot(少量示例)的场景下,所使用的示例的选择对于模型性能影响非常大。表现可能从在某些任务上接近当前最优水平 (near state-of-the-art accuracy) 到接近随机猜测 (near random guess) 不等。

**Gao 等人 (2021) 和 Liu 等人 (2021a) 使用了 **句子 embedding (sentence embeddings)来选择示例。具体方法是,在句子 embedding 空间中,选择那些与需要模型处理的 输入 (input) 比较接近(距离近)的示例作为演示。这个思路是希望通过选择与当前任务输入在语义或结构上相似的示例来提高效果。

为了衡量预训练语言模型基于指令执行新任务的 泛化能力 (generalization capability),Mishra 等人 (2021) 在示例中同时提供了 正面示例 (positive samples)反面示例 (negative samples)。反面示例的作用是强调模型应该 避免做的事情 (highlight things to avoid) 或常见的错误类型。

Sample Ordering (示例排序)

Lu et al. 发现,表现不佳的提示词顺序往往会导致模型预测分布严重不平衡,因此,他们假设具有较高全局熵的排列可能表现更好,因为它减轻了模型对特定标签的固有偏差。

对于每一个待评估的提示词排列顺序,Lu et al. 将其作为上下文输入到语言模型中,然后让模型对人工开发集中的每个示例进行预测。模型对于每个示例都会输出一个关于所有可能标签的概率分布。基于这些预测的概率分布,他们计算。熵在这里作为衡量模型对预测结果不确定性预测分布均衡性的指标。

Kumar 和 Talukdar (2021) 采取的方法是,他们 搜索 (search) 一个好的训练示例排列顺序作为增强 prompt。此外,他们还学习了一个特殊的 分隔符 token (separator token) 放在每个示例 prompt 之间,以期进一步提升模型性能

Prompt Composition (提示词组合)

QQ截图20250511104402.png

对于那些可以基于更基础的 子任务 (subtasks) 进行组合的 可组合任务 (composable tasks),我们也可以进行 提示词组合 (prompt composition)。这种方法是使用多个 子 prompt (sub-prompts),每个子 prompt 对应一个子任务,然后基于这些子 prompt 来定义一个 组合 prompt (composite prompt)

关系抽取任务 (relation extraction task) 中(这个任务的目标是抽取两个实体之间的关系),我们可以将这个任务分解成几个子任务,包括识别实体的特征 (identifying the characteristics of entities) 和对实体之间的关系进行分类 (classifying the relationships between entities)。

Prompt Decomposition (提示词分解)

QQ截图20250511104402.png

对于需要对同一个样本进行 多次预测 (multiple predictions) 的任务(例如 序列标注 (sequence labeling),像命名实体识别或词性标注),直接针对整个输入文本 x 定义一个完整的、包含所有预测目标的 prompt 是很有挑战性的。

解决这个问题的一个直观方法是,将这个完整的 prompt 分解成不同的 子 prompt (sub-prompts),然后 分别回答 (answer separately) 每一个子 prompt。

通过 命名实体识别 (named entity recognition - NER) 任务的例子来说明这个想法。NER 任务的目标是识别输入句子中的所有命名实体。

在 NER 这个例子中,首先会将输入的句子分解成多个 文本片段(span)。然后,可以针对 每一个片段 创建一个 prompt,让模型预测该片段的 实体类型 (entity type)(类型包括人名、地名等,也包括“不是实体”的类别)。

Training Strategies for Prompting Methods (提示词方法的训练策略)

零样本设置 (zero-shot setting):对于当前关心的这个具体任务来说,没有使用任何训练数据。

数据学习 (full-data learning),使用相对大量(reasonably large number)的训练样本来训练模型;

少样本学习 (few-shot learning),只使用非常少量的(very small number)样本来训练模型;

像 Prompt Engineering 这种方法,虽然不训练模型,但常常用任务数据来设计/验证 prompt,这让它在严格意义上并非“纯粹”的零样本。

Parameter Update Methods (参数更新方法)

QQ截图20250511123704.png

Promptless Fine-tuning (无提示词微调)

在这种策略下,给定一个特定任务的数据集,预训练语言模型(LM)的 所有参数 (all parameters) 或者 部分参数 (some parameters) 会根据下游任务训练样本产生的梯度进行更新(也就是训练)。

这是一种简单、强大且被广泛使用的方法,但是,它可能在 小型数据集 (small datasets) 上出现 过拟合 (overfit) 或者学习不稳定 (not learn stably) 的情况

模型还容易发生 灾难性遗忘 (catastrophic forgetting)。灾难性遗忘是指语言模型在微调后,丢失了它在微调之前(即预训练阶段)所具备的一些能力

Tuning-free Prompting (无微调提示词)

不改变 (without changing) 预训练语言模型的任何参数,仅仅依靠提供的 prompt 来进行预测。

这种方法可以 选择性地 (optionally) 结合使用第 6.2 节介绍的 提示词增强 (prompt augmentation),即在 prompt 中加入一些带答案的示例来增强输入。这种“无微调提示词”与“提示词增强”相结合的方式,也通常被称为 上下文学习 (in-context learning)(引用了 Brown 等人 2020 年的研究,GPT-3 的能力展示就属于这种

由于 prompt 是唯一指定任务要求的方式,因此需要大量的 人工设计/工程 (heavy engineering) 来精心构造 prompt,才能达到较高的准确率。且上下文学习在示例多时推理慢

Fixed-LM Prompt Tuning (固定语言模型的提示词调优)

仅更新 (updates only) 这些 prompt 的参数 (prompts’ parameters)。它利用从下游训练样本中获取的 监督信号 (supervision signal) 进行训练,同时保持 整个预训练语言模型 (entire pre-trained LM) 的参数 完全不变 (unchanged)

适用于少样本场景 (suitable in few-shot scenarios),在数据量较少时也能取得不错的效果。

通常情况下,它的准确率要 优于 (superior accuracy to) 无微调提示词(因为它毕竟进行了一些训练)。

缺点:

  • 不适用于零样本场景 (Not applicable in zero-shot scenarios),因为它需要训练数据来更新 prompt 参数。
  • 尽管在少样本场景下有效,但在数据量非常大 (large-data settings) 的情况下,由于只训练了很少一部分参数,其 表示能力 (representation power) 可能会受到限制(相比于训练整个大模型)。
  • 仍然需要通过选择 超参数 (hyperparameters)(用于训练 prompt 参数)或初始的 种子 prompt (seed prompts) 来进行一定的 prompt engineering。
  • 训练得到的 prompt 参数(例如一些向量)通常 不可被人直接解释或操纵 (not human-interpretable or manipulable),不像文本 prompt 那样直观。

Fixed-prompt LM Tuning (固定提示词的语言模型调优)

调优(训练)语言模型的参数 (tunes the parameters of the LM),这一点与标准的预训练加微调范式是一样的。但它额外地使用了参数 固定不变的 prompt (prompts with fixed parameters) 来指定模型的行为。

优点 (Advantages):

  • 使用 prompt 或答案工程可以更完整地指定任务,从而使得学习过程更加 高效 (efficient learning),特别是在少样本场景下表现突出。

缺点 (Disadvantages):

  • 仍然需要进行 prompt 或答案工程 (Prompt or answer engineering are still required),尽管可能不像完全不训练模型的“无微调提示词”那样需要大量设计。

  • 在一个下游任务上通过这种方法微调过的语言模型,可能 不适用于 (may not be effective on) 另一个不同的下游任务(因为它在微调过程中已经偏向了特定的任务,泛化性不如固定模型的 Prompting 方法)。

Prompt+LM Tuning (提示词 + 语言模型调优)

与 prompt 相关的新增参数 (prompt-relevant parameters)(比如软 prompt 的参数)。这些参数可以与预训练模型的 全部或者部分参数 (all or some of the parameters) 一起进行 联合微调(训练)(fine-tuned together)

优点 (Advantages):

  • 这是所有方法中 表达能力最强 (most expressive method) 的一种,因为它同时训练了模型的许多参数和 prompt 相关的参数,具有最大的灵活性。
  • 可能最适合在 高数据量 (high-data settings) 的情况下使用,能够充分利用大量数据。

缺点 (Disadvantages):

  • 需要训练和存储模型的 所有参数 (all parameters)(或者大部分参数),这通常意味着需要更多的计算资源和存储空间。
  • 小型数据集 (small datasets) 上进行训练时,由于参数量大,可能容易发生 过拟合 (May overfit)

Applications (应用)

Knowledge Probing (知识探测)

Factual Probing (事实性探测)

量化预训练语言模型内部的表示(representations)中包含了多少 事实性知识 (factual knowledge)。预训练模型的参数通常是 固定不变 (fixed) 的。通过将原始输入转换成第 2.2 节定义的 完形填空式 prompt (cloze prompt) 来检索知识

Linguistic Probing (语言学探测)

除了事实性知识,大规模的预训练也使得语言模型能够处理各种 语言学现象 (linguistic phenomena),比如类比、否定、对语义角色的敏感性、语义相似度、俚语(或行话)理解、以及对稀有词语的理解等。

Classification-based Tasks (基于分类的任务)

Text Classification (文本分类)

现有的大多数工作都是在 少样本设置 (few-shot setting) 下,探索使用 “固定提示词的语言模型调优”策略 (§7.2.4 中定义的方法) 来进行文本分类的有效性。这意味着他们使用固定的 prompt 模板,并微调语言模型的部分或全部参数

Natural Language Inference (NLI) (自然语言推理)

自然语言推理(NLI)任务的目标是预测给定两个句子之间的关系(例如,一个句子是否蕴含另一个句子 entailment)。

在 prompt engineering 方面,研究人员主要关注于在 少样本学习设置 (few-shot learning setting) 下进行 模板搜索 (template search),并且 prompt 中待预测的槽位 [Z] 的 答案空间 (answer space)(即可能填充的词语)通常是从词汇表中 手动预先选择 (manually pre-selected) 出来,并与最终的类别标签(蕴含、矛盾、中立等)进行映射。

Information Extraction (信息抽取)

Relation Extraction (关系抽取)

关系抽取任务是预测句子中两个实体之间关系的任务。

(1) 标签空间更大 (The larger label space): 关系抽取的类别数量通常比二分类任务多很多(例如,关系抽取有 80 种关系,而二分类情感分析只有 2 种情感),这使得 答案工程 (answer engineering) 更困难(需要将模型预测的词语映射到更多的关系标签)。

(2) 输入文本中不同词的重要性不同: 在关系抽取中,输入句子中的不同词语重要性可能不同(例如,提到实体的词语更有可能与关系相关),但在分类任务中使用的原始 prompt 模板往往平等对待句子中的每个词,难以轻易反映这种差异。

自适应的答案选择方法 (adaptive answer selection method) 来解决问题 (1),并针对问题 (2) 构建了 面向任务的 prompt 模板 (task-oriented prompt template construction)。在后者中,他们使用特殊的标记(例如 [E])在模板中高亮实体提及的位置,以此来区分不同词语的重要性。

Semantic Parsing (语义解析)

语义解析任务是给定一个自然语言输入,生成其对应的结构化意义表示(比如将其转换为某种程序语言或逻辑形式)

“Reasoning” in NLP (自然语言处理中的“推理”)

Commonsense Reasoning (常识推理)

一些常见的常识推理任务包括解决 Winograd Schemas(由 Levesque 等人提出的一种句子对),这类任务要求模型识别上下文中一个歧义代词(如 it, he, she)的先行词(它指代的是谁);或者是在给定多个选项的情况下完成一个句子。

对于前者(Winograd Schemas),一个例子是:“奖杯放不进棕色的手提箱,因为它太大了。” 模型需要推理出“it”指的是奖杯还是手提箱

通过在原句子中将“it”替换成可能的先行词(如“奖杯”和“手提箱”),并计算不同选项(替换后的句子)的概率,预训练语言模型可以通过选择概率最高的那个选项来取得相当不错的效果(引用了 Trinh 和 Le 的研究)

对于后者(给定选项完成句子),一个例子是:“埃莉诺提出给她的访客煮些咖啡。然后她意识到她没有干净的 [Z]。” 备选答案是“杯子 (cup)”、“碗 (bowl)”和“勺子 (spoon)”。

对于这类任务,我们同样可以计算每个备选词语(填充到 [Z] 位置后)的生成概率,并选择概率最高的那个作为答案(引用了 Ettinger 的研究)。这同样是利用模型预测概率的 Prompting 方式。

Mathematical Reasoning (数学推理)

在预训练语言模型的背景下,研究人员发现,当数字位数较少时,预训练的 embedding 和语言模型可以执行简单的加法和减法等运算,但当数字变大时就会失败(列出了一些相关研究)

Reynolds 和 McDonell (2021) 探索了更复杂的数学推理问题(例如,如果 f(x) = x * x,那么 f(f(3)) 是多少?)。他们通过将问题的推理过程 序列化 (serializing reasoning)(一步一步地展开推理过程,比如先计算 f(3),再计算 f(f(3))),从而提高了语言模型在这类问题上的性能。这暗示了通过将推理步骤融入到 prompt 的结构或内容中来引导模型进行链式思考。

Question Answering (问答)

问答任务有多种不同的格式,比如:

  • 抽取式问答 (extractive QA): 答案直接从上下文文档中抽取(例如 SQuAD 数据集)。
  • 多项选择问答 (multiple-choice QA): 模型需要从几个备选答案中选择一个(例如 RACE 数据集)。
  • 自由生成式问答 (free-form QA): 模型可以生成任意的文本字符串作为回答(例如 NarrativeQA 数据集)。

使用语言模型(并且结合 Prompting 方法)来解决问答问题的一个好处是,可以将不同格式的 QA 任务在 同一个统一的框架 (same framework) 下解决。

但也有研究发现,直接依赖模型预测的概率来判断 QA 答案的正确性可能不太可靠。

Text Generation (文本生成)

Prompting 方法可以很容易地应用于这些任务,通常是结合使用 前缀式 prompt (prefix prompts)自回归预训练语言模型 (autoregressive pre-trained LMs)

Schick 和 Schütze (2020) 探索了在少样本文本摘要任务中使用第 7.2.4 节描述的 固定提示词的语言模型调优 (fixed-prompt LM tuning) 方法,他们使用了手动设计的模板并微调语言模型。

Li 和 Liang (2021) 在少样本设置下的文本摘要和数据到文本生成(data-to-text generation,即将结构化数据转换为自然语言文本)任务中,研究了第 7.2.3 节描述的 固定语言模型的提示词调优 (fixed-LM prompt tuning) 方法。他们的方法是在输入前面加上一些 可学习的前缀 token (learnable prefix tokens)(即软 prompt 的一种),同时保持预训练模型的参数固定不变。

Dou 等人 (2021) 在文本摘要任务中探索了第 7.2.5 节描述的 提示词 + 语言模型调优 (prompt+LM tuning) 策略。他们使用了 可学习的前缀 prompt (learnable prefix prompts),并通过不同类型的引导信号进行初始化,然后这些可学习的 prompt 参数可以与预训练语言模型的参数一起进行更新(联合训练)。

Automatic Evaluation of Text Generation (文本生成的自动评估)

Yuan 等人 (2021b) 的研究表明,prompt learning(基于 prompt 的学习方法)可以用于对生成的文本进行 自动评估 (automated evaluation)。这意味着他们不用传统评估指标(如 BLEU),而是利用 Prompting 的方式让模型自己来评估生成文本的质量

他们通过实验发现,在使用预训练模型进行(机器翻译)评估时,仅仅在被评估的翻译文本中加入一个简单的短语“such as”(例如将原文、机器翻译结果以及“such as”一起作为 prompt 的一部分输入模型),就能在德语-英语机器翻译(MT)的评估中,显著提高评估结果与人工判断结果的 相关性 (correlation)

Multi-modal Learning (多模态学习)

Tsimpoukelli 等人 (2021) 将 prompt learning 的应用从纯文本的自然语言处理领域,转移到了 多模态设置 (multi-modal setting),具体是结合了 视觉 (vision)语言 (language)

他们采用了前面第 7.2.3 节讨论的 固定语言模型的提示词调优策略 (fixed-LM prompt tuning strategy),并结合了 提示词增强 (prompt augmentation) 技术。

具体来说,他们将每一张图像表示为一个 连续的 embedding 序列 (sequence of continuous embeddings)。然后,他们使用一个参数 固定(frozen) 的预训练语言模型,将这个图像 embedding 序列作为 前缀 (prefix) 输入给模型,让模型去生成文本,比如 图像描述 (image captions)

Pre-train, Prompt, and Predict A Systematic Survey of Prompting Methods in Natural Language Processing

http://example.com/2025/05/10/NLP1/

Author

SAI_MUD

Posted on

2025-05-10

Updated on

2025-05-12

Licensed under