【LLM综述】29种大模型Prompt Engineering技术

note

  • 从零样本(Zero-shot)提示到最新进展的各种提示技术,包括推理和逻辑链(Chain-of-Thought, CoT)提示、自动链式思考(Auto-CoT)提示、自我一致性(Self-Consistency)提示、逻辑链式思考(LogiCoT)提示等。
  • 减少幻觉(Reduce Hallucination)的技术,如检索增强生成(Retrieval Augmented Generation, RAG)和链式验证(Chain-of-Verification, CoVe)提示,以及用户交互、微调和优化、基于知识的推理和生成、提高一致性和连贯性、管理情感和语调、代码生成和执行、优化和效率、理解用户意图、元认知和自我反思等方面的技术。

文章目录

  • note
  • 一、Prompt
  • 二、相关对比
  • 三、相关实验

一、Prompt

论文:A Systematic Survey of Prompt Engineering in Large Language Models:
Techniques and Applications
链接:https://arxiv.org/pdf/2402.07927.pdf

在这里插入图片描述

(1)零样本提示:该方法通过精心设计的提示引导模型处理新任务,而不需要大量的训练数据。模型接收任务描述但缺乏特定输入输出的标注数据,然后利用其预存的知识基于提示生成预测。

(2)少样本提示:与零样本提示不同,少样本提示提供几个输入输出的例子来引导模型理解任务。尽管需要额外的标记,但即使是少量的例子也能显著提高模型在复杂任务上的表现。

(3)链式思维提示:该方法通过提示LLM以连贯和逐步的方式思考问题,从而提高其在复杂推理任务上的表现。CoT提示展示了其独特性,能够引导LLM通过逻辑推理链生成响应。

(4)自动链式思维提示:为了减少手动创建高质量CoT例子的时间和资源消耗,Auto-CoT通过多样化采样自动生成推理链,从而提高模型的鲁棒性和少样本学习效果。

(5)自一致性:该方法通过从语言模型的解码器中采样生成多样的推理链,并通过边缘化这些链来识别最一致的最终答案,从而提高推理性能。

(6)逻辑链式思维提示:LogiCoT利用符号逻辑原理来增强推理的连贯性和结构性,通过假设检验每一步推理来减少逻辑错误和幻觉。

(7)符号链式思维提示:CoS使用简化的符号代替自然语言,以提高LLM的空间推理能力和人类可解释性。

(8)树状思维提示:ToT通过管理中间推理步骤的树结构来增强提示能力,允许语言模型系统地探索和前瞻性地推理。

(9)思维图提示:GoT通过建模推理过程为有向图来改进CoT提示,允许动态的相互作用、回溯和想法评估。

(10)系统2注意力提示:S2A利用LLM的推理能力选择性地关注相关部分,通过再生输入上下文来提高注意力和响应质量。

(11)思维线索提示:ThoT将广泛的上下文分段进行增量分析,通过两阶段方法先总结和检查每个分段,再细化信息以生成最终响应。

(12)表格链式思维提示:CoT提示通过动态生成和执行常见的SQL/DataFrame操作来处理复杂的表格场景。

(13)检索增强生成:RAG通过将信息检索无缝融入提示过程中,分析用户输入,制定有针对性的查询,并在预建的知识库中搜索相关资源,从而生成准确且富有创意的响应。

(14)反应提示:ReAct使LLMs能够同时生成推理轨迹和任务特定的动作,增强了推理和动作之间的协同作用。

(15)验证链提示:CoVe通过系统性的四步过程包括模型生成基线响应、计划验证问题、独立回答问题以及生成修订响应来减少幻觉。

(16)笔记链提示:CoN通过系统评估文档相关性,强调关键和可靠的信息来过滤无关内容,从而生成更精确和上下文相关的响应。

(17)知识链提示:CoK通过动态知识适应阶段系统地分解复杂任务,建立上下文和问题框架,并从各种来源收集证据。

(18)主动提示:Active-Prompt通过任务特定的例子提示和链式思维推理来提高LLMs在复杂问答任务上的表现。

(19)自动提示工程师:APE通过动态生成和选择最有影响力的提示来自动生成和选择LLMs的指令,从而提高其推理能力。

(20)自动推理和工具使用:ART通过集成外部工具和专业知识来增强LLMs的多步推理能力,使其能够解决复杂问题。

(21)对比链式思维提示:Cot通过提供有效和无效的推理示范来推动LLMs逐步推理,从而提高其策略和数学推理评估。

(22)情感提示:EmotionPrompt通过添加情感刺激句子来增强LLMs的情感智能,从而提高其在各种任务上的表现。

(23)草稿提示:Scratchpad提示通过生成任意序列的中间标记来增强语言模型在复杂多步算法计算中的表现。

(24)思维程序提示:PoT通过使用外部语言解释器来表达推理步骤,从而提高语言模型在数学表达式和财务问题上的表现。

(25)结构化链式思维提示:SCoT通过将程序结构(序列、分支和循环结构)纳入推理步骤来增强LLMs在代码生成任务中的表现。

(26)代码链提示:CoC通过鼓励LLMs将语义子任务格式化为灵活的伪代码来提高其逻辑和语义任务的推理能力。

(27)提示优化:OPRO通过利用LLMs作为优化器来迭代生成解决方案,从而提高其在不同任务上的快速适应性和定制化优化过程。

(28)重述和响应:RaR通过允许LLMs在单个提示中重述和扩展问题来提高其理解和响应准确性。

(29)退一步提示:Step-Back提示通过抽象和推理来增强LLMs在复杂多步推理任务中的表现。
在这里插入图片描述

二、相关对比

在这里插入图片描述

三、相关实验

(1)零样本提示:在Arithmetic和Symbolic任务上,零样本提示显著提高了模型的准确性。这种技术使得经过大量数据训练并调整指令的LLM能够在没有示例的情况下执行任务,展示了其在零样本学习中的能力。

(2)少样本提示:在NaturalQS、WebQS和TriviaQA任务上,少样本提示显著提高了模型的性能,特别是在处理复杂任务时表现尤为突出。少样本提示通过提供少量示例提升模型的表现,适用于特定领域的任务,如法律、医学等。

(3)链式思维提示:CoT提示在PaLM 540B模型上取得了90.2%的准确率,显示出其在复杂推理任务上的强大能力。这种提示方法通过引导LLM以连贯和逐步的方式思考问题,从而提高其在复杂推理任务上的表现。

(4)自动链式思维提示:Auto-CoT在算术和符号推理任务上分别提高了1.33%和1.5%的平均准确率,表明其自动化多样性采样策略的有效性。

(5)自一致性:自一致性在多个基准测试上显著提高了推理性能,例如在GSM8K任务上提高了17.9%,通过从语言模型的解码器中采样生成多样的推理链,并识别最一致的最终答案来提高推理性能。

(6)逻辑链式思维提示:LogiCoT在GSM8K和AQuA数据集上分别提高了0.16%和3.15%的准确率,展示了其在逻辑推理中的优势。

(7)符号链式思维提示:CoS在Brick World任务上将准确率从31.8%提高到92.6%,显著提升了空间推理能力。

(8)树状思维提示:ToT在Game of 24任务上取得了74%的成功率,显著优于CoT的4%成功率,通过管理中间推理步骤的树结构来增强提示能力。

(9)思维图提示:GoT在GSM8K和科学QA数据集上分别提高了3.41%和6.63%的准确率,展示了其在非线性思维过程中的优势。

(10)系统2注意力提示:S2A在事实问答任务上达到了80.3%的准确率,显著提高了事实性。

(11)思维线索提示:ThoT在问题和对话数据集上分别提高了47.20%和17.8%的性能,特别是在混乱上下文中表现尤为突出。

(12)表格链式思维提示:CoT在TabFact和WikiTQ数据集上分别提高了8.69%和6.72%的性能,展示了其在表格推理中的优势。

(13)检索增强生成:RAG在ODQA基准测试上达到了56.8%的精确匹配得分,显著优于seq2seq模型和任务特定的架构。

(14)反应提示:ReAct在HotpotQA和Fact Verification任务上显著减少了幻觉和错误传播问题,展示了其在交互式决策任务中的有效性。

(15)验证链提示:CoVe在列表问题、问答和长形式生成任务上减少了幻觉,同时保持了事实的准确性。

(16)笔记链提示:CoN在嘈杂的开放域问答数据集上平均提高了7.9%的精确匹配得分,显著提高了模型在未知场景下的响应能力。

(17)知识链提示:CoK在MMLU物理和化学任务上提高了7%的性能,展示了其在复杂任务中的潜力。

(18)主动提示:Active-Prompt在文本-davinci-002和code-davinci-002任务上分别平均提高了7.0%和1.8%的性能,展示了其在复杂推理任务中的优势。

(19)自动提示工程师:APE在BIG-Bench套件和CoT推理任务上显著提高了LLMs的推理能力,大多数情况下超过了人类编写的提示。

(20)自动推理和工具使用:ART在Big-Bench和MMLU基准测试上显著提高了LLMs的性能,有时甚至与手工制作的示范相当。

(21)对比链式思维提示:Cot在SQuAD和COPA推理基准上提高了4-16%的性能,进一步结合自一致性技术时提高了约5%。

(22)情感提示:EmotionPrompt在BIG-Bench任务上提高了115%的表现,显著增强了LLMs在处理情感信号方面的能力。

(23)草稿提示:Scratchpad提示在MBPP和MBPP-aug任务上取得了46.8%的成功率,展示了其在复杂多步算法计算中的潜力。

(24)思维程序提示:PoT在涉及数学表达式和金融问题的数据集上平均提高了约12%的性能。

(25)结构化链式思维提示:SCoT在ChatGPT和Codex上显著提高了代码生成的性能,最高可达13.79%。

(26)代码链提示:CoC在BIG-Bench Hard任务上达到了84%的准确率,展示了其在逻辑和语义任务中的优势。

(27)提示优化:OPRO在GSM8K数据集上提高了最多8%的性能,在Big-Bench挑战任务上提高了最多50%的性能。

(28)重述和响应:RaR在各种任务上显著提高了模型的理解和响应准确性。

(29)退一步提示:Step-Back提示在STEM、知识问答和多跳推理任务上显著提高了推理能力。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/944771.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Java基础-29】深入理解Java中的super关键字:用法、场景与最佳实践

在Java编程中,super关键字是一个非常重要的概念,尤其在继承和多态的上下文中。它用于访问父类的成员(属性、方法或构造函数),帮助开发者在子类中更好地管理和扩展父类的功能。本文将深入探讨super关键字的用法、适用场…

linux-软硬链接

我们今天再来聊一下这个"软硬链接"的问题. 目录 1. 软硬链接长什么样?2. 软连接和硬链接的特征 和 应用2.1 软连接特征 及其 应用?①软连接是什么?②软连接的应用1: 快捷方式③软连接的应用2: 方便维护库文件 2.2 硬连接特征 及其 应用?①硬链接是什么?②引用计…

学习threejs,THREE.CircleGeometry 二维平面圆形几何体

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言1.1 ☘️THREE.CircleGeometry 圆形…

ISO/IEC 25012:2008 系统和软件的质量模型(数据质量模型)

本文是对GBT 25000.12-2017《软件产品系统与软件质量要求与评价(SQuaRE)第12部分:数据质量模型》一文的转载,此外还参考了ISO/IEC 25012:2008(en) Software engineering — Software product Quality Requirements and Evaluation…

鸿蒙开发工程师成长的五个阶段

在科技日新月异的今天,鸿蒙(HarmonyOS)作为华为自主研发的操作系统,正以其独特的魅力和广阔的应用前景吸引着越来越多的开发者加入。鸿蒙不仅承载着华为对未来智能设备互联互通的愿景,也为开发者提供了一个充满挑战与机…

torch.nn.LSTM介绍

torch.nn.LSTM 是 PyTorch 提供的一个高级封装,用于构建长短时记忆网络(LSTM)。相比手动实现,torch.nn.LSTM 更高效且支持批量处理、双向 LSTM、多层 LSTM 等功能,适合大多数实际应用。 LSTM基本原理 门控机制(Gating Mechanism)是深度学习中常见的一种设计,用于控制信…

termux-boot安卓开机自动启动应用

termux安装 github 蓝奏云 v119.1 termux-boot安装 github 蓝奏云 v0.8.1 安装 给权限运行加锁后台 am启动应用命令 am start -n 包名/启动项获取包名和启动入口(图中app为爱玩机工具箱) 例 简黑时钟蓝奏云 包名com.hm.jhclock 桌面启动项com.hm.jh…

【畅购商城】购物车模块之查看购物车

目录 分析 接口 后端实现 前端实现:显示页面 前端实现:显示购物车信息 分析 用户如果没有登录,购物车存放在浏览器端的localStorage处,且以数组的方式进行存储。用户如果登录了,购物车存放在redis中&#xff0c…

Kimi进行学术方向选择精讲!

目录 1.文献搜索 2.辅助选题 3.选题判断 在我们之前的文章中,小编都强调了选题在文章价值中的核心作用。一篇优秀的文章背后,肯定有一个精心挑选的选题。选题的好坏直接影响着文章能够发表的期刊等级。许多宝子们却采取了相反的做法,将大量…

记一次内存泄漏分析(待写稿)

背景 线上Flink频繁重启,先后排查了很多情况,目前在内存阶段排查,首先说说学到的知识 内存泄漏分析 JVM常用命令 JConsole JVisualvm 快照的这里是最有用的,它和jmap不同,jmap查找的是占用字节最多的类&#xff…

【PPTist】网格线、对齐线、标尺

前言:本篇文章介绍辅助我们摆放元素位置的几个功能 一、网格线功能 网格线主要是用来辅助我们对齐元素的,右键可以选择使用哪种网格线,以及关闭和打开 显示效果就是图中的这种效果。但是强迫症有点难受,它底部没对齐啊啊啊 不…

探究步进电机与输入脉冲的关系

深入了解步进电机 前言一、 步进电机原理二、 细分三、脉冲数总结 前言 主要是探究以下内容: 1、步进电机的步进角。 2、什么是细分。 3、脉冲的计算。 最后再扩展以下STM32定时器的计算方法。 一、 步进电机原理 其实语言描述怎么样都不直观,我更建议…

E-commerce .net+React(一)——项目初始化

文章目录 项目地址一、创建.Net环境1.1环境配置1.1.1 使用vscode创建webapi1.1.2 Clean architecture结构创建1.1.3 将创建好结构的项目添加到git里1.1.4 EF Core配置1. 在infrastructure里安装EF所需环境2. 创建Product数据模型3. 创建EF Core的DbContext 数据库上下文4. 创建…

Spring Bean 管理学习

Spring 框架的核心之一是 IOC(控制反转)容器,Bean 的管理是其中的重要功能。本文将从 Bean 的获取、作用域和第三方 Bean 的管理三个方面进行学习和总结。 1. 获取 Bean 在 Spring 项目启动时,IoC 容器会将所有的 Bean 创建好并托…

Excel for Finance 07 `FV PV` 函数

Excel 的 FV 函数用于计算一笔投资在未来的价值,基于固定的利率和定期付款。这是一个金融函数,常用来分析储蓄计划、贷款、或投资的增长。 语法: FV(rate, nper, pmt, [pv], [type])参数说明: rate(必需)&…

Lecture 18

Floating Point Numbers 1. 整数的局限性: • 在计算机中,并非所有数字都能用整数形式表示。例如: • 非整数(如小数):345.0256。 • 超出整数表示范围的数: 5.375 \times 10^{25} 。 2. 浮…

【LC】19. 删除链表的倒数第 N 个结点

题目描述: 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 示例 1: 输入:head [1,2,3,4,5], n 2 输出:[1,2,3,5]示例 2: 输入:head [1], n 1 输出&#xff…

EasyExcel(读取操作和填充操作)

文章目录 1.准备Read.xlsx(具有两个sheet)2.读取第一个sheet中的数据1.模板2.方法3.结果 3.读取所有sheet中的数据1.模板2.方法3.结果 EasyExcel填充1.简单填充1.准备 Fill01.xlsx2.无模版3.方法4.结果 2.列表填充1.准备 Fill02.xlsx2.模板3.方法4.结果 …

五.Springboot通过AOP实现API接口的签名验证

文章目录 前言一、实现原理二、签名规则三、服务端实现4.1、创建自定义注解4.2、创建切面处理类4.3、对应工具类RequestUtil 四、测试4.1 签名失败测试:4.2 签名成功测试: 四、总结 前言 对外开放的接口,需要验证请求方发送过来的数据确实是…

记录jvm进程号

日常开发中,相信大家会经常用到这么一行命令: ps -ef | grep xxx.jar | grep -v grep | awk {print $2} | xargs -r kill -9 就是杀掉xxx相关的进程,然后启动,当然也还有其他的方式可以实现类似的功能,我就不列举了&…