加州大学提出 Prompt Agent,帮你高效使用 ChatGPT!

2023-11-1413:34:54人工智能与大数据Comments754 views字数 3698阅读模式

要把大模型用得 6,必须得研究一下 prompt 使用技巧,但有时候绞尽脑汁想的 prompt 却无法获得理想的输出结果。一个好的 prompt 的重要性不言而喻,怪不得 Prompt 工程师这个新兴职业的年薪已经达到了二三十万美元。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/57091.html

但对于大部分公司来说,prompt 工程师是请不起的,怎么办呢?文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/57091.html

这里有一个省钱小技巧,让你从小白秒变大佬级 Prompt 工程师!文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/57091.html

加州大学团队提出了可以自动优化 Prompt 的框架 ——PromptAgent,结合大模型的自我反思特点与蒙特卡洛树搜索规划算法,自动迭代检查 Prompt,发现不足,并根据反馈对其进行改进,寻找通往最优 Prompt 的路径,可以将平平无奇的初始 Prompt 打造成媲美人类专家手工设计的 Prompt文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/57091.html

论文加州大学提出 Prompt Agent,帮你高效使用 ChatGPT!文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/57091.html

论文链接
https://arxiv.org/pdf/2310.16427.pdf文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/57091.html

先看一下例子感受一下有多厉害。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/57091.html

假设我们想要实现生物医学领域的命名实体识别任务,从句子中提取疾病等实体。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/57091.html

prompt 可能就设置为:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/57091.html

从句子中提取疾病或状况文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/57091.html

这样简单粗暴的 prompt 虽然也能完成部分简单任务,但是效果并不好。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/57091.html

PromptAgent 能够通过该 prompt 所获得的结果指出错误并不断优化 prompt:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/57091.html

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

加州大学提出 Prompt Agent,帮你高效使用 ChatGPT!
▲优化示例

可以看到,最终的这份 Prompt 涵盖了丰富的生物领域知识,且准确率得到了极大提升。简直就是菜鸟秒变大佬!文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/57091.html

让我们来看看具体是怎么做的吧!文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/57091.html

方法

PromptAgent 框架设计

PromptAgent 在确保对广阔的 prompt 空间进行高效策略性的搜索的同时,有效地将专家知识整合到任务 prompt 中。所谓专家知识通过大模型如 GPT-4 生成,而其搜索策略使用的是著名的蒙特卡洛树搜索。整体框架如图 3 所示:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/57091.html

加州大学提出 Prompt Agent,帮你高效使用 ChatGPT!

本文将任务 prompt 定义为状态 ,而对 prompt 的修改过程定义为执行动作 。如图 3(b)所示:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/57091.html

  1. 给定当前状态 (也就是初始 prompt),基本模型(gpt-3.5-turbo)从任务数据集获得初始输出,初始输出往往不如人意,需要进一步优化。
  2. 使用优化器模型(gpt-4)提供错误反馈并给出改进建议。
  3. 优化后的模型根据反馈更新 prompt 并过渡到下一个状态 。

如此循环往复,最终导向专家级 prompt。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/57091.html

策略优化过程

上述对 prompt 优化的过程可以无缝地将 PromptAgent 与主要的规划算法特别是蒙特卡洛树搜索(MCTS)相结合。从而产生最具普适性的专家级 Prompt。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/57091.html

蒙特卡洛树搜索(MCTS)通过逐步构建树状结构来实现策略搜索,如图3(a)所示,其中每个节点表示一个状态,每条边表示状态转移的动作。MCTS 执行选择、扩展、模拟和反向传播四步走来迭代搜索。迭代过程在达到预定义的迭代次数后结束,选择最高回报的路径作为最终的 Prompt。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/57091.html

  1. 选择:在每层选择最有前途的节点进行进一步的扩展和探索。在每次迭代中,它从根节点 开始,遍历每树的每一层,选择每层的后续子节点,并在叶节点处停止。在选择每层的子节点时,利用了上界置信树算法(UCT),帮助在"选择最有希望的路径"和"探索新路径"之间找到一个好的平衡。具体如下所示:加州大学提出 Prompt Agent,帮你高效使用 ChatGPT!文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/57091.html

    其中 表示在状态执行动作时的有可能获得的回报,表示节点的动作集合,表示节点的访问次数,表示在应用动作到节点后得到的子节点,是一个用于调整探索的常数。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/57091.html

    公式中第一项用于衡量路径的价值,而第二项衡量被访问节点的不确定性。换句话说,如果一个节点被探索得较少且其子节点也较少被访问过,那么第二项的值会较高。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/57091.html

  2. 扩展:在前一步选择到达的叶节点下面添加新的子节点来扩展树结构。通过多次应用动作生成和状态转换(图 3(b))来完成的,从而产生多个新的动作和状态。需要注意的是,本文采样了多个训练批次得到多样化的错误反馈(动作)。在新的节点中,选择最高回报的节点作为下一个模拟步骤的输入。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/57091.html
  3. 模拟:模拟扩展阶段所选节点的未来轨迹,并计算如果选择该路径可能得到的回报。模拟策略的选择很灵活,比如选择随机移动直到达到终止状态。为了减少模拟的计算成本并简化过程,本文选择不断生成多个动作,并选择其中回报最高的节点,以快速进入下一个树级别。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/57091.html
  4. 反向传播:在模拟过程中遇到终止状态时,将进行反向传播。终止状态由预设的最大深度或提前停止条件决定。此时,通过更新 Q 值函数,沿着从根节点到终止节点的路径反向传播计算未来的回报。对于次条路径中的每个状态-动作对,聚合从状态 开始的所有未来轨迹的回报来更新 ,更新方式如下:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/57091.html

    加州大学提出 Prompt Agent,帮你高效使用 ChatGPT!这里 M 表示从状态 开始的未来轨迹的数量,和 分别表示从状态 和动作 开始的第 个状态序列和动作序列。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/57091.html

PromptAgent 使用预设的迭代次数执行上述四个操作,当达到迭代次数后,选择具有最高回报的最佳路径中的最佳节点(即Prompt)进行最终评估。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/57091.html

实验

实验设置

为了全面评估 PromptAgent 对各种应用的影响,作者从三个不同领域精选了 12 个任务进行深入实验:
- 6个BIG-Bench Hard (BBH) 任务,强调领域知识(如几何形状和因果判断)和复杂推理能力(如桌上的企鹅、物体计数、认识论推理和时间序列)。
- 3个生物医学领域特定任务:疾病命名实体识别(NER)、生物医学句子相似性任务(Biosses)和医学问答任务(Med QA)。
- 3个著名的自然语言理解任务,包括两个文本分类任务(TREC和Subj)和一个自然语言推理任务(CB)。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/57091.html

实验结果与分析

整体效果

表 1 显示 PromptAgent 在 BBH 任务上明显优于所有基线。相对人类 Prompt(ZS)、CoT 和 APE 方法分别提升了 28.9%、9.5% 和 11.2%。加州大学提出 Prompt Agent,帮你高效使用 ChatGPT!文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/57091.html

对于需要广泛的领域知识和深厚的 LLM Prompt 工程经验的生物领域任务,人类 Prompt 和 CoTPrompt 效果不佳。而 APE 通过自动 Prompt 抽样和优化融入了一些领域知识,减少了人工干预,效果有所提升。但是,PromptAgent 相对于 APE 平均提高了 7.3%,这表明 PromptAgent 可以更好地引导有效的领域知识,产生专家级 Prompt,并弥合新手和专家 Prompt 工程师之间的知识差距。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/57091.html

而对于通用的 NLU 任务,PromptAgent 的能力和通用性也完胜所有的基线。加州大学提出 Prompt Agent,帮你高效使用 ChatGPT!文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/57091.html

Prompt 泛化性

作者还对经过 PromptAgent 优化后的 Prompt 能否推广到其他基础 LLM 模型上展开评估。由于较低级别和较小规模的 LLM 模型(如 GPT-2 或 LLaMA)可能无法熟练掌握这些专家级 Prompt 的微妙之处,会导致显著的性能下降。本次评估选取了一个性能更强大(GPT-4)和一个比 GPT-3.5 性能更弱的模型(PaLM 2)。结果显示 PromptAgent 具有巨大的潜力:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/57091.html

  • 当使用更强大的 GPT-4时,优化后的专家 Prompt 几乎在所有任务(11/12)中都取得了进一步改进。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/57091.html
  • 将专家 Prompt 转移到 PaLM 2 时,性能可能不如更强大的模型,但仍然可以在某些任务(如 Penguins)中获得提升。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/57091.html
加州大学提出 Prompt Agent,帮你高效使用 ChatGPT!

消融实验

本文还对比了多种搜索策略的效果,包括每次随机抽样并选择一个动作的单次蒙特卡洛(MC)搜索、始终选择多个样本中的最佳样本的贪婪深度优先搜索(Greedy)和在每个层级保留多个有用路径的束搜索(Beam search)。表格 4 显示:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/57091.html

  • 贪婪搜索(Greedy)和束搜索(Beam)都极大地改进了 MC 基线,表明结构化的迭代探索是必要的。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/57091.html
  • Beam 和 Greedy 严格按照前进的方向操作,没有在 Prompt 空间中进行策略性搜索,缺乏预见未来结果和回溯过去决策的能力。相比之下,MCTS 的策略规划允许 PromptAgent 更有效地遍历复杂的专家 Prompt 空间,在所有任务上明显优于所有搜索变体。加州大学提出 Prompt Agent,帮你高效使用 ChatGPT!文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/57091.html

搜索效率分析

除了卓越的性能外,PromptAgent 的一个关键优势是通过策略规划能够高效地搜索。搜索效率是通过搜索过程中 Prompt 数量来衡量的,即在搜索过程中生成的节点数。图 4a 中绘制了搜索效率与任务性能的关系,可以看到,PromptAgent 的数据点聚集在左上角,表明在更高的准确性下,搜索的节点数也较少。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/57091.html

加州大学提出 Prompt Agent,帮你高效使用 ChatGPT!

结论

本文介绍了 PromptAgent,一种新颖的 Prompt 优化框架,结合 LLMs 的自我反思能力将任务的领域特定知识纳入到新生成的 Prompt 中,并使用 MCTS 规划的能力高效遍历复杂的 Prompt 空间找到专家级 Prompt,PromptAgent 优化后 Prompt 也始终表现出专家级的特征,丰富了领域特定的细节和指导。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/57091.html

在未来势必会出现越来越强大的大语言模型,能理解并支持的复杂指令越来越多,仅依赖人工专家 Prompt 是远远不够的,自动构建专家级 Prompt 将是一个非常有潜力的方向。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/57091.html

作者:谢年年、王二狗
来源: 夕小瑶科技说
文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/57091.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/ai/57091.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定