ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

prompt综述(截至2021.12.1)

2021-12-08 14:01:44  阅读:222  来源: 互联网

标签:prompt 综述 训练 2021.12 模型 任务 参数 embedding


prompt的意义:

以前使用预训练模型都是Pre-train,Fine-tune的模式,这种模式的缺点就是当存在多个下游任务时,需要在上游复制多个模型,因为fine-tune后它们的参数因任务不同而不同。
如果有10个下游任务就要存储并训练10个上游模型,这样就很占空间和资源。

prompt采用Pre-trian,Prompt-tune的方式,上游的预训练模型不变,让下游的任务去适配上游。节省了空间和资源。


prompt的结构:

prompt包含两部分:template和verbalizer。
template负责让模型认识到这是什么任务,然后输出比如it is good,verbalizer就负责将这个good转化成对应的结果:positive。
在这里插入图片描述


AutoPrompt

trigger训练的那个语料来自下游任务相关的数据集。比如任务是情感分析,他就分析大量情感分析的数据集,按loss对每个词的一阶导,得到对这个任务最关键的那些词。

这些词只要加入模型里,模型就一定会输出固定的东西。比如检测到great就一定会输出positive,这种标志性的词。

那他针对一个任务,训练出最标志性的词,然后将他们作为prompt模板,这样就是机器认识这是什么任务,人类可能根本看不懂这个prompt句子(比如sentiment think is thought MASK,这个语法上不成句,但是是由一堆标志性的词组成,模型一定认识是个情感分析任务)
在这里插入图片描述


AutoPrompt & LM-BFF

首先用AutoPrompt搜索出来一组token作为template输入。

比如the capital of Japan is MASK。

以前的模型效果不好,就换模板,the city of Japan is MASK。

他提出来直接训练模板的embedding。因为模板:the capital of … is 都是一系列的embedding嘛,他直接训练这个embedding。

不过这个文章缺点在于他用的是最初的PET的方法来训练,也就是prompt模板是手工指定的。
在这里插入图片描述


prefix-tuning

直接固定PLM的参数,只训练prompt的参数。所以比如有10个下游任务,我们只需要训练10种prompt就可以了,大大减少了参数数量。

其实我们模型占显存的主要部分不是参数,而是参数的中间变量。比如要进行梯度回传,我们要保存所有中间变量的梯度,这个是最占资源的。而这个方法的优势就是大量的参数是在PLM中的,而他的参数是固定的,所以不用梯度回传,不用保存中间变量。大大节省资源。
在这里插入图片描述


P-Tuning v2

思路很简单,就是more parameters。

就是在中间层,给prompt部分,concatente几个embedding。
所以self-attention的个数增加了,大小没变。

相当于输入的prompt变长了,但是为什么不在输入端改呢?因为层数越靠后,效果越显著。在输入端优化,传到末端基本都没了。

大概的流程:一开始初始化ptompt embedding,然后去训,发现效果不好。然后用这个embedding去与其他任务的prompt embedding做一个余弦相似度判断,找出最相似的那个,然后作为新的初始化再进行训练,然后效果好很多。
在这里插入图片描述


CPT

task是一个问题:比如the horse watched by the woman,要指出是那一匹马。
我们有prompt方法,可以用mask预测遮掉的词。但是我们现在要预测视觉内容(是哪一匹马),所以他把所有的对象染上颜色,然后用分类判定这个mask的是什么颜色。
在这里插入图片描述


一个领域每周一两百篇文章,一个人是不可能读的完的。所以要进入一个领域,一定要组团做,大家一起读。

标签:prompt,综述,训练,2021.12,模型,任务,参数,embedding
来源: https://blog.csdn.net/weixin_40286308/article/details/121789070

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有