SPRIG: Improving Large Language Model Performance by System Prompt Optimization

📄 arXiv: 2410.14826 📥 PDF

作者: Lechen Zhang, Tolga Ergen, Lajanugen Logeswaran, Moontae Lee, David Jurgens

分类: cs.CL, cs.AI, cs.HC, cs.LG

发布日期: 2026-04-07


💡 一句话要点

SPRIG:通过系统提示优化提升大语言模型性能

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 大语言模型 系统提示优化 遗传算法 提示工程 通用性 自动化 性能提升

📋 核心要点

  1. 现有方法侧重于优化特定任务的提示,忽略了通用系统提示对大语言模型性能的潜在影响。
  2. SPRIG采用基于编辑的遗传算法,从预定义组件迭代构建系统提示,以提升模型在通用场景下的性能。
  3. 实验表明,优化的系统提示性能与特定任务提示相当,且能跨模型、参数和语言泛化,并与任务提示互补。

📝 摘要(中文)

大语言模型(LLMs)在许多场景中展现了令人印象深刻的能力,但其性能部分取决于提示的选择。过去的研究主要集中于优化特定于任务的提示。然而,对于优化提示中包含的通用指令(称为系统提示)的关注较少。为了解决这一差距,我们提出了SPRIG,一种基于编辑的遗传算法,它从预先指定的组件迭代地构建提示,以最大限度地提高模型在一般场景中的性能。我们在47种不同类型的任务集合上评估系统提示的性能,以确保通用性。我们的研究发现,单个优化的系统提示的性能与为每个单独任务优化的任务提示相当。此外,结合系统级和任务级优化可以带来进一步的改进,这展示了它们的互补性。实验还表明,优化的系统提示可以在模型系列、参数大小和语言之间有效地泛化。这项研究提供了关于系统级指令在最大化LLM潜力中的作用的见解。

🔬 方法详解

问题定义:论文旨在解决如何有效优化大语言模型(LLM)的系统提示,以提升其在各种任务上的通用性能。现有方法主要关注特定任务的提示工程,忽略了系统提示的全局影响,导致LLM的潜力未能充分发挥。

核心思路:论文的核心思路是通过遗传算法自动搜索和优化系统提示。该方法将系统提示视为可编辑的基因序列,通过交叉、变异等操作,迭代生成新的提示,并根据LLM在多个任务上的表现评估其优劣。这种方法旨在找到一个通用的、高性能的系统提示,适用于各种不同的任务。

技术框架:SPRIG算法的整体框架如下:1) 初始化:构建一个包含多个预定义组件的系统提示池。2) 迭代优化:a) 从提示池中选择一组提示作为父代。b) 对父代提示进行交叉和变异操作,生成新的子代提示。c) 使用子代提示在多个任务上评估LLM的性能。d) 根据性能指标更新提示池,保留表现优异的提示。3) 终止:当达到预定的迭代次数或性能收敛时,停止优化。

关键创新:SPRIG的关键创新在于将遗传算法应用于系统提示的优化。与手动设计或基于规则的优化方法相比,SPRIG能够自动探索更大的搜索空间,发现更有效的系统提示。此外,SPRIG通过在多个任务上评估提示的性能,确保了优化后的提示具有良好的通用性。

关键设计:SPRIG的关键设计包括:1) 提示组件:预定义的提示组件包括指令、约束、示例等,用于构建系统提示。2) 交叉和变异操作:交叉操作将两个父代提示的部分组件进行交换,变异操作随机修改提示中的组件。3) 性能评估:使用多个任务的性能指标(如准确率、F1值等)来评估提示的优劣。4) 提示池更新:采用选择、交叉、变异等遗传算法的经典操作,保证种群的多样性和进化。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果表明,SPRIG优化后的系统提示在47个不同类型的任务上表现出色,其性能与为每个任务单独优化的提示相当。更重要的是,将SPRIG优化的系统提示与特定任务的提示相结合,可以进一步提升LLM的性能,证明了两种优化方法的互补性。此外,优化的系统提示在不同的模型家族、参数规模和语言上都表现出良好的泛化能力。

🎯 应用场景

该研究成果可广泛应用于各种需要利用大语言模型的场景,例如智能客服、文本生成、代码生成等。通过优化系统提示,可以显著提升LLM在各种任务上的性能,降低人工干预成本,提高自动化水平。未来,该方法可以进一步扩展到多模态任务和更复杂的应用场景。

📄 摘要(原文)

Large Language Models (LLMs) have shown impressive capabilities in many scenarios, but their performance depends, in part, on the choice of prompt. Past research has focused on optimizing prompts specific to a task. However, much less attention has been given to optimizing the general instructions included in a prompt, known as a system prompt. To address this gap, we propose SPRIG, an edit-based genetic algorithm that iteratively constructs prompts from prespecified components to maximize the model's performance in general scenarios. We evaluate the performance of system prompts on a collection of 47 different types of tasks to ensure generalizability. Our study finds that a single optimized system prompt performs on par with task prompts optimized for each individual task. Moreover, combining system and task-level optimizations leads to further improvement, which showcases their complementary nature. Experiments also reveal that the optimized system prompts generalize effectively across model families, parameter sizes, and languages. This study provides insights into the role of system-level instructions in maximizing LLM potential.