一个小妙招从Prompt菜鸟秒变专家!加州大学提出PromptAgent,帮你高效使用ChatGPT!

推荐使用ChatGPT4.0中文网,国内可直接访问:www.chatgp4.com

 

随着ChatGPT和GPT-4的推出,我们在工作和学习中的效率得到了显著提升,尤其是在字数凑足方面更是如虎添翼(特别对写作小白来说简直是神器)。然而,作为一个工具,有人觉得它好用,自然也有人觉得它难用。

要充分发挥大模型的潜力,掌握提示词(prompt)的使用技巧是必不可少的。然而,有时候即使我们绞尽脑汁想出的提示词,得到的输出结果也未必理想。显而易见,一个好的提示词至关重要,这也就是为什么Prompt工程师这个新兴职业的年薪已经达到了二三十万美元。

但对大多数公司来说,聘请Prompt工程师并不现实,那么该怎么办呢?

这里有一个节省成本的小技巧,帮助你从小白迅速成长为大佬级Prompt工程师!

加州大学团队提出了一种自动优化提示词的框架——PromptAgent。该框架结合了大模型的自我反思能力与蒙特卡洛树搜索(MCTS)规划算法,能够自动迭代检查提示词,发现不足,并根据反馈进行改进,寻找最优提示词的路径,从而将普通的初始提示词打造成与人类专家手工设计的提示词相媲美的高级提示词。

论文链接:
https://arxiv.org/pdf/2310.16427.pdf

让我们先来看一个示例,感受一下其强大之处。

假设我们希望实现生物医学领域的命名实体识别,从句子中提取疾病等实体。起初的提示词可能是:

“从句子中提取疾病或状况”

虽然这个简单粗暴的提示词能够完成部分简单任务,但效果并不理想。

PromptAgent能够通过这一提示词生成的结果指出错误并不断优化:

“您的任务是提取疾病或状况……请避免包含任何相关元素,如遗传模式(如常染色体显性)、基因或基因座(如PAH)、蛋白质或生物途径……考虑具体的疾病和更广泛的类别,并记住疾病和状况也可以以常见的缩写或变体形式出现。请以以下格式提供识别出的疾病或情况:{entity_1,entity_2,…}……请注意,“locus”一词应被识别为基因组位置,而不是疾病名称。”

可以看到,最终的提示词覆盖了丰富的生物领域知识,准确率得到了极大提升,简直就是小白秒变大佬!

让我们深入探讨具体的实现方法。

方法

PromptAgent框架设计

PromptAgent在确保对广泛的提示词空间进行有效策略性搜索的同时,有效地将专家知识整合到任务提示词中。这些专家知识通过大模型(如GPT-4)生成,而其搜索策略使用著名的蒙特卡洛树搜索。整体框架如图所示:

框架设计图

本文将任务提示词定义为状态,而对提示词的修改过程定义为执行动作。即:

  1. 给定初始状态(提示词),基本模型(如gpt-3.5-turbo)从任务数据集中获取初始输出,输出结果往往不理想,需要进一步优化。
  2. 使用优化器模型(如gpt-4)提供错误反馈并给出改进建议。
  3. 优化后的模型基于反馈更新提示词,过渡到下一个状态。

如此反复循环,最终导向专家级提示词。

策略优化过程

PromptAgent的优化过程与主要规划算法(特别是蒙特卡洛树搜索)无缝结合,从而生成普适性的专家级提示词。

蒙特卡洛树搜索通过逐步构建树状结构来实现策略搜索。在树的每个节点代表一个状态,每条边则代表状态转移的动作。搜索过程包括四个步骤:选择、扩展、模拟和反向传播,直到达到预设的迭代次数,最终选择回报最高的路径作为最优提示词。

  1. 选择:在每层选择最有前途的节点进行扩展。在每次迭代中,从根节点开始,遍历每层选择后续子节点并在叶节点停止。使用上界置信树算法(UCT)在“选择最有希望的路径”和“探索新路径”之间找到平衡。
  1. 扩展:通过多次应用动作生成和状态转换,在选定的叶节点下添加新的子节点,以此扩展树结构,并采样多个训练批次以获得多样化的错误反馈。
  2. 模拟:模拟扩展阶段所选节点的未来轨迹,计算选择该路径可能带来的回报。选择过程灵活,可以随机移动直到达到终止状态。
  3. 反向传播:在模拟中遇到终止状态时,将进行反向传播,更新Q值函数,从而沿路径反向计算未来的回报。

PromptAgent通过设定的迭代次数执行上述四个步骤,最后选择具有最高回报的路径和节点(即提示词)进行评估。

实验

实验设置

为了全面评估PromptAgent对各类应用的影响,作者从三个不同领域精选了12个任务进行深入实验:

  • 6个BIG-Bench Hard (BBH)任务,强调领域知识与复杂推理能力(如桌上的企鹅、物体计数、认识论推理和时间序列)。
  • 3个生物医学领域专用任务:疾病命名实体识别(NER)、生物医学句子相似性任务(Biosses)和医学问答任务(Med QA)。
  • 3个著名的自然语言理解任务,包括两个文本分类任务(TREC和Subj)和一个自然语言推理任务(CB)。

实验结果与分析

  1. 整体效果:表中数据表明PromptAgent在BBH任务上显著优于所有基线方法,相较于人类提示(ZS)、CoT和APE方法分别提升了28.9%、9.5%和11.2%。
  1. Prompt的泛化性:经过PromptAgent优化后的提示词在其它基础LLM模型上的表现也得到了评估。尽管较低级别和小规模的LLM模型(如GPT-2或LLaMA)可能无法充分掌握这些专家级提示词的微妙之处,但在更强大的GPT-4中,优化后的提示词在11/12的任务中均取得了进一步改进。
  2. 消融实验:本文还对多种搜索策略进行了比较,包括随机抽样、贪婪深度优先搜索和束搜索,结果表明MCTS的策略规划在所有任务上均优于其他搜索变体。
  1. 搜索效率分析:PromptAgent不仅性能卓越,其效率也是一大优势。在更高准确性的同时,搜索过程中生成的节点数相对较少。

结论

本文介绍了PromptAgent,这一新颖的提示词优化框架结合了LLMs的自我反思能力,将领域特定知识融入新生成的提示词,并利用MCTS高效遍历复杂的提示词空间,找到专家级的提示词。PromptAgent优化后的提示词不仅丰富了领域特定的细节和指导,也为未来更强大的模型应对复杂指令提供了无限可能。最终,自动构建专家级提示词将是一个非常有潜力的方向。

滚动至顶部