大模型Fewshot推理如何选择更好的示例:兼顾多样性与相似性的迭代示例选择策略方案

563次阅读
没有评论

今天是2023年11月27日,星期五,北京,天气晴,我们来看看上下文示例,也就是fewshot构造的话题。

因为最近发现,fewshot中的prompt构造方式不同,所带来的模型性能有很大的差异。

切入正题:

大型语言模型(LLMs)通过上下文学习(ICL)在各种少量任务中展示了不错的成果,即模型可以直接生成测试样本的输出而无需更新参数。

这是通过人工设计的提示条件实现的,提示条件包括可选的任务描述和一些示例。

大模型Fewshot推理如何选择更好的示例:兼顾多样性与相似性的迭代示例选择策略方案

例如,上图举例说明了LLM如何在情感分析任务中执行ICL。给定一些评论-情感对作为示范,ICL将它们与测试样本结合起来作为输入,供LLM进行推理。输出(即”正面”)由模型自回归生成,无需任何参数更新。尽管有效,但ICL的性能的性能对示范示例的选择非常敏感。

不同的示例集合可以产生从几乎随机到与sota模型相当的性能。为了缓解上述问题,陆续出现提出了许多方法来选择一组示例作为多次示例,也有随机选择示例或选择与测试样本语义相似的示例作为LLM的示例,即考虑多样性或相似性。

然而,选择示例的最佳维度是因任务而异的,例如:

在CommonsenseQA上,多样性维度优于相似性维度,而在AGNews上,相似性维度优于多样性维度。因此,声称一个维度在不同任务中始终优于另一个维度是不合理的。

为了解决这一问题,最近的工作《IN-CONTEXT LEARNING WITH ITERATIVE DEMON- STRATION SELECTION》(https://arxiv.org/pdf/2310.09881.pdf)提出了迭代示例选择(IDS)的方案,IDS利用Zero-shot-CoT,迭代选择多样化但仍与测试样本密切相关的示例作为ICL示例。

本文对该工作进行介绍,可以从中看到一些上下文选择的思路,包括如何考虑相似性与多样性,供大家一起参考,很有趣的工作。

一、相关工作及问题定义

Zero-shot-CoT为LLM挑选少量的情境学习演示。涉及到fweshot学习、上下文学习、上下文学习示例选择和思维链推理几个工作,可以看看。

1、fewshot学习

fewshot学习的目的是只用少量标注样本来学习任务,因为模型通常需要大量的数据来训练,所以很容易导致过拟合。

之前解决过拟合问题的方法主要集中在增加少量数据、减少假设空间或优化搜索最佳假设的策略

2、in-context learning上下文学习

通过对由任务描述和若干示例组成的人工设计提示进行微调,一个冻结的GPT-3模型可以在各种少量NLP任务上取得令人印象深刻的结果。

语言模型的ICL能力可以通过自监督或监督训练得到进一步提高。一些分析研究试图了解影响ICL性能的因素、ICL起作用的原因,以及示例选择、示例排序和示例格式等。

3、示例选择

ICL的性能对示范示例的选择非常敏感。解决这一问题的现有方法主要分为两类。

一个是无监督方法,这种方法依赖于预先定义的指标。在此指引下,可以选择最相似的样本作为示例,也有多样化的示范,以提高上下文中的合成泛化能力。最近的也有利用语言模型的输出分布来选择少量示范。

另一个是监督方法,这种方法涉及模型训练。Rubin例如,利用学习检索示例,将LM作为隐式主题模型来帮助示例选择,也有基于强化学习来选择提示。

4、CoT思维链推理

思维链(CoT)推理诱导LLM在生成最终答案之前产生中间推理步骤。根据是否有人工设计的演示,目前的CoT推理方法主要包括人工-CoT和zeroshot-CoT。

在人工-CoT中,使用人工标注的推理路径来进行CoT推理,LLMs则利用自我生成的推理理由进行zeroshot-CoT推理,例如多模式推理、从LLM中提炼知识以及迭代优化。

现在,我们来看看这个ICL示例选择的定义。

给定测试集Dtest和训练集Dtrain,ICL演示选择的目标是找到Dtrain的最优子集S={(x1,y1),…,(xk,yk)}(k-shot)作为每个测试样本(xˆi,yˆi)的演示示例,以最大化Dtest上的整体任务性能。

更具体地说,最优选择方法h̃的定义是:

大模型Fewshot推理如何选择更好的示例:兼顾多样性与相似性的迭代示例选择策略方案

其中,H是用于搜索演示示例的假设空间;h(Dtrain,xˆi,yˆi)指的是使用h为(xˆi,yˆi)选择的演示示例;

[,]表示串联;

δa,b是克朗克尔三角函数:如果a等于b,则δa,b=1,否则δa,b=0。

h̃表示方法。

二、什么是好的情境演示?

研究认为,整体任务性能对选择方法h非常敏感。例如,在4个分类任务中,随机抽样导致的最小和最大ICL性能相差大于30%。

所以,一个自然而然的问题是:什么是好的上下文演示?对于LLM,通常的做法仍然是选择由与测试样本具有多样性或语义相似性的示例组成的子集S作为演示,即考虑S的多样性或相似性。

为了研究在不同任务中,一个维度是否始终优于另一个维度,在CommonsenseQA和AGNews上进行了一些试点实验。

具体地,从原始测试集中随机抽取100个例子进行实验,并使用GPT-3.5(gpt-3.5-turbo)进行4次学习。

在相似度计算上,该工作使用Sentence-BERT对所有样本进行编码,对于每个测试样本,Similar-ICL方法会根据余弦相似度选择前4个相似的训练数据,而Random-ICL方法则会随机抽取4个训练示例作为少量示例。

此外,为了提高鲁棒性,在Similar-ICL中应用了3条解码路径(温度为0.7),命名为Similar-ICL-Consistency),并在多数投票前运行3次Random-ICL(命名为Random-ICL-Voting)。

大模型Fewshot推理如何选择更好的示例:兼顾多样性与相似性的迭代示例选择策略方案

不同方法在CommonsenseQA和AGNews上的结果见表1。

可以发现,在CommonsenseQA上,多样性维度优于相似性维度,而在AGNews上,相似性维度优于多样性维度。因此,选择示范示例的最佳维度取决于具体任务。因此,在ICL示例选择中,一个维度始终优于另一个维度的说法并不合理。

直观地说,语义相似的示例可以帮助模型正确回答测试查询,因为它们可能与测试样本具有相似的输入输出模式,从而可以释放GPT-3.5的文本生成能力。

为了进一步理解为什么相似性维度在CommonsenseQA中的表现不如多样性维度,在表2中可以看到一个案例。

大模型Fewshot推理如何选择更好的示例:兼顾多样性与相似性的迭代示例选择策略方案

表2展示了用于构建演示示例的Similar-ICL-Consistency(第一解码路径)和Random-ICL-Voting(第一次运行)示例。上半部分是对LLM的输入,包括少量演示,下半部分是预测答案。

可以看到,Similar-ICL-Consistency提取的最终示范示例的答案,即”most buildings”也在测试样本的选项列表中,这就误导了模型的决策过程,导致了错误的答案。此外,由于高相似度也会导致冗余,因此所选示范可能没有包含足够的重要信息

因此,考虑到这两个维度的优缺点,需要设计一种方法,既能选择多样化(误导信息最小化)的演示示例,又能选择与测试样本强相关的演示示例。

三、IDS迭代示范选择算法

迭代演示选择法(IDS)的实现思路如图2所示:

大模型Fewshot推理如何选择更好的示例:兼顾多样性与相似性的迭代示例选择策略方案

对于每个测试样本(xˆi,yˆi),IDS主要包括四个步骤:

步骤1、对测试样本(xˆi,yˆi)应用Zero-shot-CoT方法,即”让我们一步一步地思考”。 选择演示,从而得到推理路径R。

步骤2、利用推理路径R选择语义最相似的前k个(k为shot次数)训练示例{(x1,y1),…,(xk,yk)}作为少量拍摄的示例。使用Sentence-BERT对推理路径R和训练示例进行编码,从而获得上下文表征,并使用余弦相似度来衡量两个表征之间的相似度。

步骤3、将这些选定的训练样本{(x1,y1),…,(xk,yk)}处理成用于ICL的测试样本(xˆi,yˆi)。其中,在推理过程中,通过设计提示确保生成的答案Aˆ附有相应的推理路径Rˆ,例如”回复应遵循以下格式:Sentiment:{正面或负面}/nReason:{理由}”。完成ICL后,回到步骤2,使用新的推理路径Rˆ进行迭代。

4、在步骤2和步骤3之间经过q轮迭代后,对所有Aˆ采用多数票表决,得到最终结果Aˆ。

其思想在于:

在相关性方面,所选的示例与原始测试样本具有很强的相关性,即实现了相似性,因为它们是通过生成的推理路径选出来的。

在多样性方面,在迭代过程可以提高多样性,因为在不同的迭代中,推理路径是不同的。

需要注意的是,在少拍演示中没有推理路径(如图2中绿色虚线区域所示)。推理路径只存在于LLM的输出中。 此外,在附录A.1中展示了ICL不同类型任务的指令和输入格式,并在附录A.2中说明了整个选择过程的算法。

四、实验与结论

1、实验设置

任务和数据集研究了6个不同的数据集,涵盖4个具有代表性的任务类别:常识推理(CommonsenseQA)、问题解答(BoolQ)、主题分类(AGNews和DBPedia)和情感分析(SST2和AmazonReview)。

其中:

CommonsenseQA和BoolQ的标签空间分别为{A,B,C,D,E}和{Yes,No}。

在主题分类方面,AGNews包含4个类别(世界、体育商业技术);

DBpedia则标注了14个不同的类别,例如”公司”和”教育机构”。两个情感分析数据集都有”正面”和”负面”标签。

大模型Fewshot推理如何选择更好的示例:兼顾多样性与相似性的迭代示例选择策略方案

对于每个数据集,从原始训练集中随机抽取最多10000个示例作为Dtrain,最多2000个测试示例作为Dtest,用于评估所选示范的性能。

为了减少随机性,使用不同的随机种子(如果不使用整个数据集,则会产生不同的训练样本和测试样本)对每个实验运行五次,并报告平均结果

参数设置上,使用k=4的演示次数,并将迭代次数q设为3。

比较方法主要使用GPT-3.5(gpt-3.5-turbo)作为LLM,并在实验中将的IDS与以下方法进行比较,以选择ICL演示:

Top-k-Consistency,从训练集Dtrain中选择语义相似度最高的k个示例作为每个测试样本的示例,并应用自一致性与q条解码路径(温度0.7)来匹配迭代次数。所有样本都由Sentence-BERT编码,以获得用于计算余弦相似度的上下文表示。

随机投票(Random-Voting),从Dtrain中随机选取k个示例,作为每个测试样本的少量示例,并在多数投票前运行q次实验。

聚类投票(Cluster voting),将Dtrain分成k个聚类,并从每个聚类中选择一个有代表性的示例来形成示例。按照Zhang等人的方法,在每个簇中选择最接近中心点的样本作为代表性示例。与随机投票一样,在运行q次实验后,聚类投票采用多数投票方式得出最终结果。

2、实验结论

平均而言,由于IDS可以充分利用两个选择维度(多样性和相似性)的优点,因此性能都有所提升。

大模型Fewshot推理如何选择更好的示例:兼顾多样性与相似性的迭代示例选择策略方案

有几个有趣的结果;

首先,在大多数数据集上,聚类投票(或其变体)的表现不如Top-k一致性和随机投票(或其变体)

从每个聚类中选择一个有代表性的样本,然后使用Zero-shot-CoT生成相应的推理链来构建思维链演示,可以获得比相似性选择或随机选择更好的性能。

这是因为在ICL演示示例中不存在推理,这就消除了基于聚类的方法在减少推理错误造成的误导方面的优势。

大模型Fewshot推理如何选择更好的示例:兼顾多样性与相似性的迭代示例选择策略方案

表5展示了Top-k-Consistency-CoT的准确度。 虽然在所有实验中都使用了k=4,还评估了不同k,随机选择种子进行实验,并报告不同k的平均结果。并在表中报告了6个数据集的平均结果。

其二,更多的示例并不能保证更好的ICL性能。

为了验证IDS的性能增益在不同的迭代次数下是否一致,进行了q={1,5,7}进行对照实验。 在随机选择种子的情况下,6个数据集的平均结果见下表。

大模型Fewshot推理如何选择更好的示例:兼顾多样性与相似性的迭代示例选择策略方案

可以发现,ICL的性能并不总是随着迭代次数的增加而提高,这可能是因为迭代次数的增加也会导致不必要的噪音。

其三,与Random-Voting-CoT相比,IDS可以找到与测试样本有更多相似输入输出模式的示例,平均相似度得分如表8所示,测试样本与不同方法的相应演示之间的平均相似度得分。

大模型Fewshot推理如何选择更好的示例:兼顾多样性与相似性的迭代示例选择策略方案

具体来说,在每个数据集中随机选取200个测试样本,并使用句子-BERT获取上下文表征来计算相似度得分。可以看到,IDS的平均相似度得分介于Top-k-Consistency-CoT和Random-Voting-CoT之间,这表明它可以在两个选择维度之间取得平衡。

总结

本文主要介绍了《IN-CONTEXT LEARNING WITH ITERATIVE DEMON- STRATION SELECTION》这一工作,该工作介绍了迭代示范选择(IDS),通过利用zero-CoT来迭代选择多样化但仍与测试样本密切相关的示例作为示例,从而提高上下文学习(ICL)的性能。

这块其实本质上也是prompt工程,在评估测试上,选择敏感的评测数据也有很大帮助,这个在opencompass中,也有一些代码实现,感兴趣的可以看看。

近期也看到几个有趣的论文,关于数据采样以及ICL学习,供大家参考。
1、A Survey of Large Language Models Attribution:https://arxiv.org/pdf/2311.03731.pdf
2、Self-Influence Guided Data Reweighting for Language Model Pre-training:https://arxiv.org/pdf/2311.00913.pdf
3、IN-CONTEXT LEARNING WITH ITERATIVE DEMON- STRATION SELECTION
:https://arxiv.org/pdf/2310.09881.pdf

参考文献

1、https://arxiv.org/pdf/2310.09881.pdf

关于我们

老刘,刘焕勇,NLP开源爱好者与践行者,主页:https://liuhuanyong.github.io。

老刘说NLP,将定期发布语言资源、工程实践、技术总结等内容,欢迎关注。

对于想加入更优质的知识图谱、事件图谱、大模型AIGC实践、相关分享的,可关注公众号,在后台菜单栏中点击会员社区->会员入群加入。

 

Read More 

正文完
可以使用微信扫码关注公众号(ID:xzluomor)
post-qrcode
 
评论(没有评论)
Generated by Feedzy