
大模型提示工程 | 17 种 prompt engineering 方法大集合(二)prompt chaining、思维树、RAG、自动prompt工程师、Activet-prompt
AI大模型作为人工智能领域的重要技术突破,正成为推动各行各业创新和转型的关键力量。抓住AI大模型的风口,掌握AI大模型的知识和技能将变得越来越重要。学习AI大模型是一个系统的过程,需要从基础开始,逐步深入到更高级的技术。这里给大家精心整理了一份全面的AI大模型学习资源,包括:AI大模型全套学习路线图(从入门到实战)、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等,资料免费分享!
六、prompt chaining
1.介绍
链式提示(prompt chaining),一个任务被分解为多个子任务,根据子任务创建一系列prompt操作。
2.示例
文档问答中的链式提示:想要更好阅读大文本文档,可以设计两个不同的prompt,第一个prompt负责提取相关引文以回答问题,第二个prompt则以引文和原始文档为输入来回答给定的问题。换句话说,可以创建两个不同的prompt来执行根据文档回答问题的任务。
# prompt1
你是一个很有帮助的助手。你的任务是根据文档回答问题。第一步是从文档中提取与问题相关的引文,由####分隔。请使用<quotes></quotes>输出引文列表。如果没有找到相关引文,请回应“未找到相关引文!”。
####
{{文档}}
####
# output1
<quotes>
- Chain-of-thought (CoT) prompting[27]
- Generated knowledge prompting[37]
- Least-to-most prompting[38]
- Self-consistency decoding[39]
- Complexity-based prompting[41]
- Self-refine[42]
- Tree-of-thought prompting[43]
- Maieutic prompting[45]
- Directional-stimulus prompting[46]
- Textual inversion and embeddings[59]
- Using gradient descent to search for prompts[61][62][63][64]
- Prompt injection[65][66][67]
</quotes>
# prompt2
根据从文档中提取的相关引文(由<quotes></quotes>分隔)和原始文档(由####分隔),请构建对问题的回答。请确保答案准确、语气友好且有帮助。
####
{{文档}}
####
<quotes>
- Chain-of-thought (CoT) prompting[27]
- Generated knowledge prompting[37]
- Least-to-most prompting[38]
- Self-consistency decoding[39]
- Complexity-based prompting[41]
- Self-refine[42]
- Tree-of-thought prompting[43]
- Maieutic prompting[45]
- Directional-stimulus prompting[46]
- Textual inversion and embeddings[59]
- Using gradient descent to search for prompts[61][62][63][64]
- Prompt injection[65][66][67]
</quotes>
# output2
文档中提到的提示技术包括:
1. Chain-of-thought (CoT) prompting[27]
2. Generated knowledge prompting[37]
3. Least-to-most prompting[38]
4. Self-consistency decoding[39]
5. Complexity-based prompting[41]
6. Self-refine[42]
7. Tree-of-thought prompting[43]
8. Maieutic prompting[45]
9. Directional-stimulus prompting[46]
10. Textual inversion and embeddings[59]
11. Using gradient descent to search for prompts[61][62][63][64]
12. Prompt injection[65][66][67]
每一种技术都采用独特的策略来增强或明确与大型语言模型的互动,以产生期望的结果。
七、思维树(TOT)
1.介绍
ToT 维护着一棵思维树,思维由连贯的语言序列表示,这个序列就是解决问题的中间步骤。使用这种方法,LM 能够自己对严谨推理过程的中间思维进行评估。LM 将生成及评估思维的能力与搜索算法(如广度优先搜索和深度优先搜索)相结合,在系统性探索思维的时候可以向前验证和回溯。
2.示例
(1)24点游戏
任务说明: 24点游戏是一个数学推理挑战,目标是使用4个数字和基本的四则运算(±*/)得到24。例如,给定输入“4 9 10 13”,一个解决方案的输出可以是“(10 - 4) * (13 - 9) = 24”。
步骤: 当将 24 点游戏框架化为 ToT 时,将思考分解为 3 个步骤,且每个步骤都是一个中间等式。如图 所示,在每个树节点处,我们提取“left”数字,并提示LM提出一些可能的下一步。对于这 3 个思考步骤,使用的是同一个“提出提示”,尽管它仅包含一个由 4 个输入数字组成的示例。在 ToT 中进行广度优先搜索(BFS),在每个步骤中保留最佳的 b=5 个候选者。为了在 ToT 中进行有意识的广度优先搜索,提示LM对每个思考候选进行评估,以确定其是否为“确定/可能/不可能”达到 24。其目的是促进那些可以在少数向前看试验中判定的正确部分解,并基于“太大/太小”的常识来消除不可能的部分解,而其余部分则视为“可能”。我们对每个思考值进行 3 次采样。
(2)创意写作
任务说明: 输入是4个随机的句子,输出应该是一个有4个段落的连贯段落,每个段落以相应的输入句子结尾。
步骤: 构建了一个深度为 2(仅包含 1 个中间思维步骤)的 ToT。首先,语言模型生成 k=5 个计划,并从中挑选出最佳计划;然后,同样基于最佳计划,语言模型又生成 k=5 个段落,并选出最佳段落。在这里,广度限制设置为 b=1,即每个步骤仅保留一个选择。在两个步骤上都使用了简单的零样本投票提示(“分析下面的选择,然后决定哪一个对指令最有前途”),并进行了 5 次投票。
(3)迷你纵横游戏
任务说明: 对于每个任务,输入描述了5个水平线索和5个垂直线索,输出应该是一个5×5 = 25个字母的填字板,以解决纵横填字游戏。
步骤: 利用深度优先搜索持续探索最有潜力的下一个单词线索,直至状态无前途时再回溯到父状态探索其他思维。为保证搜索可行,后续思维不能改变已填充的单词或字母,因此 ToT 最多有 10 个中间思维步骤。在思维生成时,每个状态下,将现有的思维转化为剩余线索的字母约束,并提示 5 次提案,提供下一个单词的填充位置和内容的候选方案。同时,提示LLM给出不同思维的置信水平并汇总,得到下一个要探索思维的排序清单。在状态评估时,也类似地将状态转化为剩余线索的字母约束,然后评估对于每个线索,在给定约束的情况下是否可能填充。若有剩余线索被认为 “不可能” 填充,则剪枝该状态子树的探索,深度优先搜索回溯到父状态探索下一个有前途的思维。将 DFS 搜索步骤限制为 100 步,将最深探索的状态(多个状态时为第一个探索的状态)输出为最终输出。
(4)将 ToT 框架的主要概念概括成了一段简短的提示词,指导 LLM 在一次提示中对中间思维做出评估
# prompt示例
假设三位不同的专家来回答这个问题。
所有专家都写下他们思考这个问题的第一个步骤,然后与大家分享。
然后,所有专家都写下他们思考的下一个步骤并分享。
以此类推,直到所有专家写完他们思考的所有步骤。
只要大家发现有专家的步骤出错了,就让这位专家离开。
请问...
3.相关论文
(1)Tree of Thoughts: Deliberate Problem Solvingwith Large Language Models(https://arxiv.org/pdf/2305.10601)
(2)Large Language Model Guided Tree-of-Thought
(https://arxiv.org/pdf/2305.08291)
(3)Github:https://github.com/princeton-nlp/tree-of-thought-llm
(4)https://github.com/jieyilong/tree-of-thought-puzzle-solver
(5)https://github.com/princeton-nlp/tree-of-thought-llm
八、检索增强生成(RAG)
1.介绍
RAG 会接受输入并检索出一组相关文档,并给出文档的来源。这些文档作为上下文和输入的原始提示词组合,送给文本生成器得到最终的输出。
2.示例
基于LangChain构建检索增强生成(RAG)应用程序:
https://python.langchain.com/docs/tutorials/rag/
3.相关论文
Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks(https://arxiv.org/abs/2005.11401)
Part.09
自动推理并使用工具(ART)
1.介绍
ART(Automatic Reasoning and Tool-use)的工作原理如下:
(1)接到一个新任务的时候,从任务库中选择多步推理和使用工具的示范。
(2)在测试中,调用外部工具时,先暂停生成,将工具输出整合后继续接着生成。
ART 引导模型总结示范,将新任务进行拆分并在恰当的地方使用工具。ART 采用的是零样本形式。ART 还可以手动扩展,只要简单地更新任务和工具库就可以修正推理步骤中的错误或是添加新的工具。这个过程如下:
2.论文
(1)ART: Automatic multi-step reasoning and tool-use forlarge language models(https://arxiv.org/pdf/2303.09014)
十、自动prompt工程师
1.介绍
自动提示工程师(APE)是一种将指令生成视为自然语言程序合成的方法,通过让大语言模型(LLM)生成并搜索候选指令,利用执行准确性或对数概率等评分函数选择最优指令,从而自动生成和选择指令,在零样本学习等任务上实现了与人类水平相当的性能。
自动提示工程师(APE)的工作流程,其主要步骤如下:
(1)生成指令候选:APE 首先利用LLM,根据少量输入 - 输出对形式的示例,生成若干指令候选。这一步可以通过 “正向” 模式生成(如在指令归纳实验中,按照特定模板让 LLM 生成)或 “反向” 模式生成(利用具有填充能力的 LLM,如 T5、GLM、InsertGPT 等,通过填充空白来推断缺失的指令)。
(2)评估指令得分: 对于每个生成的指令候选,APE 在目标模型下通过计算所选评分函数(如执行准确性或对数概率)的得分来评估其质量。评估过程会使用训练数据的子集,采用自适应过滤方案,先在小数据集上评估所有候选指令,对于得分高于一定阈值的候选指令,再从训练数据中采样新的非重叠子集进行评估,以更新得分的移动平均值,最终在整个训练数据集上评估剩余的少量候选指令,以降低计算成本。
(3)筛选和优化指令: 根据计算得到的得分,筛选出得分最高的前 k% 的指令,组成新的指令集。然后,可以选择直接使用这些指令,或者利用 LLM 再次生成与高分指令语义相似的新指令,进入下一轮迭代,不断优化指令集,直到满足收敛条件。最终选择得分最高的指令作为输出,用于引导目标模型执行任务。
通过这样的流程,APE 能够自动寻找最适合任务的指令,提高模型在各种任务上的性能。
2.论文
(1)LARGE LANGUAGE MODELS ARE HUMAN-LEVELPROMPT ENGINEERS(https://arxiv.org/pdf/2211.01910)
(2)Large Language Models are Zero-Shot Reasoners (https://arxiv.org/pdf/2205.11916)
十一、Activet-prompt
1.介绍
通过基于不确定性的主动选择策略,从任务特定问题池中挑选最有帮助和信息量大的问题进行注释,引入了如分歧、熵等多种不确定性度量方式,以提升模型在复杂推理任务中的性能。
流程包括:
(1)不确定性估计(Uncertainty Estimation):在思维链设置下,将LLM前向传递 k 次,为每个问题获取 k 个答案,然后通过不同方式衡量问题的不确定性。例如,用分歧(disagreement)计算预测答案中唯一答案的比例;用熵(entropy)根据预测答案的频率分布计算不确定性;用方差(variance)计算预测答案的方差,并对预测答案进行归一化处理。
(2)选择与注释(Selection and Annotation): 根据每个问题的不确定性进行排序,选择不确定性最大的 n 个问题(若不确定性最大的问题数量超过 n,则随机选择 n 个),由人工注释者为这些问题添加推理步骤和答案,构建新的示例集 E。
(3)推理(Inference): 在推理阶段,使用新注释的示例集 E 为每个测试问题添加提示,并应用自一致性(self - consistency)方法,将温度 T 设置为 0.7,对每个问题进行 40 次推理,最后选择最一致的答案作为预测结果。
2.论文
(1)Active Prompting with Chain-of-Thought for Large Language Models (https://arxiv.org/pdf/2302.12246)
最后分享
AI大模型作为人工智能领域的重要技术突破,正成为推动各行各业创新和转型的关键力量。抓住AI大模型的风口,掌握AI大模型的知识和技能将变得越来越重要。
学习AI大模型是一个系统的过程,需要从基础开始,逐步深入到更高级的技术。
这里给大家精心整理了一份
全面的AI大模型学习资源
,包括:AI大模型全套学习路线图(从入门到实战)、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等,资料免费分享
!
1. 成长路线图&学习规划
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。
这里,我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。可以说是最科学最系统的学习成长路线。
2. 大模型经典PDF书籍
书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。(书籍含电子版PDF)
3. 大模型视频教程
对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识。
4. 2024行业报告
行业分析主要包括对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。
5. 大模型项目实战
学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。
6. 大模型面试题
面试不仅是技术的较量,更需要充分的准备。
在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。
全套的AI大模型学习资源已经整理打包,有需要的小伙伴可以
微信扫描下方CSDN官方认证二维码
,免费领取【保证100%免费
】
更多推荐
所有评论(0)