GPT-4使用效果不好?美国奥本大学提出Prompt分类法,另辟蹊径构建Prompt设计指南

作者 | 小戏,Python

可能现在全世界都知道大模型、GPT 这类东西潜力无限了,作为一个尚未被完全开发的金矿,那么什么是打开这座宝藏的钥匙呢?显然,答案是 Prompt

作为我们与大模型“对话”的最重要的工具,Prompt 的核心作用就是将自然语言下不那么明确清晰的任务定义以一种大模型听得懂的方式表述出来,因而,Prompt 的好坏便直接决定了大模型在不同复杂任务中的表现好坏

但是,这一点事实上为我们在以大模型为基础做各种基准测试时埋下了隐患,Prompt 设计不统一,我有我的倚天剑,你有你的屠龙刀,很难说这个任务的好坏是来源于大模型实际蕴含的能力还是来自于我们人类设计的 Prompt 的好坏

大模型研究测试传送门

GPT-4传送门(免墙,可直接测试,遇浏览器警告点高级/继续访问即可):
Hello, GPT4!

来自美国奥本大学的研究者为 Prompt 设计了一个通用的 Prompt 分类法(Taxonomy)TELeR,通过使用 TELeR 在未来针对大模型性能的研究中便可以按图索骥确定自己在研究中使用的 Prompt 类别,从而使得不同研究使用的不同 Prompt 可以在一个通用的标准中被概括,为多个独立的研究设定相同的 Prompt 标准,以便可以从不同研究中得到更加富有意义的结论

TELeR 分类法可以被如上图一张图所概括,整体来看,TELeR 将 Prompt 视为提示数据(Data)与提示指引(Directive)的组合,而在数据固定的情况下,不同的 Prompt 之间的差别主要便在于提示指引之间的差别,整个提示指引可以被 TELeR 即轮次(Turn)、表达(Expression)、细节级别(Level of Details)与角色(Role)的首字母组合表达,其中:

  • 轮次:轮次表示与语言模型互动的轮次,Prompt 设计可以被分类为单轮 Prompt 与多轮 Prompt;

  • 表达:表达指对整体任务与相关子任务的表达风格,表达总体上可以被分为问题式与指令式两种;

  • 角色:Prompt是否为大模型定义了系统角色;

  • 细节级别:主要指 Prompt 定义任务的明确程度,分为0-5级,Level 0 表示没有对指令详细的介绍,而 Level 5 表示描述包含了明确的目标、步骤、解释与标准。

通过轮次、表达、细节级别与角色的离散取值,可以定位不同的 Prompt 在 TELeR 中的位置,那么如何使用 TELeR 呢,作者给出了两个用例:

Meta-Review

Meta-Review 是一个期刊编辑综合不同审稿人意见给出初步评审的过程,这样一个阅读+综合+文本生成的任务很适合大模型的能力特点,假设当下收到三位审稿人的评论分别是R1,R2,R3。在测试大模型的综合能力时,如果不指定系统角色,只进行单轮对话以指定式构建 Prompt,不同级别的 Prompt 如下:

  • Level 0:<R1,R2,R3>;

  • Level 1:通过总结以下评论,编写一个 Meta-Review:<R1,R2,R3>;

  • Level 2:通过总结以下评论,编写一个 Meta-Review,要求最终的输出应该强调文章的核心贡献、不同审稿人提到的共同优势/缺点、改进建议以及需要补充的参考文献。评论文本如下:<R1,R2,R3>;

  • Level 3:通过回答以下问题编写一个 Meta-Review: (1)根据审稿人的评论,该论文的核心贡献是什么? (2)不同审稿人所提到的共同优势有哪些? (3)不同审稿人所强调的共同缺点是什么? (4)审稿人提供什么建议来改进这篇论文? (5)审稿人提到的缺少的参考文献是什么? 评论文本如下:<R1,R2,R3>;

  • Level 4:Level 3+请详细解释作出这些选择的原因;

  • Level 5:Level 4+请保证表达流畅,并重点强调不同审稿人所提到的共同优势/缺点有哪些,长度不超过400个单词,并且只输出中文(英文)。

Narrative Braiding

Narrative Braiding 也称做多角度叙事,是一种并行讲述多条故事线并要求最终可以汇聚成一体的文学技巧(例如低俗小说中的四个桥段),Narrative Braiding 经常被用于如小说、电影、电视剧的创作之中,这项任务的难点在于既要保证每条故事线充分合理的发展,又要使得不同的故事线可以交叉汇聚到一起,这点对大模型来说也非常有挑战。仍然假定不指定系统角色,只进行单轮对话以指定式表达构建 Prompt,假设当下两条故事线描述分别为<N1,N2>:

  • Level 0:<N1,N2>;

  • Level 1:根据以下备选的故事描述组合编制一个连贯的故事:<N1, N2>;

  • Level 2:根据以下备选的故事描述组合编制一个连贯的故事,要求最终的输出应强调两个故事描述中提供的共同信息、每个故事描述中提供的有趣独特的信息以及这些叙述中传达的冲突信息。备选故事描述如下:<N1, N2>;

  • Level 3:通过执行以下任务,根据以下备选的故事描述组合编制一个连贯的故事: (1)从两个描述中提取重叠子句对并改写; (2)从每个描述中提取独特的子句并确定其中有趣的段落; (3)提取两个描述中传达的冲突子句对并解决冲突; (4)从重叠-独特-冲突子句中生成段落并将它们合并为单个故事; (5)重新排列合并文档中的句子,编制成详细的连贯故事; (6)将详细故事总结成简洁的 Narrative Braiding。 备选故事描述如下:<N1, N2>;

  • Level 4:Level 3+请详细解释做出的这些响应是如何包含某些信息并且忽略其他信息的;

  • Level 5:Level 4+请保证表达流畅连贯,并突出两个叙述中提供的重叠-独特-冲突信息,长度不超过1000个单词,并且只输出中文(英文)。

核心思想

TELeR 的核心思想在于对 Prompt 工程中起作用的细节的理解,作者认为,Prompt 主要是从任务定义的详细程度、目标说明的清晰程度、数据与指令的边界、子任务的拆解、生成理由、少样本示例、期望得到的输出示例、上下文与角色的定义、表达风格与交互风格这十大方面影响模型生成的好坏,具体而言:

  1. 任务定义的详细程度:当 Prompt 的任务定义出现模糊含糊的情况时,往往会极大的影响大模型的生成性能,因此,在定义 Prompt 的过程中越是充分详细地定义任务或问题,模型对任务的理解就会越精准;

  2. 目标说明的清晰程度:对大模型输出目标的说明清晰程度也会极大的影响大模型的响应,清晰的目标有助于引导语言模型理解正在处理的任务或问题,从而增加获得所需信息或输出的可能性;

  3. 数据与指令的边界:在 Prompt 的设计中要明确表明用户是否在 Prompt 中提供了数据,如果提供了数据,哪部分是数据,哪部分是指令对大模型更好的运用数据相当重要;

  4. 子任务的拆解:复杂任务往往由多个步骤或子任务组成,而细致拆解这些子任务并清晰明确的表达这些任务对大模型的理解至关重要,经验上可以将子任务单独标号以便于模型识别;

  5. 生成理由:大模型一项独特的能力在于不仅可以提供任务的输出,还可以为任务输出提供自己的选择理由,在许多任务中,让大模型提供自己的生成理由非常有价值;

  6. 少样本示例:few-shot 学习的重要性无需多言,如果有所需输入输出对的具体示例可以很大的增强模型输出的准确性;

  7. 期望得到的输出示例:在没有少样本示例时,向大模型说明自己期望得到的输出结果对大模型正确输出结果也颇有脾益,比如告诉大模型自己期望得到的输出字数、语言风格等等;

  8. 上下文与角色的定义:通过为大模型补充背景信息,可以帮助模型做出更明智和精确的决策,而角色信息更像是一个信息密度更高的背景信息,通过为大模型预设角色可以以更短的语句为大模型设定上下文;

  9. 表达风格:一般而言 Prompt 的表达风格常可以被分为问题与指令两类,指令式的表达可以让大模型输出一般性的信息,而问题式的表达可以让大模型输出更加具体的答案;

  10. 交互风格:复杂的 Prompt 往往涉及长文本的描述以及多次步骤性的执行 Prompt,在这种背景下可能更加适合用多轮对话式的 Prompt 对大模型进行逐步提示,当然有时候一次性的提供所有的细节信息也可以达到的同样的效果,很大程度上这种选择仍然只能靠经验确定。

讨论与总结

在大模型各式各样的测评漫天飞花的情况下,这篇论文另辟蹊径为 Prompt 统一一个分类法以使得各路大模型的研究者可以在比较性能时至少在 Prompt 上有迹可循有法可依,不过这篇文章对 Prompt 的分类仍然略显主观与简单,没有深入到模型训练原理的层面理解 Prompt,也没有更多的实验证明这套分类法确实可以让大模型 Prompt 在同一类别下站在同一起跑线

当然更重要的是,透过这篇文章我们应该看到,随着大模型处理的任务不再是简单的 Chat,Prompt 统一标准的意义在未来必然会愈来愈显示其重要性,在更加复杂与难以定义的任务上,有一套 Prompt 共同的标准将十分有助于启发我们定义问题的思路并构建我们利用大模型解决问题的共识。

论文题目: TELeR: A General Taxonomy of LLM Prompts for Benchmarking Complex Tasks

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值