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

news2024/11/11 4:47:34

一、简要介绍

大型语言模型(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.coloradmin.cn/o/1245377.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python BDD 框架比较之 pytest-bdd vs behave

pytest-bdd和behave是 Python 的两个流行的 BDD 测试框架,两者都可以用来编写用户故事和可执行的测试用例, 具体选择哪一个则需要根据实际的项目状况来看。 先简单看一下两者的功能: pytest-bdd 基于pytest测试框架,可以与pytest…

美团技术博客即将十周岁啦 | 欢迎分享你跟它的故事

种一棵树最好的时间是十年前,其次是现在。 2013年12月04日, 美团技术博客发布了第一篇技术文章。 时光荏苒,岁月如歌。 美团技术博客即将迎来自己十周岁的生日。 感谢大家的一路相伴。 十年来,美团技术博客累计发布了570多篇技术文…

STM32_6(TIM)

TIM定时器(第一部分) TIM(Timer)定时器定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断16位计数器、预分频器、自动重装寄存器的时基单元,在72MHz计数时钟下可以实现最大59.65s的定时不仅…

【深度学习】神经网络术语:Epoch、Batch Size和迭代

batchsize:中文翻译为批大小(批尺寸)。 简单点说,批量大小将决定我们一次训练的样本数目。 batch_size将影响到模型的优化程度和速度。 为什么需要有 Batch_Size : batchsize 的正确选择是为了在内存效率和内存容量之间寻找最…

WordPress站点屏蔽过滤垃圾评论教程(Akismet反垃圾评论插件)

前段时间我的WordPress站点经常收到垃圾评论的轰炸,严重时一天会收到几十条垃圾评论。我这个小破站一没啥流量,二又不盈利,实在是不太理解为啥有人要这么执着地浪费资源在上面。 Akismet反垃圾评论插件 其实用了 Akismet 反垃圾评论插件后&a…

java--static修饰成员变量

1.static 叫静态,可以修饰成员变量、成员方法。 2.成员变量按照有无static修饰,分为两种: ①类变量:有static修饰,属于类,在计算机里只有一份,会被类的全部对象共享(不管那个类调用的&#x…

Spring Security(安全框架,必须登录成功才能访问指定资源)

一、背景知识 1、Spring Security 是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC,DI(IOC: 控制反转Inversion of Control ,DI:D…

97、Text2NeRF: Text-Driven 3D Scene Generation with Neural Radiance Fields

简介 论文地址 使用扩散模型来推断文本相关图像作为内容先验,并使用单目深度估计方法来提供几何先验,并引入了一种渐进的场景绘制和更新策略,保证不同视图之间纹理和几何的一致性 实现流程 简单而言: 文本-图片扩散模型生成一…

在PCL视图器中使用随机生成的颜色来可视化一组匹配的点对

std::vector<Eigen::Vector2d> centroids_unknown_motion_underk; std::vector<Eigen::Vector2d> centroids_unknown_motion_k; // 进行数字填充 pcl::visualization::PCLVisualizer viewer("Centroid Visualization");int id 0;// 添加 XY 坐标系doub…

Okhttp 浅析

安全的连接 OkHttpClient: OkHttpClient: 1.线程调度 2.连接池,有则复用,没有就创建 3.interceptor 4.interceptor 5.监听工厂 6.是否失败重试 7.自动修正访问,如果没有权限或认证 8是否重定向 followRedirects 9.协议切换时候是否继续重定向 10.Cookie jar 容器 默认…

软件开发及交付中,如何平衡项目进度和团队成员的利益?

在平衡软件质量与时间、成本、范围的关系时&#xff0c;需要考虑到项目管理的金三角概念&#xff0c;即时间、成本和范围。从项目管理的角度来看&#xff0c;项目进度和团队成员的利益需要平衡。 以下是一些建议&#xff1a; 制定可行的计划&#xff1a;让项目相关各方充分参与…

Java面试-框架篇-Mybatis

Java面试-框架篇-Mybatis MyBatis执行流程延迟加载使用及原理一, 二级缓存来源 MyBatis执行流程 读取MyBatis配置文件: mybatis-config.xml加载运行环境和映射文件构造会话工厂SqlSessionFactory会话工厂创建SqlSession对象(包含了执行SQL语句的所有方法)操作数据库的接口, Ex…

Retrofit 原理浅析 二

类型安全的连接 enqueue : 异步 切线程,会在队列中执行 execute : 同步 不切线程 Retrofit:Create 1.验证是否是接口 否则是类或者其他则报错 API Declarations must be interfaces 2.check . add 取出进行处理,然后添加到Colltions 中,如果有父接口则报错,不能是泛型 添加…

【uniapp】部分图标点击事件无反应

比如&#xff1a;点击这个图标在h5都正常&#xff0c;在小程序上无反应 css&#xff1a;也设置z-index&#xff0c;padding 页面上也试过click.native.stop.prevent"changePassword()" 时而可以时而不行&#xff0c; 最后发现是手机里输入键盘的原因&#xff0c;输…

pcie-2-rj45速度优化

背景: 目前用iperf3打流传输速率达不到要求,千兆实际要求跑到800M以上: 优化方案: 1.优化defconfig: 首先编译user版本验证看是否正常 debug版本关闭CONFIG_SLUB_DEBUG_ON宏控。 2.找FAE ,通过更换驱动,或者更新驱动来优化 3.绑定大核: 以8125网卡为例,udp…

【计算机网络笔记】数据链路层概述

系列文章目录 什么是计算机网络&#xff1f; 什么是网络协议&#xff1f; 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能&#xff08;1&#xff09;——速率、带宽、延迟 计算机网络性能&#xff08;2&#xff09;…

开启数据库审计(db,extended级别或os级别),并将审计文件存放到/home/oracle/audit下

文章目录 开启数据库审计&#xff08;db,extended级别或os级别&#xff09;&#xff0c;并将审计文件存放到/home/oracle/audit下一. 简介二. 配置2.1. 审计是否安装2.2. 审计表空间迁移2.3. 审计参数2.4. 审计级别2.5. 其他审计选项2.6. 审计相关视图 三. 使用3.1. 开启/关闭审…

【已解决】微信小程序腾讯地图的map清除markers,setData将marker置空后,安卓和ios还会显示上次的内容的问题所在以及解决办法

问题描述 1.我首先点击了这个marker 2.这里可以看到根据id获取到了他的信息 3.当我滑动了地图&#xff0c;这时候重新加载了markers&#xff0c;我再次点击这个marker 4.会发现获取不到数据了 问题原因 个人猜测引起这个问题的原因是id重叠了&#xff0c;导致获取不到数据&am…

【shell】函数和数组的原理及使用注意

目录 一、函数 1.1函数的优点&#xff1a; 1.2如何定义函数&#xff08;shell&#xff09; 1.3 演示函数的作用以及增删改查 关于函数的使用 关于declare查询的用法 关于函数的增加与调用 关于函数的返回值return 关于echo作为返回 关于函数的参数传递 关于函数的环…

前端编码技巧须知

前端开发中可能会使用到以下软件&#xff0c;它们各自具有不同的作用&#xff1a; 代码编辑器&#xff1a;例如Sublime Text、Atom、Visual Studio Code等&#xff0c;用于编写和编辑HTML、CSS和JavaScript等前端代码。网页浏览器&#xff1a;例如Chrome、Firefox、Safari等&a…