赞
踩
来自:北航、人大、上海算法创新研究院
作者:Ki-Seki
ICL作为一种大模型领域的学习范式最早是在OpenAI公司关于GPT3.5的技术报告中首次提出,主要是因为当时提升大模型在下游任务表现的主要方法是微调,但微调却有以下三点不足:
低效率:从实际的角度来看,每个新任务都需要大量的带有标记的例子数据集,这限制了语言模型的适用性;
过拟合:随着模型的表达能力和训练分布的狭窄性增加,LLM利用训练数据中虚假相关性的潜力从根本上增长;
发展前景:人类不需要大型的监督数据集来学习大部分语言任务,只需简短指令或少量的演示,这也是LLM未来发展方向。
而ICL只需要提供几个合适的示例放入prompt中,就可以显著提升大模型在特定任务上的表现,并不需要收集大量的标注数据或者更新大模型的参数,为大模型的应用提供了极大的便捷。
至此,ICL作为一种新范式被众多研究者进一步探索,给出了许多示例的选择方法、示例的结构优化方法乃至示例的顺序优化方法。
但目前目前这些常规的ICL方法仍然存在一些不足:
每次针对一个测试样本都需要遍历训练集中的所有样本来选择最佳示例;
特定筛选方法普适性不足,难以在所有任务以及模上通用。
《Grimoire is All You Need for Enhancing Large Language Models》则提出了一种增强ICL的新范式,称为SLEICL(Strong LLM Enhanced ICL):利用强模型基于示例样本来归纳和生成解决相应问题的技能 (即Grimoire),然后用Grimoire替换Prompt中的示例样本,从而简化了弱模型的学习过程,并提高了弱模型的最终表现。
SELICL方法的核心思想:如何基于强模型生成最优的Grimoire,使得给定弱模型在给定任务集上获得最佳表现。
SLEICL方法主要包括三个步骤:
(1)获取代表性样本:针对给定的任务,基于多种代表性样本筛选方法获取对应的代表性样本集合,该代表性样本集合将按样本标签从样本集合中分层筛选;
(2)生成Grimoire:将代表性样本集合作为示例样本放入生成Grimoire的提示模版,每个代表性样本集合将生成复杂和简单两种Grimoire(Profound Grimoire & Simple Grimoire);
(3)Grimoire排序:针对某个测试问题,将所有Grimoire按既定方法进行排序,选择最佳的Grimoire作为弱模型的提示词,并生成回答。代表性样本选择
为了让强模型能更好地抽象和总结出给定任务的解决技巧与方法,就需要筛选出的代表性样本集合尽量能体现对应任务的潜在模式和复杂性。为此,本文设计了四类不同的方法来筛选代表性样本:
K-means Clustering Selection (KCS):基于K-means算法针对训练集进行聚类,并选择各聚类中心作为代表性样本。该方法可以保证代表性样本集合的多样性,可以覆盖对应任务的绝大部分情况。
Hierarchical Clustering Selection (HCS):从生成的树状图中不同层次上识别聚类中心来作为代表性样本,旨在捕捉并展示样本集合中丰富的分层语义特征。
Hard Samples Selection (HSS):在zero-shot下将弱模型在训练集上预测错误的样本作为困难样本,并将其作为代表性样本(其调节其占比)。困难样本正是弱模型能力不足之处的具象体现,将其作为代表性样本生成的Grimoire应能更好地提升弱模型的表现。
Random Samples Selection (RSS):在给定任务训练集上随机筛选一定数量的样本作为代表性样本。该方法在针对结构不明晰或者容量较大的任务训练集时,是更好的选择,因为其计算复杂度低且可以更好的保证抽取的子集与原数据集分布一致。
以上四种方法最终选择样本时会基于样本标签分层采样,从而保证每个标签都能兼顾。
此外,本文还额外增加了无样本生成的Grimoire的方法,作为上述四类方法的对照。Grimoire生成模板
上图则是一个Grimoire实例(由HCS方法在4-shot-per-class设置下针对hate_sp18数据集生成的PG和SG)。我们可以看到PG主要由skills、explain with examples、method of applying skills三部分组成;而SG则是PG的极致简化,以确保7B以下的小模型在指令跟随能力较弱的情况下仍然能理解SG,并获取有效信息来提升解决对应任务的能力。
不同任务的解决方法以及不同模型倾向的prompt形式都不尽相同,可以猜想单一Grimoire很难在所有情况下一致最优,因而本文构建了Grimoire Ranking方法。Grimoire排序方法主要是实现在不同任务、不同模型、不同测试问题下,都可以选择最佳的Grimoire来帮助弱模型,以最大化Grimoire的效果。
本文主要设计了两类Grimoire排序方法:
Similarity-base method:计算测试问题与该任务对应的所有Grimoire之间的语义相似度,然后基于语义相似度进行排序,最后选择相似度最高的Grimoire;
Classifier-base method:该方法构建了一个双塔结构、带有自注意力机制的神经网络(如下图所示),该神经网络将会针对给定的测试问题和所有对应的Grimoire进行打分,并选择得分最高的Grimoire。
本文设计了两类Grimoire生成模板:Profound Grimoire (PG) 和 Simple Grimoire (SG)。主要原因在于不同参数规模的大模型ICL能力有一定差异,过于复杂的提示词对于能力较弱的模型可能会造成负面效果,而能力较强的模型则能理解更详细的提示词,所以有必要设计两种不同复杂度的Grimoire。
PG的生成模板核心在于迫使强语言模型基于任务描述和代表性样本,归纳出解决给定任务所必需的技能。希望利用其出色的概括和抽象能力,为特定任务提供通用解决方案,并结合样本进行解释,附加技能应用的方法,来模拟人类老师的教学过程。
SG是在PG的基础上进行简化而不是重新生成,以保证两个Grimoire的一致性,一方面尽量保留PG的重要信息,另一方面有利于对比实验中能有效判断出某个大模型更加适合的Grimoire版本,而不会被其他因素干扰(例如表述形式或者内容差异等)。
本文在4个任务(情感分析、主题分类、自然语言推断和仇恨言论检测)下的8个数据集以及5个大模型(GPT3.5-Turbo、LLaMA-70B、LLaMA-13B、Baichuan2-7B、Phi-2 (2.7B))上评估了SLEICL方法。
评估任务如下:
Baseline:Zero-Shot和Few-Shot (n=4);
Single Grimoire:依次评估{KCS,HCS,HSS,RSS,Zero-Shot}×{PG,SG}这10类Grimoire在各个模型和数据集上的表现;
SLEICL:评估基于Similarity-base method和Classifier-base method这两类排序方法的表现。
其中,GPT4-1106-preview将作为强模型,用于生成的Grimoire。实验结果分析
Table 1主要展示了GPT3.5-Turbo在所有方法上的详细结果。从Table 1中我们可以发现每个数据集上的最优和次优表现几乎是由Single Grimoire方法取得的,并且Single Grimoire和SLEICL方法的平均表现全部超过了zero-shot和few-shot。这说明相对于zero-shot和few-shot,Grimoire确实能显著提升弱模型在各个任务上的表现。此外,不同类别的Grimoire在不同任务和模型上,其效果并不一致。这说明无法通过简单的方法为某个模型或者某个任务选择最佳的Grimoire,从而证明了Grimoire排序方法的必要性。
Table 2主要展示了五个弱模型在Single Grimoire和SLEICL方法上的表现分别与zero-shot和few-shot上的表现差异。在Table 2,绿色块整体数量显著大于红色块,说明相对于常规ICL(zero-shot和few-shot),本文提出的方法更具有优势。此外,我们可以发现,参数规模更小的模型,在Grimoire的加持下其表现提升更加显著(参见AVG列)。
该雷达图展示了弱模型使用Grimoire后在各个数据集上的表现与GPT4在zero-shot设置下的表现对比。可以发现,在部分数据集上,弱模型甚至可以超越强模型(GPT4)的表现,这进一步说明了Grimoire的有效性,另一方面也说明弱模型在Grimoire加持下的效果提升并不会被生成Grimoire的强模型在对应任务上的能力所限制。
总的来说,SLEICL方法提供了一个新的思路来增加ICL,核心是让强模型基于示例去获取解决对应任务的通用技能和方法,并以此来指导弱模型解决对应任务,以提升弱模型在下游任务上的表现。
备注:昵称-学校/公司-方向/会议(eg.ACL),进入技术/投稿群
id:DLNLPer,记得备注呦
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。