1. 通过定向刺激提示指导大语言模型
论文地址:[2302.11520] Guiding Large Language Models via Directional Stimulus Prompting (arxiv.org)
源码地址:GitHub - Leezekun/Directional-Stimulus-Prompting: [NeurIPS 2023] Codebase for the paper: "Guiding Large Language Models with Directional Stimulus Prompting"
37th Conference on Neural Information Processing Systems (NeurIPS 2023).
1. 摘要
我们引入了定向刺激提示,这是一种新颖的框架,用于指导黑盒大语言模型(LLM)实现特定的所
需输出。我们的方法不是直接调整 LLM,而是采用小型可调策略模型(例如 T5)为每个输入实例
生成辅助定向刺激提示。这些定向刺激提示充当细致入微的、特定于实例的提示和线索,指导LLM
生成所需的结果,例如在生成的摘要中包含特定的关键字。我们的方法通过优化政策模型来探索使
LLM与期望行为保持一致的定向刺激提示,从而回避了直接调整LLM的挑战。政策模型可以通过
1)使用标记数据进行监督微调和 2)基于 LLM 输出的离线或在线奖励进行强化学习来优化。我们
评估了我们的总结、对话响应生成和思维链推理任务的方法。我们的实验表明,该框架使用最少的
标记数据持续提高了LLM(例如 ChatGPT、Codex、InstructGPT)在这些监督任务上的性能。值
得注意的是,我们的方法仅使用 MultiWOZ 数据集上的 80 个对话,就将 ChatGPT 的性能提高了
41.4%,令人印象深刻,匹配或超越了一些完全监督的最先进模型。此外,与人工制作或自动生成
的提示相比,我们的方法生成的特定于实例的思维链提示提高了 InstructGPT 的推理准确性。
2. 引入
由于直接针对特定任务优化LLM对于大多数用户和开发人员来说效率低下且不可行,因此研究人员
转而采用优化提示的方法。提示工程方法涉及手动或自动设计最佳的特定任务自然语言指令并选择
适当的训练样本以在提示中进行演示,一直是许多研究人员关注的焦点[6,55,79,39]。尽管做出了
这些努力,有效引导LLM产生期望的结果并有效利用标记数据仍然是一个重大挑战。
为了应对这一挑战,我们提出了一种称为定向刺激提示(DSP)的新颖框架。该框架在提示中引入
了一个称为“定向刺激”的新组件,为LLM提供细致入微的、特定于实例的指导和控制。具体来说,
定向刺激提示充当输入查询的“提示”和“线索”,引导LLM获得所需的输出。值得注意的是,这与使
用从外部来源检索的额外知识来增强LLM的方法不同[25, 60],因为定向刺激提示是仅根据我们框
架中的输入查询生成的。图 1 将我们提出的提示方法 DSP 与摘要任务的标准提示进行了比较。我
们的方法将提示中的关键词作为定向刺激提示,以暗示所需摘要应涵盖的关键点。通过定向刺激提
示提供这种特定于实例的指导,LLM可以生成与所需参考摘要更加一致的输出。
我们利用相对较小且可调节的 LM(例如 T5)作为策略模型来为每个输入查询生成定向刺激提示。
这种方法使我们能够通过优化小型可调策略模型来避开黑盒LLM的直接优化。我们使用一些收集的
标记数据通过监督微调(SFT)来训练策略模型。经过监督微调后,我们进一步优化政策模型,通
过强化学习(RL)探索更好的定向刺激提示。在 RL 训练期间,我们的目标是最大化定义为下游绩
效衡量标准或以政策模型产生的刺激为条件的 LLM 输出的任何其他衡量标准的奖励。
图 2 提供了我们的框架的概述,使用摘要任务作为说明性示例。我们采用紧凑、可调的策略模型来
生成定向刺激提示,该提示指定应包含在LLM生成的摘要中的关键字。
图 1:我们的定向刺激提示与使用 LLM(例如 ChatGPT)进行摘要任务的标准提示方法的比较。
DSP 利用定向刺激/提示(以橙色突出显示)(在本例中为关键字)为LLM生成摘要(以蓝色突出
显示)提供特定于实例的指导,以更好地与具有较高 ROUGE 分数或其他度量的所需参考摘要保
持一致就像人类的喜好一样。
图 2:我们提出的 DSP 框架概述,我们在其中学习一个小型可调政策模型来生成定向刺激(在本
例中为关键字),为LLM实现所需目标提供特定于输入的指导。策略模型可以使用 SFT 和/或 RL
进行训练,其中奖励被定义为下游任务绩效度量,例如摘要任务的 ROUGE 分数,或其他对齐度
量(例如人类偏好)。
3. 监督微调
对于下游任务,存在输入空间X、X上的数据分布D和输出空间Y。由于强大的上下文学习和少量提
示能力,LLM可以执行不同的任务,并通过在提示中包含描述任务的指令、一些演示示例和输入查
询 x 来生成输出 y [6]。然而,此类提示并不总能引导LLM走向所需的输出,特别是当涉及细粒度
的特定于实例的所需行为时。
例如,在摘要任务中,输入x是一篇文章,输出y是相应的摘要。不同的总结者有不同的风格并强调
文章的不同方面[16]。在这种情况下,仅仅依靠特定于任务的说明或演示示例来描述每个样本的这
种细微差别,可能不足以有效地引导LLM生成与参考摘要密切匹配的摘要。
为此,我们的定向刺激提示(DSP)方法在提示中引入了一小块名为“定向刺激”的离散标记 z,作
为提示和线索,为LLM提供朝着所需方向的细粒度指导。例如,对于摘要任务,定向刺激 z 可能由
应包含在所需摘要中的关键字组成。为了为每个输入查询生成这种刺激,我们使用一个小型可调策
略语言模型 。然后,我们使用生成的刺激 z 以及原始输入 x 来构建提示,引导 LLM 通
过黑色生成其输出 。框 API 调用。需要注意的是,LLM、pLLM 的参数不可访问或
可调。总体而言,当使用带有 DSP 的 LLM 来执行下游任务时,通过
获得输出。
为了训练为 LLM 生成定向刺激的策略模型,我们首先在一小部分标记的集合上对预训练的 LM
(例如 T5、GPT-2 等)进行监督微调(SFT)数据。为了收集数据,我们可以根据下游任务启发
式地为每个输入查询 x 和目标输出 y 对选择或注释“伪刺激” z*。例如,对于摘要任务,我们使用
参考摘要包含的关键字作为伪刺激,而对于对话响应生成任务,我们使用指示所需系统响应的潜在
含义的对话行为 。生成的数据集 D′ = {(x, z*)} 由输入刺激对组成。然后,我们通过最大化对数似
然来微调策略模型:
4. 强化学习
我们的目标是通过最大化对齐度量 R 来引导 LLM 一代朝着期望的目标前进,它可以采取多种形
式,例如下游任务绩效度量(例如,用于总结的 ROUGE 分数)、人类偏好或其他定制的措施。
从数学上讲,我们的目标是最大化以下目标:
由于黑盒LLM的参数不可访问或可调,我们通过优化政策模型来产生定向刺激,引导LLM一代实现
目标最大化。为了实现这一目标,我们定义了另一个衡量 RLLM 的方法,它捕获了 LLM 在给定刺
激 z 的条件下的表现:
这使我们能够将最大化 R 的原始目标转化为优化政策模型,以产生最大化 RLLM 的刺激。通过这
样做,LLM被有效地用作评估函数来指导政策模型产生更有效的定向刺激。因此,等式 2 中 LLM
的优化目标等于策略模型的优化目标:
然而,上述优化对于策略模型来说是棘手的。为了解决这个问题,我们将策略模型优化表述为强化
学习问题,并采用近端策略优化(PPO)[59]。我们使用策略模型初始化策略网络 ,然
后使用 PPO 更新 π。策略模型生成一系列令牌作为刺激 z 的过程可以看作是一个马尔可夫决策过
程 (MDP) 〈S, A, r, P〉,具有状态空间 S、动作空间 A、奖励函数 r 和状态-转移概率P。在episode
的每个时间步t中,智能体根据当前策略网络π(z|x, z<t)的分布从词汇表V中选择一个动作
(token)。当选择序列结束标记时,情节结束,并生成刺激 z。我们可以通过优化奖励 r 来微调策
略网络 π:
我们的目标是最大化等式 4 中的目标,该目标可用作奖励 r。为了防止策略网络 π 偏离初始策略模
型 pPOL 太远,我们还添加了 KL 散度惩罚奖励。因此,最终的奖励变为:
我们在训练期间动态调整系数β:
为了优化策略网络 π,我们使用[54]中的 PPO 的 NLPO 版本,它是专门为语言生成器设计的。为
了解决 PPO 中动作空间较大的问题,NLPO 学习使用 top-p 采样来屏蔽词汇表中不太相关的标
记。该技术将动作空间限制为最小的标记集合,其累积概率大于给定的概率参数 p,我们在实验中
将其设置为 0.9。策略网络 π 和价值网络都是从有监督的微调策略模型 pPOL 初始化的,价值网络
的最后一层随机初始化以使用回归头输出标量值。
5. 实验评估
我们在 CNN/Daily Mail 数据集上进行实验,这是一个广泛使用的新闻摘要基准。为了保持 API 使
用成本较低,我们对训练集中总共 287,113 个样本中的 1,000、2,000 和 4,000 个文章摘要对的子
集进行训练。为了进行评估,我们根据之前的工作 [16, 65] 随机选择了 500 个样本,这已被证明可
以提供足够的统计功效 [8]。我们使用基于重叠的指标,包括 ROUGE [33]、BLEU [47] 和 Meteor
[3],以及基于相似性的指标 BERTScore [74],将生成的摘要与参考文献进行比较。报告的评估分
数是每个查询的 ChatGPT 的三个推理的平均值,使用温度 0.7 和 top_p 1.0。
我们使用关键字作为伪刺激来训练具有监督微调的策略模型,为了收集数据,我们使用 textrank
[41, 5] 自动从文章和摘要中提取关键词,并仅保留参考摘要中出现的关键词。我们获得了数据集中
每个文章-摘要对的提取关键字列表。为了将它们转换成作为刺激的句子,我们使用分割标记“;”将
它们连接起来,从而得到格式为“[Keyword1]; [Keyword 2]; ...; [Keyword N]”。我们使用构建的文
章-刺激对通过监督来训练政策模型微调。训练的输入格式是“提取关键词:[文章]”,输出是由关键
词组成的目标刺激。策略模型以 2 × 10−5 学习率训练 5 个批次。
我们计算生成的摘要和参考摘要之间的 ROUGE-Avg 分数作为奖励,重新调整系数为 10。我们通
过实验发现其他自动评估指标(例如 BLEU 和 Meteor)表现类似。为了减少方差,我们使用温度
为 0.7 的 ChatGPT 为每个输入查询生成四个输出,并计算平均奖励。此外,我们分配了逐步奖
励,我们发现这可以提高训练过程的效率和稳定性。具体来说,策略模型在每个情节中生成一系列
关键字,在此期间,如果关键字出现在参考摘要中,我们将给予奖励 1,否则给予 -0.2 的惩罚奖
励。我们训练策略网络 51k 集,每批 5 个时期,批大小为 8,学习率为 2 × 10−6 。公式 7 中的
KLtarget 和 β0 分别设置为 0.5 和 0.005。
图 3:ChatGPT 与标准提示和使用 SFT 训练的 DSP 的性能比较和SFT+RL,使用来自 CNN/Daily
Mail 数据集的不同数量的训练样本
图 4:来自 CNN/每日邮报数据集的 1000 个样本的训练曲线。
我们仅使用 1%(80 个对话)和 10%(800 个对话)来训练策略模型并评估完整验证和测试集
(包含 1,000 个对话)的性能。我们使用标准的评估指标: Inform,衡量提供满足用户需求的适
当实体的比率;succ.:衡量所有请求的属性得到答复的比率; BLEU:带有参考答案的语料库级
别 BLEU 分数;综合评分=(Inform+succ.)×0.5+BLEU。同样,我们报告三个推理的平均得分。
当使用 DSP 或标准提示时,我们使用相同的三个演示示例。
策略网络训练了 52k 集,每批 5 个时期,批大小为 8,学习率为 2 × 10−6 。由于生成的对话行为
应遵循业务逻辑和本体,因此我们确保更新后的策略网络不会显着偏离原始策略模型。因此,我们
将公式 7 中的 KLtarget 和 β0 分别设置为 0.2 和 0.01。
表 1:不同方法在 MultiWOZ 2.0&2.1 数据集上的响应生成性能,其中 Succ.和comb.。分别表示成
功和综合得分指标。
我们在不同的触发提示下测试了 InstructGPT (text-davinci-002) 的零样本 CoT 推理能力。
MultiArith数据集[57]中有600个示例,我们将其分为300/50/250个用于训练/验证/测试集。至于
AQuA数据集[35],我们使用标准测试集有 254 个样本,其中 300 个样本来自标准训练集用于我们
的训练,100 个样本来自标准验证集用于我们的验证。
表 2:InstructGPT (text-davinci-002) 的零样本思维链性能不同的提示。*我们的方法训练策略
模型以生成特定于实例的提示触发器,与[26,79]中特定于任务的提示进行比较。