前文:由于最近尝试使用prompt来进行大模型推理的时候,发现不同的prompt产生的效果不同,于是调研了几个不同的prompt的写法。
先说下我的任务:根据图片生成一个Caption(关于图片的描述)。尝试了几种prompt方法:CRISPE框架、Zero-shot、Few_shot、COT、COT+SC、TOT、Step-Back。
CRISPE框架
CR(Capacity and Role):希望chatgpt扮演的角色。比如:你是一个图片描述大师。
I(Insight):背景信息和上下文。比如:需要描述的图片。
S(陈述):要求chatgpt干啥。请根据下面图片尽可能客观地描述图片中的事物。
P(personality):希望chatgpt回答的风格。不要描绘图片没有的内容。
E(experiment):要求chatgpt提供的多个答案。给我三个描述结果。\
Zero-shot
只使用CRISPE,不在指令中增加额外的样本。
比如:你是一个图片描述大师,请根据下面的图片,尽可能客观地描述图片中的事物。不要描绘图片没有的内容。给我一个描述结果。
Few-shot
相比于zero-shot多了几个实例,用于帮助大模型进行描述,这个效果我实验了不同数量的例子,发现两个例子的时候在图片描述人物上表现较好。
比如:你是一个图片描述大师,请根据下面的图片,尽可能客观地描述图片中的事物。不要描绘图片没有的内容。给我一个描述结果。例子1为:这个图片描述的是...;例子2为:在这个图片中...。
COT
COT其实就是让模型将要执行的任务拆解为多个步骤,然后按步骤来执行。根据定义prompt变化如下:你是一个图片描述大师,请根据下面的图片,尽可能客观地描述图片中的事物。不要描绘图片没有的内容。给我一个描述结果。你在描述的过程中,需要按照下面步骤来执行:1.描述图片中有哪些物体,他们在做啥 2.每个物体之间的关联是啥 3.整体传达的背景信息是啥。COT+SC
sc其实就是self correct,让大模型自己矫正自己的输出。对应的prompt是:请根据上面的输出结果整合得到最好的一个结果,作为最终结果的输出。
TOT(Tree of Thought)
先分步骤,然后每个步骤多个结果,不同的是,COT+SC 是并列输出多个结果。而 TOT 是在每一步的多个结果中进行选择,然后再进行下一步,输出多个结果。
Step-Back
通俗的讲,Step-Back 就是在写 Prompt 的时候,往后退一步,想想在回答这个问题之前需要先回答什么问题。网上很多 Step-Back 都是通过变成的方法把问题拆成多个 Chain 来做的。
标签:Prompt,COT,结果,prompt,策略,设计,图片,shot,描述 From: https://www.cnblogs.com/charlton-99ing/p/17923791.html