重新审视Prompt优化问题,预测偏差让语言模型上下文学习更强

845d788b25c8acbf10637919ff971221.gif

©作者 | 机器之心编辑部

来源 | 机器之心

LLMs 在 In-context Learning 下取得了良好的表现,但是选取不同的示例会导致截然不同的表现。一项最新的研究工作从预测偏差 (predictive bias) 角度,提出了 prompt 搜索策略,近似找到了最优的示例组合。

3bb8aa72d536ee843444240b20d53900.png

论文地址:

https://arxiv.org/abs/2303.13217

代码链接:

https://github.com/MaHuanAAA/g_fair_searching

d8830876f7aed26fcda9140350860fb7.png

研究介绍

大型语言模型在上下文学习中表现出了惊人的能力,这些模型可以通过几个输入输出示例构建的上下文进行学习,无需微调优化直接应用于许多下游任务。然而,先前的研究表明,由于训练样本 (training examples)、示例顺序 (example order) 和提示格式 (prompt formats) 的变化,上下文学习可能会表现出高度的不稳定性。因此,构建适当的 prompt 对于提高上下文学习的表现至关重要。

以前的研究通常从两个方向研究这个问题:1)编码空间中的提示调整 (prompt tuning);2)在原始空间中进行搜索 (prompt searching)。

Prompt tuning 的关键思想是将任务特定的 embedding 注入隐藏层,然后使用基于梯度的优化来调整这些 embeddings。然而,这些方法需要修改模型的原始推理过程并且获得模型梯度,这在像 GPT-3 和 ChatGPT 这样的黑盒 LLM 服务中是不切实际的。此外,提示调整会引入额外的计算和存储成本,这对于 LLM 通常是昂贵的。

更可行且高效的方法是通过在原始文本空间中搜索近似的演示样本和顺序来优化提示。一些工作从 “Global view” 或 “Local view” 构建提示。基于 Global view 的方法通常将提示的不同元素作为整体进行优化,以达到更优异的性能。例如,Diversity-guided [1] 的方法利用演示的整体多样性的搜索,或者试图优化整个示例组合顺序 [2],以实现更好的性能。与 Global view 相反,基于 Local view 的方法通过设计不同的启发式选择标准,例如 KATE [3]。

但这些方法都有各自的局限性:1)目前的大多数研究主要集中在沿着单个因素搜索提示,例如示例选择或顺序。然而各个因素对性能的总体影响尚不清楚;2)这些方法通常基于启发式标准,需要一个统一的视角来解释这些方法是如何工作的;3)更重要的是,现有的方法会全局或局部地优化提示,这可能会导致性能不理想。

本文从 “预测偏差” 的角度重新审视了 NLP 领域中的 prompt 优化问题,发现了一个关键现象:一个给定的 prompt 的质量取决于它的内在偏差。基于这个现象,文章提出了一个基于预测偏差的替代标准来评估 prompt 的质量,该度量方法能够在不需要额外开发集 (development set) 的情况下通过单个前向过程来评估 prompt。

具体来说,通过在一个给定的 prompt 下输入一个 “无内容” 的测试,期望模型输出一个均匀的预测分布(一个 “无内容” 的输入不包含任何有用的信息)。因此,文中利用预测分布的均匀性来表示给定 prompt 的预测偏差。

这与先前的后校准方法 [4] 用的指标类似,但与后校准在固定的 prompt 情况下使用这个 metric 进行概率后校准不同的是,文中进一步探索了其在自动搜索近似 prompt 中的应用。并通过大量实验证实了一个给定 prompt 的内在偏差和它在给定测试集上的平均任务表现之间的相关性。

bb0c25e31172644ce0b33c47f6de92c1.png

此外,这种基于偏差的度量使该方法能够以 “局部到全局” 的方式搜索合适的 prompt。然而,一个现实的问题是无法通过遍历所有组合的方式搜索最优解,因为它的复杂度将超过 O (N!)。

该工作提出了两种新颖的策略以高效的方式搜索高质量的 prompt:(1) T-fair-Prompting (2) G-fair-Prompting。T-fair-Prompting 使用一种直观的方式,首先计算每个示例单独组成 prompt 的偏差,然后选择 Top-k 个最公平示例组合成最终 prompt。

这个策略相当高效,复杂度为 O (N)。但需要注意的是,T-fair-Prompting 基于这样的假设:最优的 prompt 通常是由偏差最小的示例构建的。然而,这在实际情况下可能并不成立,并且往往会导致局部最优解。

因此,文章中进一步介绍了 G-fair-Prompting 来改善搜索质量。G-fair-Prompting 遵循贪心搜索的常规过程,通过在每个步骤上进行局部最优选择来找到最优解。在算法的每一步,所选择的示例都能使更新的 prompt 获得最佳的公平性,最坏情况时间复杂度为 O (N^2),搜索质量显著提高。G-fair-Prompting 从局部到全局的角度进行工作,其中在早期阶段考虑单个样本的偏差,而在后期阶段则侧重于减少全局预测偏差。

4974b7565402c16957f9ca69c81c91d1.png

实验结果

该研究提出了一种有效和可解释的方法来提高语言模型的上下文学习性能,这种方法可以应用于各种下游任务。文章验证了这两种策略在各种 LLMs(包括 GPT 系列模型和最近发布的 LMaMA 系列)上的有效性,G-fair-Prompting 与 SOTA 方法相比,在不同的下游任务上获得了超过 10%的相对改进。

e60fb9c0b2460f6338cf2c1314f4661e.png

与该研究最相近的是 Calibration-before-use [4] 方法,两者都使用 “无内容” 的输入提高模型的表现。但是,Calibration-before-use 方法旨在使用该标准来校准输出,而该输出仍然容易受到所使用示例的质量的影响。与之相比,本文旨在搜索原始空间找到近似最优的 prompt,以提高模型的性能,而不需要对模型输出进行任何后处理。此外,该文首次通过大量实验验证了预测偏差与最终任务性能之间的联系,这在 Calibration-before-use 方法中尚未研究。

71ad81adceaa33d887320e301ea24c17.png

通过实验还能发现,即使不进行校准,该文章所提方法选择的 prompt 也可以优于经过校准的随机选择的 prompt。这表明该方法可以在实际应用中具有实用性和有效性,可以为未来的自然语言处理研究提供启示。

outside_default.png

参考文献

outside_default.png

[1] Shizhe Diao, Pengcheng Wang, Yong Lin, and Tong Zhang. Active prompting with chain-of-thought for large language models. arXiv preprint arXiv:2302.12246, 2023.

[2] Yao Lu, Max Bartolo, Alastair Moore, Sebastian Riedel, and Pontus Stenetorp. Fantastically ordered prompts and where to find them: Overcoming few-shot prompt order sensitivity. In ACL, 2021.

[3] Jiachang Liu, Dinghan Shen, Yizhe Zhang, Bill Dolan, Lawrence Carin, and Weizhu Chen. What makes good in-context examples for gpt-3? arXiv preprint arXiv:2101.06804, 2021.

[4] Tony Z. Zhao, Eric Wallace, Shi Feng, Dan Klein, and Sameer Singh. Calibrate before use: Improving few-shot performance of language models. In ICML, 2021.

更多阅读

a348981ce8dff7a8a730b6013dc7612b.png

c645cd63ac583ec4d171965722d7d914.png

0d6d26373a548df27ede23f476f71844.png

41675d8fd13b503e9fd5bbbd02ca6025.gif

#投 稿 通 道#

 让你的文字被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。

📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算

📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿

6d1a52da1af5dda3d09b8ebe0375492e.png

△长按添加PaperWeekly小编

🔍

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

·

·

·

314aaed2284221cec31403ede02b20cc.jpeg

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

老王跑步入场GPT,要搞AI,先送外卖?

十年前AlphaGo火的时候,百度在送外卖; 十年后ChatGPT火的时候,抖音还在送外卖; 而十年前送外卖的大佬,现在出来搞AI; 所以……要搞AI,先送外卖? 公众号后台回复:“ChatGP…

微信小程序输入框限制字数

想实现的效果如上图 wxml: <view classsuggest_title>请输入你想反馈的问题</view><view classsuggest_box><textarea classsuggest_text bindinput"bindText" maxlength200 placeholder我们有什么地方让您不满意&#xff0c;请输入您的反馈意…

文本输入框,限制输入字数

个人学习笔记&#xff0c;文本输入框&#xff0c;限制输入字数 一&#xff1a;文本输入框&#xff0c;限制输入字数&#xff0c;汉字两个字符&#xff0c;其他数字&#xff0c;符号&#xff0c;字母&#xff0c;回车&#xff0c;空格等一个字符 <html> <div id"…

限制文本框字数

实现文本框字数统计 html <div class"layui-input-inline"><textarea class"layui-textarea" id"reason" name"reason" v-model"reason" maxlength"200" onkeyup"setLength(this,200,wordsLength…

java 限制控制台字数_限制用户在文本框输入的字数

functiongbcount(message,total,used,remain) { varmax; maxtotal.value; if(message.value.length>max){ message.valuemessage.value.substring(0,max); used.valuemax; remain.value0; alert("内容不允许超过 1000 个字!"); } else{ variLength0; for(vari0;i …

输入框字数限制+动态提示:10个汉字或20个字符的问题

需求&#xff1a; EditText输入框&#xff0c;要求输入10个汉字&#xff0c;或者20个字符&#xff0c;支持中英文混输。当输入框内数据满足条件时&#xff0c;弹出Toast进行提示。 实现&#xff1a; 我是通过TextWatcher的方式&#xff0c;来进行实现的。即使一次粘贴很多文字也…

微信小程序文本框限制输入字数

效果图 wxml代码 <view style"border: 1px solid #FFA6A6; border-radius: 10px;"><textarea placeholder-class"place-holder" placeholder"请从以下四个方面填写求求职简介 1. 教育背景介绍&#xff0c;如学校专业描述、个人学习成绩奖学…

Python数据分析学习路线个人总结,建议收藏!

数据分析人人都有必要掌握一点&#xff0c;哪怕只是思维也行。下面探讨Python数据分析需要学习的知识范畴&#xff0c;结合自己的经历和理解&#xff0c;总结的学习大纲&#xff0c;有些章节带有解释&#xff0c;有些没有。当然&#xff0c;关于学习范畴&#xff0c;可能每个人…

如何修改电脑的ip地址

第一步&#xff1a;点击“本地连接” 第二步&#xff1a;点击“属性” 第三步&#xff1a;点击“Internet 协议版本4”&#xff0c;如下图所示 第四步&#xff1a;按下图配置自己的ip地址和dns服务器

更换IP地址方式简介。

IP地址是判定唯一性的一个重要指标&#xff0c;换IP地址跟IG没关系 如果对IP归属地没有要求的&#xff0c;使用2G或3G数据流量上网的情况下&#xff0c;飞行模式一开一关&#xff0c;一般就可以实现更换IP地址&#xff0c;如果是Wifi环境&#xff0c;那么把宽带进线路由一开一关…

怎样更改计算机ip,怎么快速修改电脑ip地址

很多人为了方便电脑与电脑之间联机&#xff0c;都会自己修改电脑ip地址&#xff0c;方便自己记住&#xff0c;下面是学习啦小编整理的快速修改电脑ip地址的方法&#xff0c;供您参考。 快速修改电脑ip地址的方法 首先打开运行框&#xff0c;电脑 windowsR(建议以管理员身份运行…

修改IP地址

手动修改IP感觉很麻烦&#xff0c;今天晚上自己研究了下&#xff0c;通过脚本语言来实现自动修改&#xff0c;来分享下。 源码下载https://download.csdn.net/download/github_32213451/10609248 操作方法&#xff1a; 1、新建txt文档。 2、复制下面的代码&#xff0c;保存&…

什么是IP地址,怎么查看修改IP地址?

IP地址&#xff0c;只要是连接到互联网上的任何设备&#xff0c;终端&#xff0c;都会有一个IP地址&#xff0c;IP地址就相当于我们每个人都有一张身份证一样&#xff0c;有了这个地址谁就就可以在互联网访问任何东西&#xff0c;他的格式分为四段最小的IP地址为0.0.0.0最大的地…

Linux下修改ip地址,网关

1. 查看ip地址 命令: ifconfig 2. 修改ip的配置文件 编辑/etc/sysconfig/network-scripts/目录下的ifcfg-ens32文件 方便粘贴: IPADDR“192.168.100.196” PREFIX“24” GATEWAY“192.168.100.1” DNS1“144.144.144.144” IPV6_PRIVACY“no” 3. 重启network服务 命令: sys…

电脑IP地址查看及修改

笔者今天用以太网模块w5500&#xff0c;发现ping不通&#xff0c;检查了代码也没发现问题。 查明原因之后&#xff1a;原来是连接电脑的拓展坞没有识别出网线。总结一下查看/修改电脑ip&#xff08;查看到步骤2即可&#xff09;的方法&#xff1a; 为了节约打字时间及方便读者…

windows命令修改IP地址

经常改静态IP地址测试&#xff0c;每次点麻烦&#xff0c;找了下命令操作速度杠杠的 1、WINX选择Windows终端&#xff08;管理员&#xff09; 2、输入ipconfig查看网卡名称 3、输入 netsh interface ip set address "以太网 2" sourcestatic addr192.168.2.20 ma…

修改电脑的IP地址

文章目录 背景修改电脑IP地址 背景 早晨发现笔记本电脑连不上服务器了&#xff0c;在moba上也不行&#xff0c;vscode也不行。ipconfig发现电脑的网段是1&#xff0c;于是听从建议把电脑的网段改成0&#xff0c;其实就是自己改一下电脑的IP地址&#xff0c;把192.168.1.169改成…

怎样更改计算机ip,怎样修改电脑IP地址?

怎样修改电脑IP地址&#xff1f;&#xff1f; 相信我们的日常的生活中都会接触电脑&#xff0c;电脑给大家的生活带来了很多的便利&#xff0c;同时也开阔了大家的视野&#xff0c;有时也会碰到烦恼&#xff0c;例如有网友碰到了电脑无网络的情况&#xff0c;这时大家会需要更改…

提测邮件应该这样写

版权声明&#xff1a; 本公众号发布的所有文章&#xff0c;均属于原创&#xff0c;版权归本公众号所有。 允许有条件转载&#xff0c;转载请附带底部二维码。 一、先聊几句 一般产品的版本迭代都是一版版的在推进&#xff0c;每一个版本之间都要经历产品需求确定、开发、测试、…

如何避免重复提交问题

一、简述 所谓幂等性&#xff0c;就是一个接口&#xff0c;多次发起同一个请求&#xff0c;该接口得保证结果是准确的&#xff0c;比如不能多扣款、不能多插入一条数据、不能将统计值多统计 1。这就是幂等性。 1️⃣在编程中常见的幂等 ①select 查询天然幂等 ②delete 删除…