Prompt Tuning 和instruct tuning

 Prompt Tuning 是啥?

prompt的思想是,把下游任务的输入转化为预训练模型的原始任务。

以bert作为举例,假设任务是文本分类。“今天天气很好。”我们想判断一下这句话的情感是正面还是负面

fine-tune的方法是在bert之后接一个head,然后调整整个模型。

prompt 的方法是把下游任务转化为预训练任务,我们知道bert的预训练任务是MLM,于是把

“今天天气很好。”转化为“今天天气很好。我很[mask][mask]”,我们希望bert预测出"开心"两个字。然后对“开心”映射到正面情感。

prompt-tuning:我们知道prompt的方法是把下游任务转化为预训练任务,但是怎么转化效果会好呢。比如如下几种prompt:

1.“今天天气很好。我很[mask][mask]”

2.“今天天气很好。我非常[mask][mask]”

3.“今天天气很好。我的心情是[mask][mask]”

我们并不知道哪种prompt是最好的,于是我们希望模型可以自己去学习,于是就提出了prompt-tuning(提示微调),该方法会固定预训练模型的参数(与fine-tune不同之处),增加额外的参数来训练,常见的方法有prompt-tuning, prefix-tuning, p-tuning,与fine-tune不同,可训练参数一般都是加载embbeding层,而不是加在最后

提示学习Prompt Tuning:面向研究综述 - 知乎

huggingface上的一篇博文也解释的很清楚

 Prompt Tuning 出自哪篇论文?

《The Power of Scale for Parameter-Efficient Prompt Tuning》

instruct tuning

instruct tuning (指令微调)是特指对数据有要求的微调,它不是一种微调方法,而是对用一种特定数据来微调的称呼。这种数据的特点是,input是一条指令

例如:

1.帮我写一篇关于XX主题的文章

2. 将下列内容翻译成英语:{具体内容}

3.根据下面的聊天信息回答问题,{聊天信息},{问题}

而常规数据通常如下:

1. 极昼是什么?

2. 怎么减肥

3.熬夜对健康有什么影响?

对比以上两种数据,可以看出特点,指令数据一般是在要求模型干一件事,而常规数据通常是在问模型“是什么”

你可能感兴趣的:(深度学习,人工智能)