AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


高级技巧的其他技巧
发布日期:2024-04-30 08:52:59 浏览次数: 1739


一文看全提示工程有哪些套路

大语言模型通过提示工程的辅助,能够应对数学问题和常识推理等复杂任务。这些模型本身并不具备直接处理此类任务的能力,需要通过指导和优化来扩展其功能,以有效执行更广泛的任务。通过使用提示词,可以明确输出格式,提供背景知识,或引导模型完成复杂任务。运用如思维链(Chain-of-Thought,CoT)这样的高级提示技巧,能显著提升模型解决问题的效率。

为什么要谈提示词设计

想要发挥大语言模型LLM的最大价值,我们需要设计出有明确导向的提示词。不同的大语言模型对同一个提示词可能还会有不同的解读,可能会对关键词有特别的定义。根据具体任务,领域知识在提示词设计时也非常关键。而寻找最佳提示词的过程往往是需要不断尝试和修正。

提示词一般包括三个方面内容:输入、上下文和示例。

  • • 输入部分:明确模型需要回应的信息,可以是问题、任务或实体等多种形式。

  • • 上下文:不是必选部分,上下文可以对模型的行为提供知道。

  • • 示例:也是可选部分,通过输入输出对展示预期进行规范,通过示例来进一步约束模型的输出格式和模型行为。

采用常见的提示设计策略可以显著提升大语言模型的性能:

  • • 要给出清晰、简洁的指令,有效引导模型的行为。

  • • 利用示例展示期望的响应模式,以提升模型处理不同复杂性任务的结果。

  • • 要展示期望的模式,而不是让模型去避免输出什么。

  • • 提供部分内容,让模型能够基于示例和上下文生成剩余部分。

  • • 在辅助模型解决问题时,加入必要的指令和信息。

  • • 在输入或输出中添加前缀,为模型提供语义提示或格式上的指导。

高级提示工程技巧

高级提示工程技巧包括了一系列用于提高模型性能的方法,这些方法包括提供更加丰富的信息、更加具有结构化、有条理的提示,以及利用一些先验知识和逻辑推理来优化模型的回答,提升模型在处理复杂任务时的表现。这些方法不仅增强了模型的理解力,也提高了模型解决问题的效率和准确性。

思维链, Chain Of Thought (COT)

所谓思维链(COT)是一种向大语言模型LLM展示一些中间思考步骤的技术,这些步骤逐步引导得到最终答案,增强了模型的推理能力。这个方法让模型集中精力逐一解决问题,而不是一次性处理整个问题。

思维链适用的场景很多,包括各种推理任务,比如:数学问题、尝试推理、符号操作等。思维链方法的好处在于,不用对模型进行训练和微调。比如,在PaLM模型中应用CoT提示,显著提升了GSM8K基准测试的性能,准确率从17.9%跃升至58.1%。

少次示例(Few Shot)的COT提示可以通过向模型展示少数几个类似问题案例来提高模型的推理能力(如上图),效果也会优于传统的Few Shot方法,但是Prompt撰写起来也会比传统的Few Shot方法复杂。

零次示例(Zero Shot)的COT提示则是在原始提示词中加入类似:"Let's think step by step"(中文:让我们一步步来思考)这样的词来激励模型逐步推理直到获得答案(如上图)。实践证明,零次示例CoT在评估LLM的推理能力时,表现优于其他方法。

COT推理一般用于参数规模超过100亿(>10B)的大语言模型中,可能原因是这些模型训练集中可能会包含逐步推理训练数据。虽然遵循指令(instruction-following)对CoT并非必要,但可能有助于提升其推理质量。

有论文表明,CoT提示在不同语言风格、注释者、示例和语言模型中的表现均优于标准基线提示,显示出其在提升语言模型处理多样化任务时的鲁棒性和有效性。CoT提示的设计敏感性关乎模型性能,恰当、清晰的提示对于复杂任务尤为重要。CoT的连贯性确保了推理步骤的逻辑顺序,后续步骤不应依赖于前面的步骤,反之亦然,缺乏连贯性会显著影响系统的性能。

自洽性(Self Consistency)

所谓自洽性,是指一种为同一问题,生成多个不同的思维链,并对模型进行训练从中挑选出最合适的答案的方法,这种方法可以提升语言模型的表现。

这种方法特别适用于需要连续推理的复杂任务,例如思维链提示法。它在多个评估标准上显著提升了CoT提示的效果,如在GSM8K上提升了17.9%,在SVAMP上提升了11.0%,在AQuA上提升了12.2%。

自洽性是一种无需额外人工标注、训练、微调或模型更改的无监督技术,它在不同的采样策略和参数设置下均表现出稳定性,有效提升了模型性能。随着语言模型规模的扩大,自洽性的优势愈发凸显,例如在LaMDA137B和GPT-3等大型模型上,准确率最高可提升23%。即便对于那些已经表现出色的大型模型,自洽性也能稳定地提供额外的性能增益,如在AQuA和GSM8K任务上相较于PaLM-540B模型,准确率提升了12%至18%。

思维树(Tree Of Thoughts, TOT)

思维树是一种新的创新,在思维链的方法的技术上进行了扩展,让大语言模型将文本中的连贯单元(“思想”)作为任务的中间步骤进行探索。这一框架赋予了语言模型做出审慎决策、考虑多重推理路径以及自我评估选择的能力,并在必要时能够进行前瞻性思考或回溯,以作出全局性决策。

思维树(ToT)是一种创新的框架,它在思维链方法的基础上进行了扩展,允许语言模型将文本中的连贯单元(即“思想”)作为解决难题的中间步骤进行探索。

ToT显著提升了语言模型在解决24点游戏、创意写作和迷你填字等任务上的问题解决技能。

例如,在解决24点游戏的任务中,传统的输入输出法(IO)、CoT以及自洽CoT(CoT-SC)的成功率分别仅为7.3%、4.0%和9.0%,而ToT则取得了显著更好的成绩。ToT在仅考虑一种可能解决方案时(宽度b=1)的成功率已达到45%,而当它同时考虑五种可能解决方案(宽度b=5)时,成功率更是提升至74%。

ToT在那些需要复杂规划或搜索的任务中展现出了其强大的效力。在对100项不同任务的GPT-4评分中,ToT、IO和CoT三种方法的平均得分显示,ToT以平均7.56分的高分位居榜首,其次是IO(6.19分)和CoT(6.93分)。ToT在生成连贯文本方面,平均而言也优于IO和CoT,能够提供更加流畅和逻辑性强的解答。

主动提示

主动提示是一种利用基于不确定性的主动学习策略,帮助大型语言模型Agent应用(LLMs)更好地适应各类任务。

  • • (1) 不确定性评估:无论是否提供了少量由人编写的思维链路,我们对大型语言模型进行k次(本例中k取5)查询,为一系列训练问题生成可能的答案及其推理步骤。然后,我们通过一个不确定性指标(本例中采用不一致性度量)基于k个答案来计算不确定性u。

  • • (2) 选择:依据不确定性的大小,我们挑选出最不确定的问题进行标注。

  • • (3) 注释:我们邀请人类对这些选定的问题进行标注。

  • • (4) 推理:利用新标注的示例对每个问题进行推断。

与其他所有基线模型相比,主动提示展现出了最优的性能,成为提升大型语言模型在多样化推理任务上性能的最为有效的方法。相较于自洽性方法,主动提示在code-davinci-002上平均提升了2.1%,在text-davinci-002上提升了7.2%,这表明主动提示是一种改进LLM性能的更为高效的手段。在GSM8K和AQuA任务上的提升尤为显著,分别达到了4.2%和3.1%,这暗示了主动提示在处理那些不需要CoT提示可转移性的任务时,尤为有效。

无观察推理(Reasoning WithOut Observation, ReWOO)

无观察推理是通过将推理过程与现实世界的外部观察相剥离,从而显著降低了大语言模型所需的信息处理量,提升了模型的工作效率。ReWOO的工作流程被划分为三个独立的模块:规划器、执行者和解答器。

  • • 规划器(Planner)接收问题并将其拆分为一系列步骤,每个步骤进一步细化为一个计划,这些计划相互关联,前一个计划的输出成为后一个计划的输入。

  • • 执行者(Wprker)根据计划检索外部工具中的知识,以提供证据,这些证据可以是事实信息或代码片段。

  • • 解答器(Solver)则将执行者提供的计划和证据综合起来,形成对原始问题的最终答案。

ReWOO在六个公共自然语言处理(NLP)基准测试和一个精选数据集上进行了评估,均一致性地超越了基线方法。例如,在HotpotQA这一多步推理基准测试中,ReWOO实现了五倍的令牌效率和4%的准确率提升。ReWOO在工具失效的情况下也展现了强大的鲁棒性,即使依赖的外部工具不可用,它仍能保持良好的表现。

与ReAct相比,ReWOO的表现更胜一筹。ReWOO成功将令牌使用量减少了64%,在绝对准确率上也实现了4.4%的提升。它比ReAct更能激发LLM的推理潜能。ReWOO对工具故障的鲁棒性也更强,当工具出现故障时,ReAct等系统会非常脆弱,而ReWOO则不那么容易受到影响。ReWOO在精选数据集SOTUQA上的表现同样出色,SOTUQA是一个与现实世界中的自动语言模型(ALM)应用更为贴合的文档问答数据集。

ReWOO实现了参数化组件与非参数化工具调用之间的解耦,这允许大语言模型Agent应用(LLM)经过微调,将部分推理功能下放给规模较小的语言模型。这样的下放显著降低了LLM需要维护的参数数量,进一步提升了模型的运行效率。ReWOO能够将175B参数的GPT3.5模型的推理能力下放至7B参数的LLaMA模型,展现出构建真正高效且具备可扩展性的自动语言模型(ALM)系统的潜力。

推理与行动(Reason and Act, ReAct)

ReAct(推理与行动)技术融合了推理与执行,旨在通过语言模型解决多样的语言推理和决策任务。该技术引导语言模型产生口头推理线索和行动方案,实现动态推理、高级行动规划以及与外部环境的互动。

ReAct在四个不同的测试数据集中进行了测试,四个数据集分别是问答(HotPotQA)、事实核查(Fever)、基于文本的游戏(ALFWorld)和网页导航(WebShop)。在ALFWorld和WebShop测试中,ReAct相较于模仿学习和强化学习方法,分别实现了34%和10%的性能提升。这归功于ReAct能够从人类示例中学习,并将所学知识灵活应用到新情境中。

ReAct的设计宗旨是直观、通用、高效和强大。它适用于多种任务,包括但不限于问答、事实核查、文本游戏和网页导航等。ReAct还提供了一个可解释的决策与推理过程,让人类用户能够审查推理过程、核实事实正确性,甚至在任务执行期间对代理的行为进行控制或校正。

反思框架(Reflection)

反思是指通过语言反馈来增强语言代理的能力。这种反馈以自然语言的形式呈现,使得代理能够对任务反馈信号进行反思,并将这些反思转化为文字记录,存储在情景记忆缓冲区中。这些反思文本随后用于指导未来任务中更加明智的决策制定。Reflexion框架擅长自我反思,生成口头反思以提供更加详实的反馈,并将这些反思存储于代理记忆之中,以便未来利用这些信息优化表现。

Reflexion的灵活性体现在它能够整合多种类型和来源的反馈信号,无论是数值型的奖励或惩罚,还是自由形式的文本反馈,无论是来自外部(如人类或其他代理)还是内部模拟(由代理自身生成)。

在决策、推理和编程等任务中,Reflexion代理相较于传统基线方法展现出更出色的性能。在AlfWorld决策任务中,Reflexion代理在12轮迭代学习后性能提升了22%。在HotPotQA推理问题上,其性能提升了20%。在HumanEval Python编程任务中,Reflexion代理最高提升了11%的性能。在HumanEval测试中,Reflexion代理达到了91%的一次性通过准确率,这一成就超越了之前准确率为80%的最先进模型GPT-4。

专家提示

专家提示是一种为大语言模型提供指导的增强型提示词策略,它构想了一个针对每个具体指令定制的杰出专家角色。LLMs需根据这位想象中的专家身份来回应指令,这种方法实现了自动化提示。专家身份的构建是通过上下文学习来完成的,需要事先编写一系列指令与专家配对的示例。这些生成的专家身份在实际应用中被证明是令人满意的。

专家提示方法具有普适性,能够通过详尽且精细的描述来定义专家身份,从而匹配不同领域或风格的指令。无论是营养学还是物理学等领域,它都能灵活适应。实施专家提示方法简便直观,无需复杂的提示模板设计或迭代过程。关键在于编写出专业、详尽且周全的专家身份描述,这些描述应当能够自动生成,以确保操作的便捷性和高效率。

自动提示工程(Automatic Prompt Engineering, APE)

自动提示工程(APE)是一种创新技术,它将指令当作“程序”来对待,并通过在大语言模型提出的候选指令库中筛选,来优化这些指令。这一过程采用特定的评分函数对LLM生成的候选项进行评估,最终挑选出得分最高的指令。APE技术受到传统程序合成技术的启发,也融入了人类在提示工程中的手工制作方法。程序合成指的是根据自然语言描述的预期行为自动生成代码的过程,而人类的提示工程方法则是指手工精心设计能够有效利用LLM生成期望输出的指令。

APE在零样本学习领域展现了与人类相媲美的表现,它在24/24指令归纳和17/21大型基准测试中使用模型生成的指令达到了人类水平。特别是在采用InstructGPT模型时,APE的表现甚至超过了人类,其智商测量值(IQM)达到了0.810,相比之下人类为0.749。这一成就的实现过程是:首先利用InstructGPT和提示“让我们一步步来思考”生成包含问题和推理步骤的数据集,然后排除了所有错误答案的数据点。接着,APE被用来寻找一个以“Let's”开头,能够最大化正确推理步骤可能性的提示。APE生成的提示为“Let's work this out in a step-by-step way to be sure we have the right answer.”这个提示进一步提升了两个任务的性能:在MultiArith任务上,性能从78.7%提升到了82.0%,在GSM8K任务上,性能从40.7%提升到了43.0%。

自动CoT(Auto-CoT)

自动CoT(Auto-CoT)是一种自动创建带有问题和推理链示例的过程(简单的说就是根据问题,自动编写Few Shot CoT Prompt)。该方法首先将数据集中的问题进行聚类,形成若干问题群组。接着,从每个问题群组中挑选出一个问题作为代表,并利用零次示例CoT技术及简单启发式规则为其生成推理链。Auto-CoT相较于其他方法具有多项优势:自动化、可扩展性强且效果显著,生成的示范性示例既精确又充满信息量。

在对十个不同推理任务类别的数据集中的四种基线方法与Auto-CoT的准确性进行比较时,Auto-CoT的表现始终不逊色于甚至超过了需要人工设计示范性示例的CoT方法。这得益于Auto-CoT能够生成针对特定任务和数据集定制的示例,而手动CoT可能会将相同的示例应用于多个数据集,这往往会导致准确率下降。

自动多步推理与工具应用(Automatic Multi-step Reasoning and Tool-use, ART)

自动多步推理与工具应用(ART)框架利用大型语言模型自动为新任务生成中间推理步骤。在此过程中,语言模型是固定的,不会进行更新,这使得ART的效率和可扩展性优于那些采用可训练语言模型的框架。ART从任务库中精选出多步推理和工具使用的案例,并采用高级描述来分解解决任务所需的各个步骤。随后,ART结合工具库中的工具和语言模型的生成结果,共同完成这些中间推理步骤。在测试阶段,ART能够在调用外部工具时平滑暂停生成过程,并在继续生成前整合这些工具的输出,从而借助外部工具解决复杂任务。

ART在多项任务上显示出卓越效果,包括自然语言推理、问答和代码生成等。它在少次示例推理和工具使用方面超越了以往的方法,甚至能够完成之前认为对大型语言模型来说不可能的任务。人类用户可以编辑分解步骤以优化性能,比如修正代码错误或引入新工具。ART的扩展性强,能够轻松添加新任务和工具。

在34个大基准测试任务中的32个及所有MMLU任务上,ART的表现一致匹配或超过了需要手动设计的CoT推理链。平均来看,它实现了超过22个百分点的性能提升。ART中工具的使用显著增强了测试任务的性能,平均改进超过12.3个百分点。与不使用工具的情况相比,ART在未见过的大基准和MMLU任务上,通过少次示例提示平均提升了10.8个百分点。在需要进行算术和算法推理的任务中,ART的提升尤为突出,性能超过了直接少次示例提示的12.5%。此外,ART在超越了以往GPT3的最佳成绩6.1个百分点,这些GPT3使用了监督来完成分解和/或工具使用。ART支持人为干预,通过更新任务和工具库中的示例来提升性能。在获得更多人类反馈的情况下,ART在12个测试任务上超越了GPT3的最佳成绩,平均提升了超过20个百分点。

高级技巧的其他技巧

通过采用一系列高效的提示技巧,您可以显著提升与大语言模型的互动质量,如调整温度参数、控制token长度、链接提示以及进行多轮对话等。

  • • 温度参数微调模型的随机性,较高值激发创意,较低值则确保精确性。

  • • Token长度控制则用于设定回复的长度,有助于保持简洁。

  • • 提示链技术通过在连续的提示中引用之前的输入或模型的回复,形成流畅的对话链。

  • • 多轮对话则通过用户或模型提供多个提示或回复,促进了更为深入和细致的交流。用户可以链接多个提示,深入探讨特定话题,而模型则能提供多种视角,使讨论更加丰富和有洞察力。

  • • 为特定行业或领域定制提示,可以确保LLMs提供相关回复,增强用户信任,并促进其持续使用。领域特定的提示有助于提高上下文理解和准确性,因为LLMs是基于相关领域的文本进行训练的,这显著提升了用户体验和满意度。

  • • 能够妥善处理模糊或矛盾的用户输入也是提升LLMs提示能力的关键。这包括主动与用户互动,澄清需求,利用自然语言理解确定用户意图,并生成多样化的回复。例如,当用户表示寻找餐馆时,聊天机器人能够根据用户的位置、预算或饮食习惯推荐合适的餐馆选项。

本文翻译节选自:https://www.mercity.ai/blog-post/advanced-prompt-engineering-techniques

                 


53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询