【论文解读】在上下文中学习创建任务向量

一、简要介绍

大型语言模型(LLMs)中的上下文学习(ICL)已经成为一种强大的新的学习范式。然而,其潜在的机制仍未被很好地了解。特别是,将其映射到“标准”机器学习框架是具有挑战性的,在该框架中,人们使用训练集S在某些假设类中找到最佳拟合函数f (x)。在这里,论文通过展示ICL学习到的函数通常有一个非常简单的结构:它们对应于transformerLLM,它的唯一输入是查询x和从训练集计算出的单个“任务向量”。因此,ICL可以看作是将S压缩为一个单个的任务向量θ(S),然后使用这个任务向量来调制transformer以产生输出。论文通过对一系列模型和任务的全面实验来支持上述主张。

二、研究背景

大型语言模型在过去的几年中有了显著的改进。这些模型的一个显著特性是,它们可以从很少的演示中学习新的规则。例如,一个模型可以提示输入“苹果→红色,石灰→绿色,玉米→”,并产生输出“黄色”。因此,该模型仅学习了一个基于两个例子的映射,它可以正确地应用于新的例子。这种能力,被称为上下文学习(ICL),已被广泛使用,产生了令人印象深刻的实证结果。

目前还不清楚ICL是否以这种方式运行,因为预测是通过T([S,x])执行的,其中T通常是一个自回归transformer,而[S,x]是S和x中的令牌的连接。因此,在一般情况下,它可以是一个任意的函数,通过这个函数来产生输出。这可以包括“非参数”方法,如最近邻方法。最近的工作已经开始探索这个问题。例如,研究表明,当从头训练transformer在上下文中执行线性回归时,新兴的学习算法类似于随机梯度下降。然而,对于执行更复杂的自然语言任务的LLM,论文根本不清楚假设空间可能是什么。

论文的观点也与软提示有关,因为这两种方法都针对特定的任务调节transformer的功能。然而,在ICL中,任务向量是通过正向传递来计算的,而不是进行微调。

论文的贡献包括提出一个基于假设类的ICL机制观点,并进行实验来验证论文对一系列公开的LLM和一组不同的任务的看法。论文的研究结果进一步加深了对ICL的理解,并可能对LLM有效适应执行特定任务具有实际意义。

三、ICL的假设类视图(A Hypothesis Class View of ICL)

受学习理论的假设类观点的启发,论文的目标是了解ICL是否将演示集S映射到查询x上的一个函数,以及这个映射是如何发生的。具体来说,论文试图看看ICL是否将S转换为θ——某个假设空间内的函数的“参数”。论文的实证研究结果表明,这一观点是适用的,阐明了假设空间的结构,其中ICL可以被看作是运作的。

3.1理论框架

论文使用T表示仅限解码器的transformerLLM,S表示用作ICL输入的演示集(即训练示例)集,x表示要求ICL提供输出的查询。论文使用T([S,x])来表示ICL在S和x的连接上的输出。

为了证明ICL在一个假设空间内运作,论文的目的是证明其潜在的机制可以分为两部分:

一种“学习算法”(用A表示),它将S映射到一个“任务向量”θ,独立于查询x。考虑到注意层可以同时访问S和x,这种独立性并非简单。

一个“规则应用程序”(用f表示),它基于θ≡A (S)将查询x映射到输出,而不直接依赖于S。同样,这种独立性并非简单。

因此,论文考虑从一组演示和查询到预测输出的以下映射:

3.2一个被提出的假设类

上述框架有许多可能的实现,它们对应于A和f的不同选择。接下来,论文将描述论文所关注的实现,这自然地遵循transformer架构。论文考虑一个如图1所示的ICL设置,其中输入以一个查询x(即Corn)结束,后面跟着一个“→”符号。如上所述,论文认为学习由两个步骤组成:基于训练样本S计算一个参数向量θ,并将由该参数向量定义的规则应用于查询x。对于transformer来说,一个大概简单的方法是让→表示的第一个L层计算θ,然后让剩下的层将θ和x作为输入并产生一个输出。见图1。回想一下,S和x在任何层都可以访问transformer,这对论文的观点是一个挑战。

在下面的章节中,作者将解决这个挑战,并提出实验来验证论文的观点。也就是说,论文证明了可以在执行ICL的LLMs的正向传递中隔离A和f。论文还表明,θ向量是可解释的,并对应于学习到的任务。

四、假设类视图的有效性(Validity of the Hypothesis Class View)

论文首先证明,将前向传递分离成3.2中定义的两个不同的分量A和f,保持了ICL的高精度。

4.1分离A和f

论文在常规的正向传递中面临着一些挑战:首先,对应于A的初始L层,更新→的表示来创建θ,可以处理查询x。因此,它们可能依赖于x,产生θ对x的不必要的依赖。第二,对应于f的其余层可以直接访问S,而不是只使用x和θ。

4.2任务和模型

论文考虑了横跨4个类别的18个任务:算法、翻译、语言和事实知识。为简单起见,论文将自己限制在单令牌输出中。在表1中描述了这些任务的一个具有代表性的子集。A.1提供了一个完整的详细表,以及关于数据的更多信息。

论文使用多个开放LLMs: LLaMA 7B、13B、30B和Pythia 2.8B、6.9B和12B。

4.3查找L

论文在3.2中描述的机制有一个自由参数——a结束和f开始的L层。论文使用不同选择L的(A,f)实现,并在开发集上评估准确性,以找到最佳层。

图3显示了L不同选择的开发集上的精度。论文在这里关注LLaMA模型。有趣的是,所有模型在相似的中间层都表现出性能峰值,而不管它们的参数和层数差异。

4.4基于假设的预测的准确性

接下来,论文比较(A,f)机制与执行ICL的准确性。对于每个模型和任务,论文评估了以下三个过程:

常规:LLM对演示S和查询x的应用程序。即T([S,x]),如常规ICL。

假设:论文从4.1中提出的过程,其中A使用一个虚拟x'生成θ,f(·;θ)通过在[x,→]上运行transformer,并在→的L层打θ补丁。

基线:LLM仅在x上的向前传递,没有演示s,即T([x,→])。这与论文分离的程序中f的应用相同,但没有修补θ。

图4显示了每个模型的所有任务的平均精度。完整的结果将在表6和A.2中报告。在所有模型中,论文的程序保持了常规ICL的80-90%左右的准确性,而基线仅达到10-20%。这表明论文提出的A和f分离提供了ICL的过程很好的经验近似。

五、任务向量的鲁棒性(Robustness of Task Vectors)

在论文的设置中,θ来自于S和一个虚拟查询x'。检查θ对这些输入的变化的鲁棒性是很自然的。直观地说,如果它代表任务,它应该在不同的S和x'值之间保持稳定。

为了验证这一点,论文使用LLaMA 7B生成每个任务50个不同的任务向量,并进行了两次分析。

θ的几何形状 t-SNE降维(图5)显示,任务向量形成了不同的集群,每个集群都包含单个任务的任务向量。图9进一步显示了同一类别任务之间的接近性,强化了它们封装任务理解的概念。

θ的可变性 图8显示了任务内和任务之间的距离的直方图。可以看出,同一任务中的向量比不同任务之间的向量更接近,说明θ在任务中是稳定的,不受x'或S的高度影响。

六、θ补丁的控制(Dominance of θ Patching)

论文阻止f直接访问S。然而,在ICL的常规向前传递中,最后一个令牌可以注意到S。论文验证了即使在这种情况下,f主要使用任务向量θ,而没有直接访问演示S。论文使用一对任务,a和B,共享输入空间但不同的输出。论文首先使用一个“常规”向前传递,其中论文为模型提供了任务A(表示为SA)的演示S,以验证模型是否可以使用ICL执行这个任务。然后,论文做一个“冲突”向前传递,仍然提供SA,同时注入θB。详见A.1中的图6。

在表2“常规”向前传递在任务A上显示出较高的准确性(90%+)。然而,“冲突”向前传递在任务B上产生较高的精度,对应于注入的任务向量θ。这意味着该模型主要依赖于θ,在很大程度上忽略了任务A的演示S。论文注意到任务B的准确性略低,可能与图6中看到的性能下降一致,并可能进一步受到S的影响。

七、解释θ(Interpreting θ)

学习到的向量θ直观地捕获了关于S所证明的任务的信息。在这里,论文提供了支持这种解释的证据。由于θ是transformer的中间隐藏状态,论文可以使用词汇投影方法。也就是说,论文检查了由隐藏状态引起的词汇表分布中的顶部令牌。

表3显示了LLaMA 13B的三个任务的顶部令牌(图7中提供了更多的模型和任务。)。在多种情况下,论文会观察到直接描述任务的令牌。重要的是,这些术语从未明确地出现在上下文中。例如,在从法语到英语的翻译任务中,论文观察到诸如“英语”和“翻译”等标记。这支持了论文的观点,即θ携带关于任务的典型的、重要的语义信息。

八、结论

通过对LLM中ICL的探索,论文揭示了ICL学习机制的新视角。论文揭示了一个简单而优雅的结构: ICL通过将给定的训练集压缩为一个单一的任务向量来实现函数,然后指导transformer生成给定查询的适当的输出。论文的工作为理解LLM如何执行ICL提供了一个垫脚石。根据论文的发现,未来的工作可以集中在理解如何构造任务向量,以及如何使用它来计算输出。

九、附录

见原文:https://arxiv.org/abs/2310.15916

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

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

相关文章

openGauss学习笔记-131 openGauss 数据库运维-启停openGauss

文章目录 openGauss学习笔记-131 openGauss 数据库运维-启停openGauss131.1 启动openGauss131.2 停止openGauss131.3 示例131.3.1 启动openGauss131.3.2 停止openGauss 131.4 错误排查 openGauss学习笔记-131 openGauss 数据库运维-启停openGauss 131.1 启动openGauss 以操作系…

超详细的接口测试

本文主要分为两个部分: 第一部分:主要从问题出发,引入接口测试的相关内容并与前端测试进行简单对比,总结两者之前的区别与联系。但该部分只交代了怎么做和如何做?并没有解释为什么要做? 第二部分&#xf…

leetcode 343.整数拆分 198.打家劫舍(动态规划)

OJ链接 &#xff1a;leetcode 343.整数拆分 代码&#xff1a; class Solution {public int integerBreak(int n) {int[] dp new int[n1];//每个n&#xff0c;拆分多个整数乘积的最大值dp [0] 0;dp [1] 1; for(int i 2 ; i<n; i){for(int j 0 ; j < i; j){dp[i] Ma…

Harmony Ble蓝牙App(二)连接与发现服务

Ble蓝牙App&#xff08;二&#xff09;连接与发现服务 前言正文一、BlePeripheral回调二、连接和断连三、连接状态回调四、发现服务五、服务提供者六、显示服务七、源码 前言 在上一篇中我们进行扫描设备的处理&#xff0c;本文中进行连接和发现服务的数据处理&#xff0c;运行…

【LeetCode】挑战100天 Day13(热题+面试经典150题)

【LeetCode】挑战100天 Day13&#xff08;热题面试经典150题&#xff09; 一、LeetCode介绍二、LeetCode 热题 HOT 100-152.1 题目2.2 题解 三、面试经典 150 题-153.1 题目3.2 题解 一、LeetCode介绍 LeetCode是一个在线编程网站&#xff0c;提供各种算法和数据结构的题目&…

阿里入局鸿蒙!鸿蒙原生应用再添两员新丁

今日HarmonyOS微博称&#xff0c;阿里钉钉、蚂蚁集团旗下的移动开发平台mPaaS与华为达成合作&#xff0c;宣布启动鸿蒙原生应用的开发&#xff01;相关应用将以原生方式适配#HarmonyOS NEXT#系统。 #HarmonyOS#市场或迎来爆发式增长&#xff01; 阿里钉钉 阿里钉钉与华为达成合…

【2023年第十三届APMCM亚太地区大学生数学建模竞赛】C题 中国新能源电动汽车的发展趋势 完整论文

【2023年第十三届APMCM亚太地区大学生数学建模竞赛】C题 中国新能源电动汽车的发展趋势 题目 新能源汽车是指技术原理先进、技术新、结构新&#xff0c;以非常规车用燃料为动力源(非常规车用燃料是指汽油、柴油以外的燃料)&#xff0c;在车辆动力控制和驱动方面融合先进技术的…

为什么vue中数组和对象的props默认值要写成函数形式?

多个组件数据不相互干涉 假如在一个地方引用了同一个组件&#xff0c;并给他们都绑定了单独的值。如果只声明为一个对象或数组&#xff0c;可能会导致在某一个实例中修改数据&#xff0c;影响到其他实例中的数据&#xff0c;因为数组和对象是引用类型的数据。为了在多次引用组件…

Django(十、中间件)

文章目录 一、中间件的介绍中间件有什么用中间件功能自定义中间中间件的顺序 一、中间件的介绍 中间件顾名思义&#xff0c;是介于request与response处理之间的一道处理过程&#xff0c;相对比较轻量级&#xff0c;并且在全局上改变django的输入与输出。因为改变的是全局&…

大数据量条件SQL查询内存处理方案以及数据过滤算法优化

MySQL是一个广泛使用的关系型数据库管理系统。通过SQL语言进行数据操作和查询&#xff0c;还支持多用户、多线程和分布式操作等功能。 在实际使用中&#xff0c;我们会遇到各种查询条件&#xff0c;如字段名、表名、逻辑运算符、比较运算符、函数等。其中&#xff0c;有些查询…

Mysql数据库 18.Mysql SQL优化

SQL优化 一、插入优化 多条插入语句&#xff0c;影响执行效率 优化方案 1、批量插入&#xff1a; 在一条insert语句中多条数据&#xff0c;但是如果数据量过大&#xff0c;也不能完全使用一条语句语句&#xff0c;建议数据量为一次性插入1000条以下的数据 如果数据量多大&…

【CCF-PTA】第03届Scratch第03题 -- 参观食品厂

参观食品厂 【题目描述】 光明小学定期组织学生参与社会实践&#xff0c;最近的活动主题是参观自动化食品厂。小明看到生产线可以自动筛选罐头重量是否合格&#xff0c;感到十分好奇。回来后&#xff0c;小明准备写一个模拟程序&#xff0c;输入10盒罐头的重量&#xff0c;程…