一、定义
Prompt - Tuning(提示微调)是一种自然语言处理(NLP)技术,它主要涉及对预训练语言模型(如BERT、GPT等)进行微调以更好地适应特定的下游任务。在传统的微调方法中,会对模型的全部或大部分参数进行更新,而Prompt - Tuning则聚焦于优化输入文本的提示(prompt)部分相关的参数。
二、工作原理
-
Prompt设计
- 首先要构建合适的提示文本。例如,在文本分类任务中,如果是情感分类(正面/负面),提示可以是“这句话的情感是[ ]”,其中[ ]是需要模型填充的部分,这个提示引导模型朝着情感分类的方向去理解输入句子。
- 提示可以是手工设计的,也可以通过自动生成的方法得到。自动生成的提示可能利用了语言模型本身的生成能力,通过在预训练的语言模型上生成一系列可能的提示候选,然后选择最有潜力的提示用于后续的微调。
-
参数更新
- 只更新与提示部分相关的参数。在模型训练过程中,将输入文本和提示一起输入到语言模型中,模型会根据提示的引导来生成相应的输出。比如,对于一个给定的句子“这部电影很精彩”,结合前面的情感分类提示,模型会尝试在[ ]中填入“正面”。
- 这些参数的更新是基于训练数据的监督信号进行的。在有标注的训练数据中,如上述句子标注为“正面情感”,模型通过最小化预测结果(“正面”)和真实标签(“正面情感”)之间的差异来更新与提示相关的参数。
三、优势
-
高效性
- 与传统的微调方法相比,Prompt - Tuning更新的参数数量相对较少。因为它主要关注提示部分的参数,所以在训练过程中计算资源的消耗较低,训练速度更快。例如,对于一个拥有数亿参数的大型语言模型,传统微调可能需要更新大部分参数,而Prompt - Tuning可能只需要更新与提示相关的几千或几万参数。
-
泛化能力强
- 由于提示的设计可以引导模型以一种更通用的方式理解任务,Prompt - Tuning能够在不同的下游任务中表现出较好的泛化性能。例如,一个经过Prompt - Tuning训练用于情感分类的模型,在稍微调整提示后,可能可以用于观点提取等相关任务。
-
减少对大规模标注数据的依赖
- 它在一定程度上可以利用语言模型本身的知识和预训练的信息,所以相对传统微调,对于大规模标注数据的需求可能会降低。通过巧妙的提示设计,可以让模型更好地利用预训练阶段学到的知识来完成下游任务,即使标注数据有限。
四、应用场景
-
文本分类
- 如新闻文章分类(体育、政治、娱乐等类别),通过设计合适的提示,如“这篇新闻的主题是[ ]”,可以让模型有效地对新闻文章进行分类。
-
知识问答
- 在问答系统中,提示可以是“[问题]的答案是[ ]”。例如,对于问题“地球的直径是多少?”,模型可以根据这个提示在预训练知识和训练数据的基础上尝试回答出正确答案。
-
文本生成
- 比如故事生成任务,提示可以是“以[开头场景]为开头,续写一个故事:[ ]”,引导模型根据给定的开头场景来生成完整的故事。
参考
- https://zhuanlan.zhihu.com/p/618871247