当前位置: 首页 > 科技观察

为什么GPT带来的In-ContextLearning有效?模型正在秘密进行梯度下降

时间:2023-03-12 04:05:03 科技观察

继BERT之后,研究人员注意到了大规模预训练模型的潜力,并提出了不同的预训练任务、模型架构、训练策略等。然而,类BERT模型通常存在两大缺点:一是过度依赖标记数据;另一个是过拟合。具体来说,目前的语言模型往往是一个两阶段的框架,即预训练+下游任务微调,但是下游任务微调过程中需要大量的样本,否则效果会很差很差,但是标注数据的成本很高。另外,标注数据有限,模型只能拟合训练数据的分布,但如果数据少,容易造成过拟合,导致模型泛化能力下降。作为大型模型的先驱,大型预训练语言模型,尤其是GPT-3,展现了令人惊讶的ICL(In-ContextLearning)能力。与需要额外参数更新的微调不同,ICL只需要几个演示“输入标签”对,模型可以预测标签甚至是看不见的输入标签。在许多下游任务中,大型GPT模型可以获得相当不错的性能,甚至超过一些经过监督微调的小型模型。为什么ICL表现这么好,在OpenAI的一篇70+页的论文《Language Models are Few-Shot Learners》中,他们探索了ICL,其目的是让GPT-3使用更少的域数据而不需要微调来解决问题。如下图所示,ICL包含三个类别:Few-shotlearning,允许输入几个示例和任务描述;一次性学习,只允许输入一个示例和任务描述;零样本学习,不允许输入任何示例,只允许输入一个任务描述。结果表明,ICL不需要反向传播,只需要在输入文本的上下文中放置少量标记样本即可诱导GPT-3输出答案。GPT-3in-contextlearning实验证明GPT-3在Few-shot下有很好的表现:WhycanGPTlearninIn-Context?尽管ICL在性能方面取得了巨大成功,但其工作机制仍然是一个有待研究的悬而未决的问题。为了更好地理解ICL是如何工作的,我们接下来介绍北京大学、清华大学等机构的一项研究是如何解释它的。论文地址:https://arxiv.org/pdf/2212.10559v2.pdf项目地址:https://github.com/microsoft/LMOps用网友的话总结,即:“这项工作表明GPT自然学会了一些运行是使用内部优化执行的。该研究还提供了经验证据,表明上下文学习和显式微调在多个层面上的表现相似。”为了更好地理解ICL是如何工作的,研究将语言模型解释为元优化器,ICL解释为元优化过程,ICL理解为隐式微调,试图在GPT-基于ICL和微调。理论上,研究发现Transformer的attention具有基于梯度下降的对偶优化形式。基于此,本研究提出了解释ICL的新视角:GPT首先从演示示例中生成元梯度,然后将这些元梯度应用于原始GPT以构建ICL模型。如图1所示,ICL和显式微调共享基于梯度下降的对偶优化形式。唯一的区别是ICL通过前向计算生成元梯度,而微调通过反向传播计算梯度。因此,将ICL理解为某种隐式微调是合理的。ICRPerformsImplicitFine-tuning该研究首先以松弛线性注意力的形式定性分析Transformer注意力,以找到其基于梯度下降优化的双重形式。然后,该研究将ICL与显式微调进行了比较,并在这两种优化形式之间建立了联系。基于这些理论发现,他们建议将ICL理解为一种隐式微调。首先,该研究将Transformeattention视为元优化,并将ICL解释为元优化过程:(1)将基于Transformer的预训练语言模型作为元优化器;(2)通过前向计算生成基于实例的元梯度;(3)通过attention,将meta-gradients应用于原始语言模型构建ICL。下面是ICL和fine-tuning的对比。通过一系列设置,研究发现ICL和微调有许多共同的特性。他们在四个维度上组织了这些共性:都执行梯度下降;相同的培训信息;训练样例的因果顺序相同;两者都围绕着注意力。考虑到ICL和微调之间的所有这些共同属性,本研究认为将ICL理解为一种隐式微调是合理的。在本文的其余部分,该研究以多种方式对ICL和微调进行了实证比较,以提供支持这种理解的定量结果。实验结果本研究进行了一系列实验,以全面比较ICL的行为和对实际任务的显式微调。在六项分类任务中,他们比较了预训练GPT在ICL和微调设置方面的预测、注意力输出和注意力分数的情况。正如预期的那样,ICL在预测、表示和注意力水平方面与显式微调高度相似。这些结果有力地证明了ICL执行隐式微调的事实。此外,受元优化理解的启发,本研究通过类比基于动量的梯度下降算法设计了一种基于动量的注意力机制。它始终优于普通注意力的表现。表2显示了六个分类数据集上ZSL(零样本学习)、ICL和微调(FT)设置的验证准确性。与ZSL相比,ICL和微调都实现了相当大的改进,这意味着所做的优化都有助于这些下游任务。此外,研究发现ICL在few-shot场景中优于微调。表3显示了6个数据集上2个GPT模型的Rec2FTP分数。平均而言,ICL正确预测了微调纠正的ZSL中87.64%的示例。这些结果表明,在预测层面,ICL可以覆盖大部分正确的微调行为。表3还显示了6个数据集上2个GPT模型的示例和层的平均SimAOU分数。为了进行比较,该研究还提供了一个基线指标(RandomSimAOU)来计算ICL更新和随机生成的更新之间的相似性。从表中可以看出,ICL更新比起随机更新更类似于fine-tuningupdates,这意味着在representationlevel上,ICL倾向于在fine-tuning变化的方向上改变attentionresults。最后,表3还显示了6个数据集上2个GPT模型的示例与层的平均SimAM分数。作为SimAM的基准指标,ZSLSimAM计算ICL注意力权重和ZSL注意力权重之间的相似性。通过比较这两个指标,研究发现ICL比ZSL更倾向于生成类似微调的注意力权重。同样在注意力行为层面,该研究表明ICL的行为类似于微调。为了更彻底地探索ICL和微调之间的相似性,本研究比较了不同层的SimAOU和SimAM分数。通过从每个数据集中随机抽取50个验证示例,分别绘制了如下图2和图3所示的SimAOU和SimAM箱线图。从图中可以看出,SimAOU和SimAM在较低层波动,在较高层趋于稳定。这种现象说明ICL执行的元优化具有前向累积效应,并且随着累积的增加,ICL的行为更像是更高层的微调。总结综上所述,本文旨在解释基于GPT的ICL的工作机制。从理论上讲,该研究发现了ICL的双重形式,并建议将ICL理解为元优化过程。此外,该研究在ICL和特定微调设置之间建立了联系,发现将ICL视为隐式微调是合理的。为了支持对ICL执行隐式微调的理解,本研究全面比较了ICL的行为和现实世界中基于任务的微调。事实证明,ICL类似于显式微调。此外,受元优化的启发,本研究设计了一种基于动量的注意力来实现一致的性能改进。作者希望这项研究能够帮助更多人深入了解ICL应用和模型设计。