Auto-Prompt | 大模型提示(Prompt)优化新方法IPC:可根据用户意图进行定向优化
引言
大语言模型(LLMs)对提示内容异常敏感,而文本任务指令本身又常常带着歧义——这两件事凑在一起,就成了实践中绕不开的难题。怎么让模型发挥出最佳性能?自动提示工程(Auto-Prompt)就变得很关键。
今天要聊的这篇文章,提出了一套叫Intent-based Prompt Calibration (IPC) 的系统。直白点说,它想通过合成案例样本来优化大模型的提示工程。
核心思路很清晰:根据用户意图,一步步把提示细化到更精准。
https://arxiv.org/pdf/2402.03099v1.pdf
背景介绍
这几年,大语言模型的能力确实突飞猛进,在各类任务上成绩亮眼。但有一个老问题始终没变:模型输出的质量对提示条件太敏感了。哪怕只是格式上稍微改一下,性能就可能大幅波动。这个问题在专有领域模型上尤其明显——一旦模型版本更新,生成结果可能面目全非。
有人想到用软提示(soft-prompt)来解决,但这类方法需要动到模型内部结构才能优化,成本不低。最近的研究另辟蹊径:让大模型自己来优化提示。具体做法是,先给每个提示打个分,再通过一个元提示(meta-prompt)把最近几次的分数整合起来,引导模型选出得分更高的提示。听起来不错,但这种方法需要大量高质量基准数据来评估——而这类数据并不好找。
好在大语言模型本身已经被证明能够生成高质量、内容丰富的数据集,用来提升模型在多样化任务上的表现。近期的研究也展示了模型细化用户提示、消除初始歧义的能力。问题是,如果缺乏额外信息,模型只能猜测用户的真实意图,而这个猜测在很多情况下并不准确。
基于这些背景,本文提出了基于意图的提示校准(IPC)系统。它的设计思路是:通过合成示例,根据用户的意图来校准提示。校准过程会迭代地构建一批有挑战性的样本数据集,然后基于这些基准数据逐步优化提示。
IPC
IPC的整体系统架构由四个核心模块组成:
Dataset
Estimator
Evaluator
Optimizer
其中:
Dataset
Estimator
Evaluator
Optimizer
IPC的具体流程如下:
作者从初始提示建议和任务描述开始。用户还可以在少量样本的设置中提供一些示例。在校准优化过程中,系统会迭代执行以下步骤:
- 1. 为任务和当前提示生成一些有挑战性、多样化的样本(对应上图的步骤2)。
- 2. 在生成的数据集上评估当前提示,并进行分析(对应步骤3)。
- 3. 根据最近几次的提示得分,生成一个分数更高的提示。当最近几步没有改进,或达到最大迭代次数时,优化过程结束(对应步骤4)。
此外,IPC的基线配置针对分类任务做了专门优化:将准确度设定为评分函数,并通过混淆矩阵和提示错误分类进行错误分析。整体流程示例如下:
从图中可以看到,每次迭代中,系统都会根据当前提示生成新样本,然后利用这些样本的误分类信息来细化提示,直到提示能够校准到用户的真实意图。
实验结果
下图展示了在Spoiler和PG分类任务上的准确率对比。IPC在所有测试方法中表现最佳,且方差较低——这意味着它的稳定性也更好。
下图展示了情感分类任务中,不同训练步骤下合成数据集上的准确率。同样,IPC在所有测试方法中表现最佳,方差也最低。
-
- 关于宇宙的好的网名有哪些
- 角色扮演 | 1
- 网名