AI模型性能提升利器:常见Prompt优化方法大揭秘!
候选指令生成(proposal)和 评分(scoring)。如图和算法中所示,APE 首先生成一组候选提示,然后根据选定的评分函数对这些候选集进行过滤或改进,最终选出得分最高的指令作为最终输出。
一、APE
这篇论文的核心思路就是:
-
从训练集中生成候选prompt
-
评估这些候选prompt,选出得分最高的prompt
-
resample, 使用LLM 生成语义相近的prompt(2中得分最高的prompt),然后再进行评估,最终得到prompt
组成:候选指令生成(proposal)和 评分(scoring)。如图和算法中所示,APE 首先生成一组候选提示,然后根据选定的评分函数对这些候选集进行过滤或改进,最终选出得分最高的指令作为最终输出。
第一步:先基于数据集生成候选prompt,有三种prompt生成,分别是正向、反向和任意位置。
第二步:迭代,采样后评估,选出topk
如何生成新的prompt: 采样,就是得到topk的prompt后,再让大模型生成类似语义的。
缺点:
-
错误样本没用的呢
- 得分函数的合理性
:对于仅提供接口的LLM,无法计算输出的概率值,因此无法获得对数概率。此外,执行准确率的要求完全一致,对生成类任务而言则显得过于苛刻,这在很大程度上限制了该方法对LLM和具体任务的适用性。
https://blog.csdn.net/qq_27590277/article/details/135517128
二、ProTeGi
APO的计算流程被称为基于文本梯度的提示优化(Prompt Optimization with Textual Gradients,ProTeGi)。ProTeGi结合了文本梯度计算与提示搜索的算法,其计算流程如图2所示,主要包含两个核心工作:梯度计算和提示选择。
说下UCB算法:UCB算法通过为每个提示(prompt)计算一个上置信界,并选择具有最高上置信界的提示。这个上置信界由两个部分组成:
- 平均奖励
:代表该提示的利用(exploitation),即当前提示的历史平均奖励;
- 置信区间
:一个随着尝试次数逐渐减小的值,反映该提示的不确定性,从而鼓励探索(exploration)。
三、OPRO
论文:LARGE LANGUAGE MODELS AS OPTIMIZER [2024]
架构
基本组件
meta- prompt,LLM跟评估器
橙色的语句都属于 meta-instructions。meta-prompt 中 "< INS >" 的位置也是可以调整的,作者尝试了三种方案:Q_begin, Q_end和A_begin.
由于LLM生成新的prompt随机性太强,作者做了两点进行稳定:
-
每次(step)生成多条 prompt
-
优化过程中调整温度值(temperature),有点像调整学习率
用于评估的LLM称为scorer LLM,用于生成 prompt 的 LLM称为optimizer LLM
+
+方法原理
首先在meta-prompt中写清楚相关任务描述,以及若干解决路径跟对应的价值分数。在每一次优化中,让meta-prompt作为LLM的输入,生成新的解决路径,然后让评估器去评估该解决路径的价值,将新的解决路径跟得分也加到meta-prompt中,重复这个过程直到任务完成或者达到最大迭代次数。
主要创新点
技术创新:元提示设计
元提示包含两个核心组件:
-
历史轨迹:之前生成的提示词及其对应的训练准确率
-
问题描述:包含从训练集随机选择的样例
参考
https://zhuanlan.zhihu.com/p/719271119
四、PE2
paper 是 APE 和 APO (ProTeGi)的改进版,集成了这2个方法的优点。将OPRO中的meta-prompt的概念用到了 APO中了,然后丰富了模板的内容。有反思分析有推理,迭代的让模型自动修改prompt。
提供更细节的指令和内容
-
提供提示工程的教程
-
2阶段的任务描述
-
step-by-step 推理的模板
-
明确指定提示与输入之间的相互关系
PE2(Prompt Engineering a Prompt Engineer)[5]同样将LLM视为优化器,但它提供了更为规范化的元提示(meta-prompt)模板。PE2将元提示拆分为三个组件:两步的任务描述、逐步推理模板以及上下文规范,如图6所示。通过结合这三个组件,PE2形成了一种面向提示工程师的提示工程方法。
参考:https://www.zhihu.com/collection/986527560
五、EVOPROMPT
主要贡献,提供了新生成prompt的思路:
简单来说,就是通过识别不同提示词差异、变异差异部分、结合并替换生成新提示词,再与基础提示词交叉,得到优化后的用于产品评论情感分类的最终提示词 ,核心是模拟差分进化算法的思路来优化提示词,以更好适配情感分类任务 。 图里一些像 “b−c”“F(b−c)”“a+F(b−c)” 等数学符号相关内容,是差分进化算法里的概念示意,用来辅助说明变异、交叉等操作逻辑,实际就是对应不同步骤里对提示词内容的处理流程
论文提供了两套思路,一是基于遗传编程的思路,一是基于差分的方法
参考:https://zhuanlan.zhihu.com/p/16918997361
六、LongPO
时间:2025年的论文
长prompt调优的难点是:如何在优化时尽量保证prompt的一致性。
如果直接将长prompt作为输入,去跑APE方法(核心是rephrase),有以下难点:
-
将几百字长的prompt直接进行rephrase,对LLM挑战大;
-
面临不可控问题 -- LLM可能改动的地方太多,导致优化有收敛问题。
因此,这篇文章引入了一个sentence挑选机制:在每轮优化时,选择一个sentence进行调优。
整个流程的核心点如下:
-
优化单位为sentence;
-
采用Lin-UCB算法来选择待优化sentence
-
这是个contextual bandit problem,其中arms对应m个sentences、每个arm有对应的feature vector、拉下arm带来的reward对应调优后的task metric提升
-
每个arm的feature vector使用其sentence embedding,原文使用T5-encoder进行表征
-
-
针对选出的sentence进行prompt optimization
- optimizer LLM
:核心方法是 rephrase,直接通过prompting LLM实现;同时引入历史正向迭代数据辅助迭代,使用few-shot In Context Learning的思路,检索出Top 4语义相似的数据,作为examples。
- optimizer LLM
https://zhuanlan.zhihu.com/p/673323386
七、BPO
时间:2023年的论文
训练一个sequence-to-sequence model,输入original prompt,直接输出优化后的prompt。之后需要进行prompt optimization时,直接使用这个model即可,即插即用、无需训练。
- 收集human preference data
。论文中直接选择open-source dataset,包括OASST1、Chatbot Arena等,这些数据的通常结构为(prompt, chosen_response, rejected_response);
- 用LLM生成优化后的prompt,构成pair data
。主要由两步组成(即COT),第一步是criticize,让LLM对比chosen_response和rejected_response,得到两者的区别,第二步是让LLM基于批判结果 + 原prompt,生成改进后的prompt,构成pair数据
八、对比
ProTeGi和OPRO
优化方式
-
基于错误分析的优化:ProTeGi的核心是通过分析提示词(Prompt)的错误结果来生成“文本梯度”(Textual Gradient),然后根据这个梯度逐步改进提示词。这种方法更侧重于对错误的分析和逐步修正。
-
迭代过程:ProTeGi通过多次迭代,逐步减少错误,最终优化提示词。每次迭代中,它会生成多个可能的改进方向,并通过选择算法(如多臂老虎机算法)来选择最优的提示词。
优化目标
-
ProTeGi:目标是减少错误:ProTeGi的目标是通过分析错误结果,逐步减少错误,最终生成更准确的提示词。它更关注于对错误的修正和改进。
-
OPRO和PE2:
-
目标是生成更优的提示词:这些方法的目标是直接生成更优的提示词,而不仅仅是减少错误。它们通过设计元提示和优化策略,直接生成高质量的提示词,以提高任务的整体性能。
-
九、AI大模型学习和面试资源
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
这份完整版的大模型 AI 学习和面试资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;
第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集
👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓
更多推荐
所有评论(0)