[论文分享]Arxiv 2024 PhaseEvo: 迈向统一的大型语言模型上下文提示优化

文摘   2024-09-18 20:40   广东  
标题PhaseEvo: Towards Unified In-Context Prompt Optimization for Large Language Models
作者

Wendi Cui, Jiaxin Zhang, Zhuohang Li, Hao Sun, Damien Lopez, Kamalika Das, Bradley Malin, Sricharan Kumar

机构1. Intuit AI Research 2. Vanderbilt University 3. University of Cambridge 4. Vanderbilt University Medical Center
邮箱[jiaxin_zhang@intuit.com](Jiaxin Zhang)
论文https://arxiv.org/pdf/2402.11347

前言

针对不同任务、不同情况,在离散和高维的自然语言空间中,为大语言模型制定理想的prompt一直以来是一项挑战。为了避免优化离散的long-prompt,现有研究将prompts的instruction和examples的优化视为两个单独的任务,导致性能不佳。而PhaseEvo将两者做联合优化,旨在释放prompt优化的全部潜力。但是这不免会引入复杂的组合优化问题,自然会带来两个挑战:

  1. 如何设计一个优化框架,有效地导航prompts的instruction和examples的高维联合空间,避开局部极小值,以确保持续的性能提升?
  2. 可以采用什么策略来提高算法的效率,从而以合理的计算复杂度实现快速收敛?

Let's take a look.

研究的问题

给定任务 (T), 输入(Q)/输出(A)数据对, 以及LLM。

希望找到一个prompt形式(在本文由instruction(I)和作为上下文学习用的examples(E)组成),使得[P(I,E);Q]输入到LLM中,LLM能产生A*,和A最match。即:

其中 X 表示自然语言prompt的样本空间,是一个任意大维数的离散且难以处理的空间,这使得式(1)中的优化问题很困难。

PhaseEvo

PhaseEvo是一种高效的自动prompt优化框架,将LLM的生成能力与进化算法的全局搜索能力相结合,其交替使用两种不同的优化策略:

  1. Exploration: 利用进化算子进行全局搜索。在优化过程的每个阶段选择最佳突变算子,以广泛探索整个解决方案空间并防止陷入局部最优解决方案。
  2. Exploitation: 使用反馈梯度变异进行局部搜索以加速收敛并提高效率。

变异算子

PhaseEvo引入了三种全局变异算子和二种局部变异算子:

其中全局变异算子:

  • 拉马克变异(Lamarckian Mutation) 是一种逆向工程操作符 ,在给定基础LLM的情况下,通过学习示例性的输入/输出数据对 ,即 , 以提供指导性的prompt,使得
  • 分布估计变异(EDA,Estimation of Distribution Mutation) 是一个函数操作符 ,基于一组父代 生成一个新prompt 。集合 中的项满足 ,其中 是一个距离度量, 是阈值。如果 中的项根据某些标准进行排序,我们将其称为
  • 交叉操作符(CR,Crossover Operator) 是一个函数操作符 ,执行 ,其中 是从集合 中选择的两个父代。如果 ,则选择 ,并将其称为

局部变异算子:

  • 反馈变异(Feedback Mutation) 是一个函数操作符 ,使用一批数据创建“梯度” ,为当前prompt 提供反馈。通过在当前prompt 中沿着梯度的相反语义方向编辑来生成新的prompt ,例如,

  • 语义变异(Semantic Mutation) 是一个函数操作符 ,执行重述操作 ,其中 是共享相同语义含义的新prompt。

算法流程

  • 第0阶段:全局初始化。

为了创建多样化的候选人作为初始种群,以探索教学和榜样的广阔联合空间。我们根据数据(输入-输出对)的可获得性和人类专家知识(prompt示例)提供了两种类型的初始化。1)使用操作,从输入/输出对进行逆向工程。2) 结合手动设计的prompt示例。并且使用操作,增强初始种群的多样性。

  • 第1阶段:局部反馈突变

虽然一个初始阶段(第0阶段)可能导致一个多样化的种群,但每个候选人仍然可能远离其局部最优解。为了解决这个问题,使用反馈变异算子 ,利用"梯度"信息,加快每个候选人向其局部最小值收敛。这涉及到引入一个LLM检查器,它审查当前候选项不足的实例,然后提供改进指导。这些信息作为反馈梯度,并被LLM改进器进一步利用,通过局部开发来生成新的候选者。这些新的候选者包含了从前一阶段继承的全局信息,因此可以被视为下一优化阶段的更好的初始化。

  • 第2阶段:全局进化突变

第1阶段提供了更精细的候选集,但部分候选集可能陷入局部最优。为了解决这个问题,在第2阶段优先考虑探索而不是利用,这有助于通过进行全局搜索来摆脱这些受限制的地方。使用 操作和 操作,以促进在更大的全局范围内增加候选者之间遗传信息的相互作用。与使用余弦相似度作为距离度量不同,这里采用汉明距离来计算基于性能的向量之间的相似度,使得第2阶段能够在进化中促进更大的多样性。

  • 第3阶段:局部语义突变

在完成第2阶段的探索后,第3阶段使用局部开发来加速收敛的"最后一公里"。作为PhaseEvo的结束阶段,种群的适应度值在该阶段相对于早期阶段有显著的优化。因此,选择语义变异算子,以加快更经济有效地利用候选项。最后,我们识别出最佳候选者作为最终的最优prompt。

实验

遵循AELP( Hsieh et al , 2023)的实践,文章进行了8个BBH任务来全面评估PhaseEvo的性能。实验结果表明,PhaseEvo在保持较高计算效率的同时,显著地超过了当前最先进的基线方法。超过AELP ( 46.0 %↑),EvoPromopt ( 20.3 %↑)和OPRO ( 23.5 %↑)的平均改进。




总结

总而言之,文章持续性地通过提出了一系列变异算子,在LLM+EA的迭代优化过程中,实现了instruction和少样本examples的联合优化,从而提高prompt的性能。从“联合优化”、“全局-局部”的角度行文,也提高了文章的可读性。


EvoIGroup
Evolutionary Intelligence (EvoI) Group。主要介绍进化智能在网络科学,机器学习,优化和实际(工业)应用上的研究进展。欢迎投稿推文等。联系方式:evoIgroup@163.com。
 最新文章