网站集群 建设方案,企业网站开发项目策划书,手机网站 源码,做一个flash网站多少钱让大模型自己生成prompt#xff0c;生成提示#xff08;prompt#xff09;存在两种不同的操作方式。第一种方式是在文本空间中进行#xff0c;这种提示以离散的文本形式存在。第二种方式是将提示抽象成一个向量#xff0c;在特征空间中进行操作#xff0c;这种提示是抽象…让大模型自己生成prompt生成提示prompt存在两种不同的操作方式。第一种方式是在文本空间中进行这种提示以离散的文本形式存在。第二种方式是将提示抽象成一个向量在特征空间中进行操作这种提示是抽象的、连续的。
APE
论文地址https://arxiv.org/abs/2211.01910
候选prompt自动生成
简单来说就是给答案让LLM去反推prompt长什么样。典型例子如下 由于LLM大多采用decoder-only结构所以把需要生成的内容放在最后肯定是最合理的作者管这种生成方法叫forward generation template。这个template看起来是作者自己设计的这个template只是一个candidate生成器评分的时候用的是生成的candidate和这儿的template无关。
相应的另一种叫reverse generation template就是把需要生成的prompt放到文章中的任意位置。
最后一种是根据task不同来制定相应的模板比如有的task就固定是某种问答结构这时候你需要和task align一下。
所以这样我们就完成了prompt的自动生成。这里的prompt可以生成很多次采样从而生成一个候选集。
评估prompt分数
生成完了候选prompt接下来就需要想个方法评价哪个prompt比较好。
我们需要先从训练集里取一个子集就是取一些有gt的训练数据然后把上一步生成的prompt丢进去。由于我们是有gt的所以可以比对模型生成gt的概率生成gt的概率越大说明prompt越好从某种程度上说和PPL是差不多的东西。
重新采样
经过上述评估之后我们可以留下那些评分高的prompt由你自己设置top k%然后把这些好的prompt再送进LLM让它生成意思相近的prompt这样相当于再次扩充了候选集之后可以再进行一轮评估。如此反复迭代即可。 APE针对的场景主要是那种短prompt固定小任务。比如说我固定了我的任务是“找反义词”那么我只需要用一些数据去找prompt这个prompt固定下来之后就不用动了。
OPRO
论文地址https://arxiv.org/pdf/2309.03409.pdf 在OPRO框架中有两个主要的大型语言模型LLM一个担任评分者scorer负责对提示进行评分另一个则作为优化器optimizer根据给定的提示模板来生成新的提示。
首先我们向优化器提供一个问题描述用紫色字体表示如“做数学题”以及一些已经过评分的提示和它们的分数用蓝色字体表示即这些提示已经被评分者评估过以判断其准确性。此外还会提供一些额外的指令用橙色字体表示。
接下来优化器的任务是根据问题描述和已评分的提示生成一些新的提示。这些新生成的提示应当旨在获得尽可能高的分数。一旦生成了新的提示并获得了它们的分数我们就会将这些新的提示-分数对加入到之前的蓝色字体部分。如果存在长度限制我们可能会移除一些分数较低的提示-分数对以保持提示集的精简和高效。
INSTINCT
如何给ChatGPT正确的prompt
在强化学习中我们面临着exploration-exploitation dilemma。想象一下你想要出售一台二手电脑你去了市场第一个人出价50元你可以选择立即卖给他exploitation利用但如果你认为价格不够理想你可以选择继续寻找下一个买家exploration探索。然而一旦你决定继续寻找你就不能回头了。下一个买家的出价可能低于50元也可能高于50元这就是探索与利用之间的dilemma两难选择也被称为bandit问题。通过bandit算法你可以做出“某种选择”。
这个例子虽然简单但在实际的强化学习场景中搜索空间可能非常庞大比如你有100件商品要卖每件商品都有100个潜在的买家在这种情况下遍历整个搜索空间是不切实际的。为了克服这个难题研究者们提出了一系列专门的算法例如INSTINCT中采用的NeuralUCB算法它就是一种bandit问题的算法。
迭代流程 INSTINCT的何改
INSTINCT的改进主要体现在两个方面首先是提示生成的方式其次是迭代逻辑的优化。
在提示生成方面APE采用的传统方法是给定一个模板后生成候选提示OPRO的提示生成方式本质上相似但采用了更先进的生成技术APE更像是随机抽样而OPRO则通过不断更新条件来进行抽样。INSTINCT则采用了全新的方法它通过在隐空间中生成软提示soft prompt来得到所需的提示。这种方法的巧妙之处在于尽管最终得到的提示是离散的但在操作过程中却是在连续的提示空间中进行这使得许多优化变得可能。
在迭代逻辑方面APE的方法相对简单它直接利用大型语言模型LLM根据现有提示生成语义相似的提示而且这一步骤是可选的。OPRO的迭代方法更为先进它提供了大量示例和评分但是将LLM作为优化器的方法似乎缺乏逻辑依据。
INSTINCT的迭代逻辑则更加现代化它采用了NeuralUCB算法来迭代优化软提示从而控制真实提示的生成。换句话说在第一步训练的评分网络中实际上蕴含了判断“哪个提示更好”的知识然后通过NeuralUCB算法利用这些知识寻找“可能更好的提示”。如果找到了更好的提示那自然是最理想的结果即使没有找到这也相当于对训练集进行了一次采样。
总的来说INSTINCT的方法在技术上比前两者更为优雅而且在结果上也表现得更好。