Guiding Large Language Models viaDirectional Stimulus Prompting

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]中特定于任务的提示进行比较。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/446973.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

目标检测论文模型笔记——RCNN系列

RCNN系列模型&#xff08;two-stages、基于区域的)主要包括以下几种&#xff0c;按发布时间排序&#xff1a; RCNN&#xff08;2014年&#xff09;&#xff1a;首次将深度学习应用于目标检测&#xff0c;通过选择性搜索Selective Search提出候选区域&#xff0c;然后使用CNN&am…

章六、集合(1)—— 概念、API、List 接口及实现类、集合迭代

零、 关闭IDEA调试时自动隐藏空元素 一、 集合的概念 存储一个班学员信息&#xff0c;假定一个班容纳20名学员 当我们需要保存一组一样&#xff08;类型相同&#xff09;的元素的时候&#xff0c;我们应该使用一个容器来存储&#xff0c;数组就是这样一个容器。 数组有什么缺…

9. 内核、文件系统加载工具

内核、文件系统加载工具 内核、文件系统加载工具是嵌入式开发必备的工具 1. 烧写BootLoader 1.1 通过超级终端方式 烧写 Bootloader 可以使用超级终端的“传送” |“发送文件”命令进入发送文件对话框&#xff0c;使用 Xmodem 协议和 Kermit 协议发送 Bootloader 的各个文件…

《计算机网络》考研:2024/3/9 2.1.7-数据交换方式;2.2-物理层传输介质;2.3-物理层设备

2024/3/9 2.1.7、2.2、2.3 2.1.7 数据交换方式 电路交换存储转发方式 报文交换分组交换&#xff1a; 数据报方式虚电路方式 电路交换 报文交换 分组交换 2.2 物理层传输介质 物理层的主要任务 物理层设备 中继器&#xff1a; 集线器&#xff08;多口中继器&#xff09;…

如何获取用户请求的真实ip,并返回访问者的ip地理位置?node,vue

一、获取真实IP 方式1、前端调用免费公共接口获取 前端获取访问者的真实的外网ip,可以通过调用接口https://api.ipify.org/来获取。你也可以直接在网页上访问它来看自己的外网ip。 ipify介绍&#xff1a; ipify是一个免费的公共 API&#xff0c;用于获取设备的公共 IP 地址。…

Claude3横空出世:颠覆GPT-4,Anthropic与亚马逊云科技共启AI新时代

✨✨ 欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭❤&#xff5e;✨✨ &#x1f31f;&#x1f31f; 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢&#xff0c;在这里我会分享我的知识和经验。&am…

exceljs解析和生成excel文件

安装 npm install exceljs解析excel 通过 Workbook 的 readFile 方法可以拿到workbook对象, workbook对象包含的概念有 worksheet(工作表) --> row(行) --> cell(单元格).于是可以通过依次遍历 worksheet, row, cell来拿到单元格的数据直接通过 worksheet.getSheetValue…

从零学习Linux操作系统 第三十五部分 Ansible中的角色

一、理解roles在企业中的定位及写法 #ansible 角色简介# Ansible roles 是为了层次化&#xff0c;结构化的组织Playbookroles就是通过分别将变量、文件、任务、模块及处理器放置于单独的目录中&#xff0c;并可以便捷地include它们roles一般用于基于主机构建服务的场景中&…

Springboot 集成kafka 消费者实现ssl方式连接监听消息实现消费

证书准备&#xff1a;springboot集成kafka 消费者实现 如何配置是ssl方式连接的时候需要进行证书的转换。原始的证书是pem, 或者csr方式 和key方式的时候需要转换&#xff0c;因为kafka里面是jks 需要通过openssl进行转换。 证书处理&#xff1a; KeyStore 用于存储客户端的证…

Java多线程实战-实现多线程文件下载,支持断点续传、日志记录等功能

&#x1f3f7;️个人主页&#xff1a;牵着猫散步的鼠鼠 &#x1f3f7;️系列专栏&#xff1a;Java全栈-专栏 &#x1f3f7;️个人学习笔记&#xff0c;若有缺误&#xff0c;欢迎评论区指正 目录 前言 1 基础知识回顾 1.1 线程的创建和启动 1.2 线程池的使用 2.运行环境说…

k8s架构浅析

Node 节点&#xff08;物理主机或虚拟机&#xff09;&#xff0c;它们共同组成一个分布式集群&#xff0c;并且这些节点中会有一个 Master 节点&#xff0c;由它来统一管理 Node 节点。 Pod &#xff0c;在 K8S 中&#xff0c;Pod 是最基本的操作单元&#xff0c;它与 docker …

Linux之selinux详解

华子目录 概念作用selinux与传统的权限区别selinux工作原理名词解释主体&#xff08;subject&#xff09;目标&#xff08;object&#xff09;策略&#xff08;policy&#xff09;&#xff08;多个规则的集合&#xff09;安全上下文&#xff08;security context&#xff09; 文…

三栏布局的实现方法

1. 什么是三栏布局 常见的一种页面布局方式&#xff0c;将页面分为左栏、中栏和右栏左右两侧的盒子宽度固定&#xff0c;中间的盒子会随屏幕自适应一般中间放主体内容&#xff0c;左右两边放辅助内容 2. 如何实现三栏布局 2.1 弹性布局 将最外层盒子设为弹性布局&#xff0…

练习题-14

问题&#xff1a;已知函数 f : R → R f: \mathbb{R} \to \mathbb{R} f:R→R满足 f ( x y ) − f ( x − y ) f ( x ) f ( y ) , ∀ x , y ∈ R . f(xy)-f(x-y)f(x)f(y), \forall x, y \in \mathbb{R}. f(xy)−f(x−y)f(x)f(y),∀x,y∈R. 求 f f f. 提示&#xff1a;如果 f …

基于PBS向超算服务器队列提交任务的脚本模板与常用命令

本文介绍在Linux服务器中&#xff0c;通过PBS&#xff08;Portable Batch System&#xff09;作业管理系统脚本的方式&#xff0c;提交任务到服务器队列&#xff0c;并执行任务的方法。 最近&#xff0c;需要在学校公用的超算中执行代码任务&#xff1b;而和多数超算设备一样&a…

基于美洲狮优化算法(Puma Optimizar Algorithm ,POA)的无人机三维路径规划(提供MATLAB代码)

一、无人机路径规划模型介绍 无人机三维路径规划是指在三维空间中为无人机规划一条合理的飞行路径&#xff0c;使其能够安全、高效地完成任务。路径规划是无人机自主飞行的关键技术之一&#xff0c;它可以通过算法和模型来确定无人机的航迹&#xff0c;以避开障碍物、优化飞行…

第十五届蓝桥杯模拟考试III_物联网设计与开发

编程题 一、基本要求 使用大赛组委会提供的四梯/国信长天物联网省赛套装&#xff08;基于STM32L071KBU微控制器设计&#xff09;&#xff0c;完成本试题的程序设计与调试。程序编写、调试完成后&#xff0c;选手需提交两个LoRa终端对应的hex文件&#xff0c;LoRa终端A对应的文…

【Week Y1】调用官方权重进行检测

YOLO白皮书之调用官方权重进行检测 一、下载yolo-v5s源码&#xff0c;并配置编译环境二、输入本地图片查看检测结果三、输入本地视频查看检测结果 &#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 | 接辅导、项…

C++学习随笔(2)——引用与函数

经过上章对C有了一个初步认识后&#xff0c;本章我们来学习一下C的一些与C语言不同的新玩样引用&#xff0c;还有C的函数规则。 目录 1. 引用 1.1 引用概念 1.2 引用特性 1.3 常引用 1.4 使用场景 &#xff08;1&#xff09; 做参数 &#xff08;2&#xff09; 做返回值…

基于YOLOv8深度学习的路面坑洞检测与分割系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标分割

《博主简介》 小伙伴们好&#xff0c;我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源&#xff0c;可关注公-仲-hao:【阿旭算法与机器学习】&#xff0c;共同学习交流~ &#x1f44d;感谢小伙伴们点赞、关注&#xff01; 《------往期经典推…