Prompt-Tuning(一)

一、预训练语言模型的发展过程

第一阶段的模型主要是基于自监督学习的训练目标,其中常见的目标包括掩码语言模型(MLM)和下一句预测(NSP)。这些模型采用了Transformer架构,并遵循了Pre-training和Fine-tuning的训练范式。通过预训练模型在大规模无标签数据上进行学习,可以使模型学习到丰富的语言知识和语境理解能力。

第二阶段是在第一阶段的基础上,逐步扩大了模型的参数规模和训练语料的规模。同时,研究人员还尝试了不同类型的模型架构,如BART、T5和GPT-3。这些模型在预训练的基础上,可以进行各种下游任务的微调,如文本摘要、机器翻译等,展示了更强大的语言生成和理解能力。

第三阶段是目前的最新发展阶段,模型的参数规模进一步增大,达到千万亿级别。模型架构也从自监督预训练转向了自回归架构,更加注重与人类的交互对齐,实现可靠、安全、无毒的生成内容。同时,大型模型也开始应用于对话生成和多模态任务,可以生成更具人类交互性和多样性的内容。
预训练语言模型的发展历程

随着GPT-3的诞生,其面向新一代大规模AI模型方向的发展正在成为自然语言处理领域的一个重要趋势。与传统的离散、连续Prompt构建方法不同的是,这些新的方法都可以直接从context中获取信息,使得模型能够更好地适应真实的场景。

其中,In-Context Learning可以让模型根据上下文信息不断学习、优化,提高模型的交互性和自适应性。In Context Learning(ICL)的关键思想是从类比中学习。下图给出了一个描述语言模型如何使用 ICL 进行决策的例子。首先,ICL 需要一些示例来形成一个演示上下文。这些示例通常是用自然语言模板编写的。然后 ICL 将查询的问题(即你需要预测标签的 input)和一个上下文演示(一些相关的 cases)连接在一起,形成带有提示的输入,并将其输入到语言模型中进行预测。
In-Context Learning

而Instruction-tuning则利用指令的形式让模型更好地理解并遵循特定的任务需求。你觉得哪个任务简单?请把序号打在公屏上。做判别是不是比做生成要容易?Prompt就是第一种模式,Instruction就是第二种。

  1. 带女朋友去了一家餐厅,她吃的很开心,这家餐厅太__了!(Prompt)
  2. 判断这句话的情感:带女朋友去了一家餐厅,她吃的很开心。选项:A=好,B=一般,C=差(Instruction-tuning)

而Chain-of-Thought则能帮助模型在一个完整的思路链条中理解和生成文本。作者Jason发现,传统的prompting中,总是让模型一步到位地解决一个复杂multi-step问题,而我们人类的认知方式则是分步骤解决复杂推理问题。所以,他提出了一个简单有效的prompting方法,把人类思考问题的过程,所谓Chain of Thought,用自然语言的形式,显性的放在prompt message中。下图左图是标准的Prompting,右侧是采用思维链的Prompting。
Chain-of-Thought

二、 Prompt-Tuning

给定一个句子[CLS] I like the Disney films very much. [SEP] 传统的Fine-tuning方法是将其通过BERT的Transformer获得 [CLS]表征之后再喂入新增加的MLP分类器进行二分类,预测该句子是积极的(positive)还是消极的(negative),因此需要一定量的训练数据来训练。

(1)构建模板: 通过人工定义、自动搜索、文本生成等方法,生成与给定句子相关的一个含有[MASK]标记的模板。例如It was [MASK].,并拼接到原始的文本中,获得Prompt-Tuning的输入:[CLS] I like the Disney films very much. [SEP] It was [MASK]. [SEP]。将其喂入BERT模型中,并复用预训练好的MLM分类器(在huggingface中为BertForMaskedLM),即可直接得到[MASK]预测的各个token的概率分布;

(2)标签词映射(Label Word Verbalizer) :因为[MASK]部分我们只对部分词感兴趣,因此需要建立一个映射关系。例如如果[MASK]预测的词是"great",则认为是positive类,如果是"terrible",则认为是negative类。

(3)训练:根据Verbalizer,则可以获得指定label word的预测概率分布,并采用交叉信息熵进行训练。此时因为只对预训练好的MLM head进行微调,所以避免了过拟合问题

PET(Pattern-Exploiting Training)出自《Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference》(EACL2021)[4],根据论文题目则可以猜出,Prompt-Tuning启发于文本分类任务,并且试图将所有的分类任务转换为与MLM一致的完形填空。

PET详细地设计了Prompt-Tuning的重要组件------Pattern-Verbalizer-Pair(PVP),并描述了Prompt-tuning如何实现Few-shot/Zero-shot Learning,如何应用在全监督和半监督场景(iPET)。PET的详细讲解可参考PET的论文解读[5]

PET设计了两个很重要的组件:

  • Pattern(Template) :记作 ,即上文提到的Template,其为额外添加的带有[mask]标记的短文本,通常一个样本只有一个Pattern(因为我们希望只有1个让模型预测的[mask]标记)。上文也提到,不同的任务、不同的样本可能会有其更加合适的pattern,因此如何构建合适的pattern是Prompt-Tuning的研究点之一

  • Verbalizer :记作 ,即标签词的映射,对于具体的分类任务,需要选择指定的标签词(label word)。例如情感分析中,我们期望Verbalizer可能是 , (positive和negative是类标签)。同样,不同的任务有其相应的label word,但需要注意的是,Verbalizer的构建需要取决于对应的Pattern。因此如何构建Verbalizer是另一个研究挑战。 上述两个组件被称为Pattern-Verbalizer-Pair(PVP),一般记作 ,在后续的大多数研究中均采用这种PVP组件。基于PVP的训练目标可以形式化描述:

参考:Prompt-Tuning------深度解读一种新的微调范式_prompt tuning_华师数据学院·王嘉宁的博客-CSDN博客

相关推荐
在努力的韩小豪20 小时前
如何从0开始构建自己的第一个AI应用?(Prompt工程、Agent自定义、Tuning)
人工智能·python·llm·prompt·agent·ai应用·mcp
AIGC包拥它1 天前
AI教学设计助手:生成好教案的Prompt技术实战(一)
人工智能·prompt
coding随想1 天前
JavaScript中的系统对话框:alert、confirm、prompt
开发语言·javascript·prompt
liliangcsdn1 天前
Deepseek-如何从零开始开发需要专业知识的prompt
prompt
zzywxc7872 天前
AI技术通过提示词工程(Prompt Engineering)正在深度重塑职场生态和行业格局,这种变革不仅体现在效率提升,更在重构人机协作模式。
java·大数据·开发语言·人工智能·spring·重构·prompt
小马过河R2 天前
Prompt提示词的主要类型和核心原则
人工智能·chatgpt·prompt
悟乙己3 天前
通过Prompt生成互动式网页HTML案例探索(二)
prompt·秘塔·互动式网页
风雨中的小七3 天前
解密prompt系列56.Agent context Engineering - 单智能体代码剖析
prompt
cooldream20094 天前
理解大模型智能体生态:从 Prompt 到 Agent 的完整信息流解析
prompt·ai agent·mcp·fuction calling
雷羿 LexChien5 天前
从 Prompt 管理到人格稳定:探索 Cursor AI 编辑器如何赋能 Prompt 工程与人格风格设计(上)
人工智能·python·llm·编辑器·prompt