首页 > 其他分享 >【GPT总结】Why Can GPT Learn In-Context?

【GPT总结】Why Can GPT Learn In-Context?

时间:2024-03-18 13:33:56浏览次数:17  
标签:FT ICL 模型 注意力 ZSL Context GPT Why

原文:https://ar5iv.labs.arxiv.org/html/2212.10559

概述

这篇论文提出了一种新的方法,利用大型预训练语言模型展示了惊人的上下文学习能力。通过少量的示范输入-标签对,它们可以在没有参数更新的情况下预测未见输入的标签。尽管在性能上取得了巨大成功,但其工作机制仍然是一个开放问题。在这篇论文中,作者将语言模型解释为元优化器,并将上下文学习理解为隐式微调。在理论上,他们发现Transformer的注意力具有梯度下降的双重形式。基于此,他们将上下文学习理解为以下过程:GPT首先根据示范示例生成元梯度,然后将这些元梯度应用于原始的GPT以构建一个ICL模型。通过在真实任务上全面比较上下文学习和显式微调的行为,提供了支持我们理解的实证证据。实验结果表明,从多个角度来看,上下文学习的行为与显式微调类似。受Transformer注意力和梯度下降之间的双重形式启发,作者设计了一种基于动量的注意力机制,类比于带有动量的梯度下降。改进后的性能进一步支持了我们的理解,更重要的是,展示了利用我们的理解进行未来模型设计的潜力。该论文的代码可在\url{https://aka.ms/icl}上找到。

意义与创新点

这篇文章的方法对于现实世界具有重要意义和价值。首先,文章提出了一种新的理解方式,将在上下文学习(ICL)解释为元优化的过程,并分析了基于GPT的ICL与微调之间的联系。这种新的理解有助于揭示ICL的工作机制,为进一步研究和改进自然语言处理模型提供了新的思路。

与现有方法相比,这篇文章的方法具有明显的优势。首先,通过将Transformer的注意力模块与梯度下降联系起来,提出了注意力的双重形式,从而解释了ICL作为元优化的过程。其次,通过实验证据验证了他们的理解,证明了ICL与显式微调在多个方面表现相似。最后,设计了基于动量的注意力机制,并验证了其有效性,为未来模型设计提供了新的启示。这些优势使得这篇文章的方法能够解决现有方法无法解决的问题,为自然语言处理领域的发展带来新的可能性。

相关工作

已有方法包括:

  1. \citet{bayesian} 将in-context learning解释为隐式贝叶斯推断,指出语言模型可以推断出示例中共享的潜在概念,这些概念在预训练期间学习。

  2. \citet{olsson2022induction} 关注Transformers中的特定模块,发现一些感知头部可以参考先前序列中的抽象模式,帮助预测下一个标记。他们指出感知头部推动了in-context learning的能力。

  3. \citet{icl_case_study} 展示了Transformers可以被训练为在上下文中学习一类线性函数,并且性能可与最小二乘估计器相媲美。

  4. \citet{icl_learning_algorithm} 基于线性回归证明他们可以构建Transformers的参数,实现基于梯度下降的学习算法。他们还展示了使用in-context learning目标训练的模型往往与通过显式学习算法计算的模型的行为相匹配。

  5. \citet{icl_gd} 基于回归任务展示了具有构建参数的线性注意力-只有Transformers实现梯度下降的模型和通过in-context learning目标学习的模型之间高度相关。

这些方法都在研究in-context learning的学习算法和机制,但我们是第一个在真实场景中解释in-context learning的研究。我们分析了现成的GPT模型中的in-context learning,而不是通过ICL目标从头开始训练的模型;我们的实验基于真实的NLP任务,而不是像线性回归这样的玩具任务。

方法

方法主要步骤:

  1. 理解Transformer Attention作为元优化器:首先,通过将标准注意力机制近似为放松的线性注意力形式,推导出Transformer注意力的对偶形式。这个步骤帮助我们理解注意力机制与梯度下降之间的关系。

  2. 将ICL理解为隐式微调:在这一步骤中,我们将预训练的GPT模型视为元优化器,通过前向计算产生元梯度,然后通过注意力机制将这些元梯度应用于原始语言模型,构建一个ICL模型。

  3. 比较ICL与微调:在这一步骤中,我们将ICL与显式微调进行比较,分析它们之间的联系。我们发现ICL与微调有许多共同特性,包括执行梯度下降、使用相同的训练信息、具有相同的训练顺序以及都针对注意力进行操作。

  4. 模板设计:我们展示了用于格式化示例和候选答案集的模板,以及用于六个分类数据集的模板示例。

  5. 超参数设置:我们进行了网格搜索,找到了ICL的最佳随机种子和微调的最佳学习率。

新网络结构设计:

论文中并没有提出新的网络结构,而是基于预训练的GPT模型,通过在输入中添加上下文信息(演示示例),利用注意力机制来实现在分类任务上的In-Context Learning。

利用已有网络的方法:

论文中利用了预训练的GPT模型,通过在输入中添加演示示例,然后通过注意力机制来调整模型的行为,实现了在分类任务上的In-Context Learning。通过将演示示例的信息编码到注意力的键和值中,模型可以根据演示示例调整其预测行为,而无需显式微调整个模型参数。

实验

这篇论文使用了六个分类数据集,分别是SST2、SST5、MR、Subj、AGNews和CB。任务类型是情感分类、主题分类和自然语言推理。评价指标包括零样本学习(ZSL)、微调(FT)和上下文学习(ICL)设置下的准确率。

在每个数据集、任务类型和评价指标上,该方法实现了不同的性能。以SST2数据集为例,GPT 1.3B在ZSL、FT和ICL设置下的准确率分别为70.5、73.9和92.7;而GPT 2.7B在相同设置下的准确率分别为71.4、76.9和95.0。与现有方法相比,该方法在ICL设置下取得了更高的准确率,特别是在GPT 2.7B上的表现更为突出。

具体数值如下:

  • SST2数据集:

    • GPT 1.3B:ZSL 70.5,FT 73.9,ICL 92.7
    • GPT 2.7B:ZSL 71.4,FT 76.9,ICL 95.0
  • SST5数据集:

    • GPT 1.3B:ZSL 39.3,FT 39.5,ICL 45.0
    • GPT 2.7B:ZSL 35.9,FT 39.1,ICL 46.5
  • MR数据集:

    • GPT 1.3B:ZSL 65.9,FT 73.0,ICL 89.0
    • GPT 2.7B:ZSL 60.9,FT 80.0,ICL 91.3
  • Subj数据集:

    • GPT 1.3B:ZSL 72.6,FT 77.8,ICL 90.0
    • GPT 2.7B:ZSL 75.2,FT 86.1,ICL 90.3
  • AGNews数据集:

    • GPT 1.3B:ZSL 46.3,FT 65.3,ICL 79.2
    • GPT 2.7B:ZSL 39.8,FT 65.7,ICL 80.3
  • CB数据集:

    • GPT 1.3B:ZSL 37.5,FT 55.4,ICL 57.1
    • GPT 2.7B:ZSL 42.9,FT 57.1,ICL 55.4

这些结果表明,在不同数据集和任务类型下,ICL相对于ZSL和FT都取得了更好的性能,特别是在更大规模的GPT 2.7B模型上表现更为显著。

未来工作

这篇论文提出了基于动量的注意力机制,通过将动量引入Transformer的注意力机制中,实现了在语言建模和上下文学习任务中的性能提升。然而,这个方法仍然存在一些问题和改进空间。

首先,虽然在实验中表现出了性能的提升,但是对于动量参数的选择可能会对结果产生影响。在公式中,\(\eta\)是一个介于0和1之间的标量,选择合适的\(\eta\)值可能会对模型的性能产生影响,因此需要进一步研究如何自适应地选择动量参数。

其次,虽然在语言建模和上下文学习任务中取得了一定的性能提升,但是在更复杂的NLP任务中,如机器翻译或问答系统中,是否能够保持性能提升仍然需要进一步验证。因此,后续工作可以将这个方法应用到更多不同类型的NLP任务中,以验证其泛化能力和稳定性。

另外,虽然引入了动量机制,但是在实验中并没有对动量机制的具体影响进行深入分析。因此,可以进一步探究动量机制对注意力权重的调整和模型收敛速度的影响,以更好地理解动量机制在Transformer中的作用机制。

总的来说,虽然动量机制在Transformer中的应用取得了一定的成功,但是仍然有一些问题需要进一步研究和改进,如动量参数的选择、泛化能力的验证以及动量机制的作用机制等方面。通过进一步的研究和改进,可以使动量机制在Transformer中发挥更大的作用,提升模型的性能和泛化能力。

标签:FT,ICL,模型,注意力,ZSL,Context,GPT,Why
From: https://www.cnblogs.com/apachecn/p/18080195

相关文章

  • 轻松创建基于 GPT-4 的 AI 原生应用 - Dify
    Dify 是一个易用的 LLMOps 平台,旨在让更多人可以创建可持续运营的原生AI应用。Dify提供多种类型应用的可视化编排,应用可开箱即用,也能以后端即服务的API提供服务。LLMOps(LargeLanguageModelOperations)是一个涵盖了大型语言模型(如GPT系列)开发、部署、维护和优化的一......
  • ChatGPT:从对话到文献,如何利用AI成就完美论文?
    ChatGPT无限次数:点击直达引言:在当今信息爆炸的时代,撰写一篇完美的论文变得至关重要。然而,对于很多人来说,论文写作是一个具有挑战性的任务。幸运的是,人工智能的迅猛发展为我们的学术创作提供了新的可能性。在本文中,将介绍一种强大的自然语言处理模型——ChatGPT,它将成为您的......
  • 文心一言 VS 讯飞星火 VS chatgpt (217)-- 算法导论16.2 4题
    四、Gekko教授一直梦想用直排轮滑的方式横穿北达科他州。他计划沿U.S.2号高速公路横穿,这条高速公路从明尼苏达州东部边境的大福克斯市到靠近蒙大拿州西部边境的威利斯顿市。教授计划带两公升水,在喝光水之前能滑行m英里(由于北达科他州地势相对平坦,教授无需担心在上坡路段喝......
  • “成像光谱遥感技术中的AI革命:ChatGPT应用指南“
    遥感技术主要通过卫星和飞机从远处观察和测量我们的环境,是理解和监测地球物理、化学和生物系统的基石。ChatGPT是由OpenAI开发的最先进的语言模型,在理解和生成人类语言方面表现出了非凡的能力。本文重点介绍ChatGPT在遥感中的应用,人工智能在解释复杂数据、提供见解和帮助决策过......
  • ffmpeg avformat_alloc_context System.NotSupportedException 不支持所指定的方法
    这个错误报了第二次了,网上搜不到靠谱的解决方案,赶快记录一下。第一个情况:报错如题目System.NotSupportedException不支持所指定的方法第二个情况:如果换autogen版本的话,我是用的5.1.2.3,切换到5.0或者其他版本的话,会提示avformat.59dllnotfound。这个报错根本原因是没找到对......
  • 一键升级 ChatGPT Plus
    前言虽然目前ChatGPT4.0已经推出了有一段时间了,但是由于众所周知的原因,国内仍有许多人还没有体验过ChatGPT4.0,是因为ChatGPTPlus的升级还是存在一定门槛的,所以,本文将教你如何一键升级ChatGPTPlus。为什么升级ChatGPTPlusChatGPT4.0比ChatGPT3.5更加强大......
  • context里的超时时间是怎么在微服务之间传递的
    题目:有A、B三个服务,调用链路为:A->B,为了控制调用的超时时间。A服务生成一个context,超时时间设置为3s,在A服务调用B服务的时候会把context传给B服务。这样子就能控制调用超时时间为3s,请问context里的超时是怎么在两个服务之间传递的,通过什么传递的?在Go语言中,当微服务A需要将context......
  • 时间序列预测的零样本学习是未来还是炒作:TimeGPT和TiDE的综合比较
    最近时间序列预测预测领域的最新进展受到了各个领域(包括文本、图像和语音)成功开发基础模型的影响,例如文本(如ChatGPT)、文本到图像(如Midjourney)和文本到语音(如ElevenLabs)。这些模型的广泛采用导致了像TimeGPT[1]这样的模型的出现,这些模型利用了类似于它们在文本、图像和语音方面获......
  • 免费体验一个月微软Copilot Pro!在Office套件里使用GPT-4!
    大家好,我是木易,一个持续关注AI领域的互联网技术产品经理,国内Top2本科,美国Top10CS研究生,MBA。我坚信AI是普通人变强的“外挂”,所以创建了“AI信息Gap”这个公众号,专注于分享AI全维度知识,包括但不限于AI科普,AI工具测评,AI效率提升,AI行业洞察。关注我,AI之路不迷路,2024我们一起变......
  • 文心一言 VS 讯飞星火 VS chatgpt (216)-- 算法导论16.2 3题
    三、假定在0-1背包问题中,商品的重量递增序与价值递减序完全一样。设计一个高效算法求此背包问题的变形的最优解,证明你的算法是正确的。如果要写代码,请用go语言。文心一言:在0-1背包问题中,如果商品的重量递增序与价值递减序完全一样,那么我们可以利用这个特性设计一种高效的算法......