A Systematic Survey of Prompt Engineering in Large Language Models:Techniques and Applications
时间:2024
期刊
- arXiv 预印
创新点
-
探讨了超过29种方法的优势和局限性
-
总结了各种提示技术所使用的数据集、模型和关键点
prompt engineering
-
新任务执行无需大量训练
-
zero-shot prompting
-
few-shot prompting
-
-
推理和逻辑
-
思维链 CoT prompting
-
例子:问题:一个火车从 A 地到 B 地要经过 3 个中转站,每个中转站停留 10 分钟。火车的平均速度是每小时 80 公里,总的行程距离是 400 公里。请问火车从 A 地到 B 地总共需要多少时间?
- 总的行程距离是 400 公里,火车平均速度为 80 公里/小时。
不考虑停留时间,火车需要的行驶时间是 400 / 80 = 5 小时。
火车经过 3 个中转站,每个中转站停留 10 分钟,所以总的停留时间是 3 * 10 = 30 分钟,也就是 0.5 小时。
因此,火车总共需要的时间是 5 + 0.5 = 5.5 小时。
- 总的行程距离是 400 公里,火车平均速度为 80 公里/小时。
-
-
自动思维链 Auto-Cot prompting
- 在使用GPT-3的算术和符号推理任务上,平均准确率分别提高了1.33%和1.5%,超过了CoT范式
-
self-consistency
-
思维链的一个补充,它能让模型生成多个思维链,然后取最多数答案的作为最终结果。
-
-
逻辑思维链 LogiCoT
- 一种神经符号框架,利用符号逻辑中的原则以连贯和结构化的方式增强推理
-
符号链 CoS Chain-of-Symbol
- 清晰简洁的提示,提高了LLM的空间推理,并提高了人类的可解释性
-
ToT Tree-of-Thoughts
- ToT通过管理中间推理步骤的树结构来扩展CoT提示
-
GoT Graph-of-Thoughts
-
GoT推理模型比CoT基线有了显著的提高
-
将推理过程建模为有向图,提供具有不同转换操作的模块化架构
-
-
S2A System 2 Attention
- 采用两步过程,通过使用上下文再生和具有细化上下文的响应生成来提高注意力和响应质量
-
ThoT Thread of Thought
- 旨在增强LLM在chaotic上下文中的推理能力
-
Chain-of-Table prompting
- 通过动态生成和执行表上的常见SQL/DataFrame操作来使用分步表格推理
-
-
减少幻觉
-
RAG Retrieval Augmented Generation 检索增强生成
- RAG分析用户输入,制作有针对性的查询,并搜索预先构建的知识库以获取相关资源。检索到的片段被合并到原始提示中,通过上下文背景丰富它。增强的提示使LLM能够生成创造性的、事实上准确的响应。
-
ReAct prompting
- 让语言模型不仅能够进行推理,还能根据推理结果采取行动,并且通过行动获取的新信息进一步完善推理
-
CoVe chain-of-verification
- 四个步骤验证
-
CoN Chain-of-Note
-
整合外部知识
- 系统地评估文档相关性,强调关键且可靠的信息,以过滤掉不相关的内容,从而产生更精确且与上下文相关的响应。
-
-
CoK Chain-of-Knowledge
- 将复杂的任务分解为协调良好的步骤,进入动态知识适应阶段,从各种来源(例如内部知识库、外部数据库和给定提示)精心收集证据
-
-
user interface
-
active prompting
-
引入了一种机制,用于确定对注释最有影响力的问题,利用各种指标来表征不确定性,并选择最不确定的问题进行注释
- 通过不确定性度量选择最不确定的问题进行人工标注,以生成更有效的示例提示,提高大型语言模型(LLMs)在复杂推理任务上的性能
-
-
-
微调和优化
-
Automatic Prompt Engineer (APE)
-
APE通过为特定任务动态生成和选择最有影响力的提示,摆脱了静态、手工设计的提示的局限性。
-
分析用户输入,制作候选指令,然后利用强化学习来选择最佳提示,使其动态适应不同的环境
-
-
-
基于知识的推理和生成
-
Automatic Reasoning and Tool-use (ART)
- 通过集成用于专业知识和计算的外部工具,ART释放了前所未有的多功能性,并为LLM输出提供了与现实世界相关的信息。
-
-
提高一致性 和连贯性
-
CCoT Contrastive chain-of-Thought
-
在原始提示的同时提供有效和无效的推理演示,从错误中学习
- 想象一下探索一张有正确路径和错误转弯要避免的地图
-
-
-
管理情绪和语气
-
Emotion
- 解决LLM理解情感线索能力不确定性
-
-
code生成和执行
-
scratchpad
- 使模型能够在提供最终答案之前生成任意序列的中间标记
-
PoT program of thoughts
- 提倡使用外部语言解释器进行计算步骤,以增强数值推理
-
SCoT Structured Chain-of-Thought
- 通过将程序结构(序列、分支和循环结构)整合到推理步骤中, 从源代码的角度考虑需求
-
CoC chain-of-code
- 利用逻辑和语义任务的代码编写来改进LM推理
-
-
优化和效率
-
OPRO Optimization by Prompting
- 利用LLM作为优化器的新方法,利用自然语言提示根据问题描述迭代生成解决方案,从而能够快速适应不同的任务并定制优化过程
-
-
了解用户意图
-
Rephrase and Respond (RaR)
- 允许LLM在单个提示中改写和扩展问题,从而提高理解能力和回答准确性
-
-
Metacognition and Self-Reflection
-
Take a Step Back
-
抽象
- 针对原始问题,引导 LLM 提出关于更高层次概念或原理的通用回退问题,并检索相关事实。
-
推理
- 基于高层次概念或原理的相关事实,LLM 对原始问题的解决方案进行推理。
-
-