Grammar-Guided Evolutionary Search for Discrete Prompt Optimisation
作者: Muzhaffar Hazman, Minh-Khoi Pham, Shweta Soundararajan, Goncalo Mordido, Leonardo Custode, David Lynch, Giorgio Cruciata, Yucheng Shi, Hongmeng Song, Wang Chao, Pan Yue, Aleksandar Milenovic, Alexandros Agapitos
分类: cs.CL
发布日期: 2025-07-14
备注: Accepted for Publication at ECAI 2025
💡 一句话要点
提出一种基于语法引导进化搜索的离散提示优化方法,提升小模型在复杂任务上的性能。
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 提示工程 离散提示优化 进化搜索 遗传编程 大型语言模型
📋 核心要点
- 现有提示工程方法在复杂任务和小模型上表现不佳,因为它们需要优化大量文本,并且小模型对提示设计更敏感。
- 论文提出一种两阶段进化搜索方法,利用语法引导的遗传编程和局部搜索,自动优化离散提示,提升模型性能。
- 实验表明,该方法在多个领域特定任务和小型LLM上,显著优于现有最先进的提示优化方法,且鲁棒性更强。
📝 摘要(中文)
本文提出了一种用于自动离散提示优化的进化搜索方法,该方法包含两个阶段。第一阶段,采用语法引导的遗传编程,通过搜索由语法、基于字典和基于LLM的提示编辑函数组合而成的程序空间,来合成提示创建程序。第二阶段,应用局部搜索来探索表现最佳程序的邻域,以进一步微调其性能。在四个领域特定的挑战性任务中,我们的方法在三个相对较小的通用LLM上优于三种最先进的提示优化方法PromptWizard、OPRO和RL-Prompt。我们还展示了一些例子,在这些例子中,这些基准方法的性能下降相对严重,而我们的方法几乎在所有任务-模型组合中都提高了性能,仅在没有提高性能时才会产生最小的性能下降。
🔬 方法详解
问题定义:现有的大部分提示优化方法主要在需要简单提示模板的任务和大型LLM上进行评估。对于需要详细信息的复杂任务,需要优化的文本量增加,并且小型LLM对提示设计更加敏感。因此,如何有效地为小型LLM在复杂任务上自动优化离散提示是一个关键问题。
核心思路:论文的核心思路是利用进化搜索算法,自动发现能够生成有效提示的程序。通过结合语法引导的遗传编程和局部搜索,在程序空间中高效地搜索,找到最优的提示生成策略。这种方法能够更好地适应复杂任务和小型LLM的需求。
技术框架:该方法包含两个主要阶段: 1. 语法引导的遗传编程阶段:利用预定义的语法规则,生成由提示编辑函数(包括语法函数、基于字典的函数和基于LLM的函数)组合而成的程序。通过遗传算法(例如交叉、变异)不断进化这些程序,使其能够生成更有效的提示。 2. 局部搜索阶段:在遗传编程阶段找到的优秀程序的基础上,进一步进行局部搜索,微调程序的参数,以获得更好的性能。
关键创新:该方法最重要的创新在于结合了语法引导的遗传编程和局部搜索,实现了一种高效的离散提示优化方法。与现有方法相比,该方法能够更好地处理复杂任务和小型LLM,并且具有更强的鲁棒性。此外,使用语法引导可以约束搜索空间,提高搜索效率。
关键设计: * 语法规则:定义了提示编辑函数的组合方式,例如,可以定义哪些函数可以组合在一起,以及组合的顺序。 * 提示编辑函数:包括语法函数(例如,添加标点符号、改变词性)、基于字典的函数(例如,替换同义词、添加关键词)和基于LLM的函数(例如,使用LLM生成提示)。 * 适应度函数:用于评估生成的提示的质量,例如,可以使用模型的预测准确率作为适应度函数。 * 局部搜索策略:可以使用梯度下降或模拟退火等方法进行局部搜索。
🖼️ 关键图片
📊 实验亮点
实验结果表明,该方法在四个领域特定的挑战性任务中,显著优于三种最先进的提示优化方法(PromptWizard、OPRO和RL-Prompt)。例如,在某些任务上,该方法可以将模型的准确率提高10%以上。此外,该方法在不同任务和模型上的表现更加稳定,鲁棒性更强。
🎯 应用场景
该研究成果可应用于各种需要利用小型LLM解决复杂任务的场景,例如智能客服、文本摘要、机器翻译等。通过自动优化提示,可以显著提升小型LLM在这些任务上的性能,降低对人工提示工程的依赖,并加速LLM在实际应用中的部署。
📄 摘要(原文)
Prompt engineering has proven to be a crucial step in leveraging pretrained large language models (LLMs) in solving various real-world tasks. Numerous solutions have been proposed that seek to automate prompt engineering by using the model itself to edit prompts. However, the majority of state-of-the-art approaches are evaluated on tasks that require minimal prompt templates and on very large and highly capable LLMs. In contrast, solving complex tasks that require detailed information to be included in the prompt increases the amount of text that needs to be optimised. Furthermore, smaller models have been shown to be more sensitive to prompt design. To address these challenges, we propose an evolutionary search approach to automated discrete prompt optimisation consisting of two phases. In the first phase, grammar-guided genetic programming is invoked to synthesise prompt-creating programmes by searching the space of programmes populated by function compositions of syntactic, dictionary-based and LLM-based prompt-editing functions. In the second phase, local search is applied to explore the neighbourhoods of best-performing programmes in an attempt to further fine-tune their performance. Our approach outperforms three state-of-the-art prompt optimisation approaches, PromptWizard, OPRO, and RL-Prompt, on three relatively small general-purpose LLMs in four domain-specific challenging tasks. We also illustrate several examples where these benchmark methods suffer relatively severe performance degradation, while our approach improves performance in almost all task-model combinations, only incurring minimal degradation when it does not.