关于Prompt Engineering你该了解啥?OpenAI应用研究负责人帮你梳理了
选自Lil’Log
机器之心编译
编辑:rome rome
随着 ChatGPT、GPT-4 等模型的兴起,人们对如何创建提示以获得想要的输出越来越感兴趣。研究者对特定提示的响应可能很难预测,并且会因模型的不同而不同。本文来自 OpenAI 的翁丽莲(Lilian Weng) 撰文介绍了关于提示的一些内容,包括基础提示、指令提示等内容。
Text: i'll bet the video game is a lot more fun than the film.
Sentiment:
Text: (lawrence bounces) all over the stage, dancing, running, sweating, mopping his face and generally displaying the wacky talent that brought him fame in the first place.
Sentiment: positive
Text: despite all evidence to the contrary, this clunker has somehow managed to pose as an actual feature movie, the kind that charges full admission and gets hyped on tv and purports to amuse small children and ostensible adults.
Sentiment: negative
Text: for the first time in years, de niro digs deep emotionally, perhaps because he's been stirred by the powerful work of his co-stars.
Sentiment: positive
Text: i'll bet the video game is a lot more fun than the film.
Sentiment:
在 embedding 空间中使用 k-NN 聚类选择与测试示例在语义上相似的示例 (Liu et al., 2021); 为了选择多样化且具有代表性的示例集,[Su et al. (2022)] 提出使用基于图的方法:(1) 首先,构造一个有向图 G=(V,E) 基于嵌入(例如通过 SBERT 或其他嵌入模型)样本之间的余弦相似度,其中每个节点指向其 k 个最邻近节点;(2) 从一组选定样本 L=∅ 和一组剩余样本 U 开始。每个样本 u∈U 的 score 表示为:,如果选择了 v 的许多邻近节点,则 s (v) 很低,因此评分鼓励选择不同的样本; [Rubin et al. (2022)] 提出通过特定于一个训练数据集的对比学习来训练 embedding,以进行上下文学习样本选择。给定每个训练对 (x,y),一个示例 e_i(格式化的输入 - 输出对)的质量可以通过 LM 分配的条件概率来衡量:,可以将其他具有 top-k 和 bottom-k 分数的示例识别为每个训练对的正负候选集,并将其用于对比学习; 一些研究人员尝试使用 Q-Learning 来进行样本选择 (Zhang et al. 2022); 受基于不确定性的主动学习的启发,[Diao et al. (2023)] 建议在多次抽样试验中识别熵较大的例子。然后注释这些示例以用于 few-shot prompt。
建议保持样本选择的多样性、与测试样本相关并以随机顺序排列,以避免 Majority Label bias 和 Recency bias;
增加模型大小或包含更多训练样本并不能减少不同上下文样本排列的方差。同一顺序可能适用于一个模型,但对另一个模型效果不佳。当验证集有限时,考虑选择顺序,使得模型不会产生极不平衡的预测或对其预测过于自信 (Lu et al. 2022)。
Please label the sentiment towards the movie of the given movie review. The sentiment label should be "positive" or "negative".
Text: i'll bet the video game is a lot more fun than the film.
Sentiment:
Describe what is quantum physics to a 6-year-old.
... in language that is safe for work.
Definition: Determine the speaker of the dialogue, "agent" or "customer".
Input: I have successfully booked your tickets.
Ouput: agent
Definition: Determine which category the question asks for, "Quantity" or "Location".
Input: What's the oldest building in US?
Ouput: Location
Definition: Classify the sentiment of the given movie review, "positive" or "negative".
Input: i'll bet the video game is a lot more fun than the film.
Output:
Question: Tom and Elizabeth have a competition to climb a hill. Elizabeth takes 30 minutes to climb the hill. Tom takes four times as long as Elizabeth does to climb the hill. How many hours does it take Tom to climb up the hill?
Answer: It takes Tom 30*4 = <<30*4=120>>120 minutes to climb the hill.
It takes Tom 120/60 = <<120/60=2>>2 hours to climb the hill.
So the answer is 2.
===
Question: Jack is a soccer player. He needs to buy two pairs of socks and a pair of soccer shoes. Each pair of socks cost $9.50, and the shoes cost $92. Jack has $40. How much more money does Jack need?
Answer: The total cost of two pairs of socks is $9.50 x 2 = $<<9.5*2=19>>19.
The total cost of the socks and the shoes is $19 + $92 = $<<19+92=111>>111.
Jack need $111 - $40 = $<<111-40=71>>71 more.
So the answer is 71.
===
Question: Marty has 100 centimeters of ribbon that he must cut into 4 equal parts. Each of the cut parts must be divided into 5 equal parts. How long will each final cut be?
Answer:
Question: Marty has 100 centimeters of ribbon that he must cut into 4 equal parts. Each of the cut parts must be divided into 5 equal parts. How long will each final cut be?
Answer: Let's think step by step.
自洽采样可以通过抽取多个不同的答案然后进行多数表决来提高推理的准确性。(Wang et al. 2022a);
集成学习的另一种方法是改变样本顺序或使用模型生成的基本原理来代替人工编写的基本原理,以在多个样本试验中引入随机性。然后聚合模型根据多数投票的结果获得最终答案。(Wang et al. 2022b);
如果训练样例只与真实答案相关联,但没有基本推理,可以遵循 STaR(Self-Taught Reasoner;Zelikman et al. 2022)方法:(1)让 LLM 生成推理链,只保留那些导致正确答案的链;(2) 然后用生成的基本推理微调模型并重复该过程直到收敛。需要注意的是,较高的 temperature 更有可能产生错误的基本原理和正确的答案。如果训练样本没有真实答案,可以考虑使用多数票作为 “正确” 答案;
Prompt 具有更高推理复杂性的演示可以实现更好的性能,其中复杂性由链中推理步骤的数量来衡量。分隔推理步骤时,换行符 \n 比 “步骤 i”、句号或分号等要好 (Fu et al. 2023);
Complexity-based 的一致性是通过仅在前 k 个复杂链中进行多数投票表决,选出 k 个中明确表现较好的复杂链 (Fu et al. 2023);
[Shum et al. (2023) ] 发现在他们的实验中,仅使用复杂示例的 CoT 提示可以提高复杂问题的准确性,但在简单问题中表现不佳 (GSM8k 上的表现就是明显的证据);
将 Q: 更改为 Question: 发现很有帮助 (Fu et al. 2023);
[Ye & Durrett (2022) ] 发现,对于涉及文本推理的 NLP 任务(即 QA 和 NLI),在 prompt 中包含解释的好处有用处但是不大,并且效果因模型而异。他们观察到解释更可能是非事实的而不是不一致的(即解释是否需要预测)。非事实的解释很可能导致错误的预测;
[Self-Ask (Press et al. 2022) ] 是一种反复 prompt 模型提出后续问题以迭代构建思维过程的方法。可以通过搜索引擎结果回答后续问题。同样,IRCoT [Interleaving Retrieval CoT;Trivedi et al. 2022] 和 ReAct [Reason + Act;Yao et al. 2023] 将迭代 CoT 提示与维基百科 API 查询相结合,以搜索相关实体和内容,然后将其添加回语境中。
1、Prompt LLM 根据 input-output 对形式的演示集合生成候选指令。例如。{{Given desired input-output pairs}}\n\nThe instruction is;
2、给定 Dtrain={(x,y)} 的数据集,想要找到一条指令 ρ 使得 ρ∗=argmaxρE (x,y)∈Dtrain [f (ρ,x,y)],其中 f (.) 是每个样本的得分函数,比如如执行精度 [LM (.|ρ, x)=y] 或对数概率:Plm (y|ρ,x);
3、使用迭代蒙特卡洛搜索方法通过 prompt 提出语义相似的变体来改进最佳候选,例如 Generate a variation of the following instruction while keeping the semantic meaning.\n\nInput: ...\n\nOutput:...
1.Augment:使用 few-shot 或 zero-shot CoT prompt 生成给定问题的多个伪 CoT;
2.Prune:根据生成的答案是否与基本事实相匹配来修剪伪链;
3.Select:应用 variance-reduced 梯度策略来学习所选示例的概率分布,同时将示例的概率分布作为策略,将验证集的准确性作为奖励。
1. 问题聚类:嵌入问题并运行 k-means 聚类的方法;
2. 示例选择:从每个簇中选择一组有代表性的问题;即来自一个簇的一个示例。每个簇中的样本按到簇质心的距离排序,最接近质心的样本首先被选择;
3. 生成推理链:使用 zero-shot CoT 为选定的问题生成推理链,并构建 few-shot prompt 来运行推理。
Evidence: ...
Question: ...
Answer: ...
1.RAG 风格,,其中 是 TF-IDF 段落和问题表示之间的归一化余弦相似度。
2. 噪声信道推断:
3.Product-of-Experts (PoE),结合上面使用的所有概率,但不包括
Generate some knowledge about the input. Examples:
Input: What type of water formation is formed by clouds?
Knowledge: Clouds are made of water vapor.
Input: {question}
Knowledge:
计算系统:帮助 LM 缺乏精确的数学技能;
问答系统:帮助解决无效内容;
搜索引擎:在预训练截止时间后提供最新信息;
翻译系统:提高低资源语言性能;
日历系统:使 LM 了解时间进程。
© THE END
转载请联系本公众号获得授权
投稿或寻求报道:[email protected]
微信扫码关注该文公众号作者