EVOPROMPT

【2023年大模型优化方法-自动优化Prompt: APE,OPRO,PE2,EVOPROMPT,PromptA...】 在大模型应用与插件开发中,遇到prompts不按预期工作的情况,其根本原因是SFT多指令微调的局限性。虽然SFT在一定程度上能够适应多种指令,但对于特定prompts的全面训练往往难以实现。开发者通常需要自创策略和尝试各种prompts,这是一项繁重的体力劳动,需要大量...

2023年大模型优化方法-自动优化Prompt: APE,OPRO,PE2,EVOPROMPT,PromptA...

在大模型应用与插件开发中,遇到prompts不按预期工作的情况,其根本原因是SFT多指令微调的局限性。虽然SFT在一定程度上能够适应多种指令,但对于特定prompts的全面训练往往难以实现。开发者通常需要自创策略和尝试各种prompts,这是一项繁重的体力劳动,需要大量时间搜集资料并验证方法的有效性,如加入特殊标记强调、构建思维链、采用few shot策略及设定角色等技巧。若这些方法仍无法解决问题,则可能需要依靠运气或借助自动优化手段。现今,一些自动化方法被引入,旨在根据预设的指导原则设计优化方案,以期待避免繁琐的prompt调试工作,让开发者专注于其他代码的编写。

自动prompt工程的两大主要思路是:梯度优化方法(软连续方式)与离散优化方式。前者如prefix tuning和prompt tuning,后者则通过改变大模型输入的token来优化prompt。对于大多数闭源API,采用梯度优化方法较为不切实际,离散优化方式则显得更为可行。实验表明,好的prompts能够显著提升模型性能。近期,多种自动prompt技巧的论文不断涌现,这些论文通常先通过人工或机器方式生成大量prompts,然后在测试集中验证效果,逐步筛选出高质量prompts,从而形成迭代优化过程。

以下是自动优化prompt方法的具体介绍:

APE算法采用instructGPT,通过生成一组候选指令并评估其前景,不断迭代优化,实现特定任务指令的自动生成。通过输出演示自动生成指令,执行指令得到评估分数,最终基于分数选择最优指令。

OPRO算法不仅能优化传统prompt,还适用于解决数学问题,如线性回归和旅行商问题。它通过在优化过程中生成新解并添加至meta-prompt,实现prompt优化。

PE2算法引入了step-by-step推理模板、上下文规范等概念,结合神经网络优化方法,如批量大小、步长和动量,为prompt工程提供了一种新颖的思路。PE2在多算术数据集和GSM8K数据集上分别实现了6.3%和3.1%的提升。

PromptAgent算法将优化过程抽象为强化学习的MDP,包含状态、动作、奖励和模拟等元素,旨在有效集成专家知识并探索优化空间。

对于长prompt优化,作者提出将长prompt拆分为多个句子进行逐级优化,同时结合遗传算法和LLM-Evolver进行搜索和历史示例整合,进一步提升优化效果。

自动优化prompt的方法为大模型应用带来了显著的性能提升,并有望在未来推动模型指令微调的进一步优化。这些方法通过生成多样化的prompts,针对特定任务进行优化,不仅提高了模型的准确率,也显著提升了开发效率。此外,自动优化prompt技术在跨模态生成、游戏开发等场景中展现出巨大的应用潜力。
继续阅读:2023年大模型优化方法-自动优化Prompt: APE,OPRO,PE2,EVOPROMPT,PromptA...