- 本文译自 《In-Context Learning Creates Task Vectors》 —— 论文中的作者也在用LLaMA模型,笔者自我感觉拉近和世界顶级人才的距离,哈哈
- 内容较长,如想看定论直接看 摘要、介绍与定论几个章节即可,看细节请看目录索引。
- 经历危险最小化 (Empirical Risk Minimization ERM): 这也是理论…
- 水平有限,敬请勘误
摘要
在大言语模型(LLMs)中的上下文学习(In-Context Learning,ICL) 成为一种强大的新学习范式(learning paradigm),但是咱们对它的底层机制仍不够明晰明晰。尤其是将其映射到传统的机器学习结构 就很具挑战性,其间咱们运用 练习集S 在特定的假定类别中去寻觅一个最佳拟合 函数f(x)
。咱们发现,ICL能够学习到的函数通常具有非常简略的结构:他们直接体现近似于Transformer架构的LLMs,仅有的输入是 查询x 和 由练习集核算而得的单个’使命向量(task vector)’, 因而 ICL
能够看成是将 练习集S
压缩成一个单个使命向量(task vector) (S)
,然后利用该使命向量来调控Transformer以生成输出。为了验证上述观念,咱们进行了一系列的归纳实验,包含各种模型和使命。
原始信息
- 论文:In-Context Learning Creates Task Vectors
- 作者:Roee Hendel(Tel Aviv University), Mor Geva(Google DeepMind), Amir Globerson(Tel Aviv University, Google)
- 地址:arxiv.org/pdf/2310.15…
- 代码:github.com,atroeehendel/icl_task_ve….
介绍
什么是In Context Learning (ICL)
近年为大模型飞速发展,它的显着特点是能够从少量的示例调集(demonstrations)中就学到新规矩。例如,咱们向模型输入苹果->赤色, 青柠->绿色 , 玉米 ->
就得到玉米
对应的黄色
输出。
上述进程至少触及LLM的’ICL’与’Promot’的两大主题。 好像整篇就上述这段话有用,其他用途不大的感觉啊,太理论了,可花了时刻不啥得删啊。
上述例子中模型仅依据两个例子就可学会了方针映射联系,这种才能咱们称之为上下文学习 InContext Learning (ICL)。 ICL现已被广泛运用且效果显着。ICL如此神奇,人们开始探寻ICL
背面潜在的机制,即模式内部是完成经过 示例集S
和查询 x
来生成所需要的输出?
Figure 1: ICL as learning in a Hypothesis Class(是ICL在假定类中的学习进程)
咱们经过运用上图所示办法来处理该问题。在ICL中,咱们给LLM一个含有特定使命的示例集S 提示(prompt) 和一个查询x,这个模型为 查询x 发生了输出, 如该示例中的输出’Yellow’。咱们发现其内部的处理进程能够分解为两个部分(如上图所示): 榜首部分是学习算法(learning algorithm) ‘, 用于核算 不知道查询向量(S)(S),该学习算法咱们称之为 在假定类中函数参数,上图中的蓝色部分。第二部分是由界说的规矩在查询x上的运用,咱们用ff表明,该规矩不直接依靠于 示例集’S’, 如上图所示的黄色区域。
ICL的猜测函数
ICL的猜测函数是T([S,x])T([S, x]) , 其间T
是自回归的言语模型(auto-regressive transformer), S表明用作ICL输入的练习示例集,x是查询参数, TCL依据输入x得到最终输出。而[S, x]
表明为TCL对x和S串联后的输出。因而,在一般状况下,该猜测函数能够是对S和x进行运算以发生输出的任意函数,这包含”非参数(non-parametric)”办法,比如 最近邻法(nearest-neighbor)。
ICL处理了什么问题
来自核算学习理论的假定类概念。 在学习理论的表明中,通常咱们将假定类看成H,H的每个元素都是函数H(x;)H(x;), 表明为对输入x进行参数为向量 运算。 例如,假如x∈Rdx ∈ R^d ,那么假定类H 就是线性分类器(linear classifier)的调集, h(x;)=⋅xh(x; ) = x, 为系数向量,输入为输入。学习算法在探究一个元素h, 且 h∈Hh ∈ H ,该h能够更好的适应练习集,也就是所所谓的 经历危险最小化(Empirical Risk Minimization ERM)。
ICL是否以这种办法执执目前并不非常清楚,最近已有机构正在探寻该问题。
例如:咱们从头开始练习一个言语模型(Transformer)并在上下文中以线性回归办法履行, 这种新式的学习办法类似于梯度下降法(Stochastic Gradient Descent SGD)。 但是关于要履行更多复杂使命的自然言语使命的LLMs来说,其假定空间或许是什么还不是特别明晰。
在本论文中,咱们证明了,在许多使命中,LLM的ICL都能够作业在假定空间中。给定一个练习集S,模型将其映射为使命向量(S),该向量表明为练习集S中映射/规矩的描绘。即给定模型T
和一个向量
,咱们能够构造出一个用于完成指定使命的新函数f(x;)f(x; )。该函数f近似于原始模型,直接运用于输入x,无需示例调集直接由激活, 如下图。
Figure 2: Separating A and f. (别离A和f)
咱们的观念也与软提示有关,由于这两种办法都会针对特定使命调整转换器的功能。但是,在ICL中,使命向量是在前向传达中核算的,而不是经过微调。
论文贡献
咱们的贡献包含:
- 咱们提出一种依据假定类的ICL机制, 并利于揭露可用的大模型进行了一系列的不同使命实验, 以此来验证咱们观念可靠性
- 咱们的研究进一步加深了对ICL的了解,或许对LLM履行特定使命的有效适应具有实际意义。
ICL结构
ICL的假定空间观念 – A Hypothesis Class View of ICL
受学习理论的假定类观念的发动, 咱们的首要方针是了解ICl是否将一个示例集S 映射到一个关于输入x(Query x)的函数及该映射是怎么发生的。咱们特别探寻了ICL是否将 示例集S 转化为 一个 —— 某个特定假定空间内函数的”参数”。实验成果的确证明了 ICL是运行在假定空间上的。
理论结构 – Theoretical Framework
咱们用T
表明decoder-only transformer(仅解码器的模型)大言语模型(LLM), S表明作用于ICl输入的一组示例集(如练习样本) , x表明为要求ICl供给输入的查询值。 咱们运用T([S,x])T([S, x])表明ICl在S
和x
串联后的输出。
为了证明ICL是在一个假定空间内履行,咱们将其内部机制两个不可或缺的部分:
- 榜首部分: “学习算法(learning algorithm,)”,用A表明,该算法不依靠于查询x, 用于将示例集S映射到使命向量。由于注意力层能够拜访到S和x,不依靠查询x的独立性并不显着(后来会讲到处理办法)。
- 第二部分:规矩运用(Rule Application),用f表明, 依据≡A(S) ≡ A(S),首要用于将将查询x映射为输出。该规矩相同独立于示例集S。相同独立性有待进步(后来会讲到处理办法)。
咱们将 示例集S+查询x 至 猜测输出 的整体映射联系界说为公式: T[S;x]=F[x;A(S)]T[S;x] = F[x;A(S)]
假如咱们能够将LLM的前向传达分按上述分为两个部分,咱们能够将ICL看成在H=f(⋅;)∣ H = {f(; ) | }的假定类中履行。
假定类 – A Proposed Hypothesis Class
如上图(Figure 2)所示结构,依据A和f的不同挑选,假定类会有许多或许的完成。咱们将描绘重点在以Transfomer结构为基础的完成上。
首先咱们以(Figure 1)所示的办法来设置ICL, 其间输入一个x(i.e., Corn)外加一个 → 符号。 学习进程咱们分为两个部分:
- 依据练习集S的参数向量x,并将由该参数向量界说规矩运用于查询x。
- 前L层核算得到的 A 和 → 符号担任更新参数向量 ,然后用参数向量 和查询x作为剩余的层的输入并发生输出。上上图(Figure 1).
处理示例集S和查询x 在transformer中的使命层都可见的问题.
Figure 2: Separating A and f. (别离A和f)
Figure 2展现了别离的A和f的图示。为了让独立于查询x, 咱们引入了一个虚拟变量x^’(i.e. x^’==Plum) 以及 运用L层的→符号来表明向量,以防止f直接依靠于S。下面章节将详细描绘
A和f的隔离 – Separating A and f
在惯例的前向传达进程中,咱们面对的挑战是:
- 对应于A的初始L层, 更新→符号去创建参数向量以及处理Query x。该进程有或许存在对x的依靠,以至于会让对x也有了不必要的依靠。
- 对应于f的剩余层, 由于可直接拜访示例集S,因而在核算中存在不仅运用了x和的状况。
为处理上述问题,咱们采用了如下办法
- 针对第1个问题,咱们引入了 “dummy query(虚拟查询)” x’x^’ ,并运用x’x^’来核算→符号。在榜首个L层之后咱们运用由x′核算的→符号来表明向量(如Figure 2的左边部分)。
- 针对第2个问题,为了处理 核算f(x,)f(x, )时不依靠S的状况,咱们 仅在x 和 → 上履行transformer的前向传达,而且“修补(patch)” 参数向量。(如Figure 2的右侧部分)。
使命与模型 – Tasks and Models
使命:咱们一共预备了18项目使命,这些使命一共分为4类:算法、翻译、言语和知识。 为了简略起来,咱们约束其为单个token输出。 上表1展现了这些使命中有代表性的使命状况。
更多的实验数据见论文原文
模型:咱们运用了多个大言语模型: LLaMA 7B, 13B, and 30B(Touvron et al., 2023), GPT-J 6B (Wang and Komatsuzaki, 2021), and Pythia a 2.8B, 6.9B, and 12B (Biderman et al., 2023)。
探寻L层 – Finding L
在第二章节咱们在描绘其内部机制时,提到了一个自由参数 —— L层,该层作为A的结束与f的开始。咱们运用用(A,f)(A, f)完成对L的不同挑选,并经过评价以找到最佳层数。
更多的显现见论文原文。
图3展现了不同参数的LLaMA模型上,针对L层的不同挑选其开发集的准确度。有趣的是,一切的模型在相似的中间层都展现了一个相似的功能峰值,无关模型的参数与层数的多少。
依据假定的猜测的准确度 – Accuracy of Hypothesis Based Prediction
接下来,咱们将履行ICl的惯例的前向传达与 (A, f) 机制的精确度做了比较。模型与使命咱们都分别经历了以下三个进程:
- Regular: LLM在示例集S和查询x的惯例运用, 即T([S,x])T([S,x]) 在惯例的ICL的
- Hypothesis:咱们依据A和f的机制编写了一套程序,完成了A经过运用虚拟x′(dummy x′)生成 认
- Baseline: LLM仅仅在查询x上进行前向传达,而不需要依靠于 示例集S。 即T([x,→])T([x, →])。 这与咱们别离进程中f的运用相同,但并没有修补。
上图显现了每个模型在这3个进程中一切使命的均匀精度。完好成果原论文更详细的数据剖析及其A.2-表6数据。一切成果表明,咱们提出 对A和f的别离为ICL供给了更好的履行进程。
使命向量的鲁棒性 – Robustness of Task Vectors
在咱们的设置场景下,是来自于 示例集S 和 虚拟x'(dummy query x′)。 查看对输入变量的鲁棒性(安稳性)是一个必要作业。正常状况下,假如他表明使命,他应该在不同的S与x′值间保持安稳。为了做上述鲁棒性的测试,咱们运用了LLaMA 7B的模型为每一个使命生成50个不同的S和x′的使命向量, 而且进行了如下剖析。
Geometry of
Figure 5是一个使命向量的t-SNE图, A t-SNE降维图 展现了使命向量形成不同的簇,每个簇包含单个使命的使命向量。论文中的图9将进一步显现了相同类别的使命间的接近性。
Variability of 下图是一个展现使命内部及使命间的距离的直方图。 能够看出同一个使命内与不同使命间的距离更接近一些。这表明在使命中是安稳的,不受x′或S的高度影响。
补丁的优势 – Dominance of Patching
在第三章节,咱们评论了阻挠f直接拜访S示例集。然后,在ICL期间一个惯例的前向传达进程,最后一个token是能够关注到S的。 这儿咱们验证了这种状况的存在, f首要运用使命向量且不直接拜访示例集S。 最后咱们运用了一对名为A和B的使命,他们共享了输入空间但有不同的输出。咱们首先运用了“Regular”的前向传达, 其间咱们为模型供给了使命A的示例集S(咱们把它表明为SA), 以验证模型能够运用ICl履行该使命。然后咱们又进行了”Conflicting”的前向传达, 仍然是SA作为模型使命的数据集, 同时注入。
For more details, refer to Fig. 6 in A.1.
上表2, 这个”Regular”的前向传达中在使命A中体现了很高的精度,但是这个“Conflicting”的前向传达产在使命B中发生了高精度,该使命对应于注入了向量。这意味道着这个使命首要依靠于,而疏忽了为使命A的示例集S。 咱们注意到使命B的准确度较低,或许与图6(Figure 6)的功能下降有关,或许进一步遭到S存在的影响。
对的解析 – Interpreting
学习到了向量直接观地捉了关于示例集S所展现的使命信息。这儿咱们供给了支撑这一解析的证明数据。由于向量是transformer的中间躲藏状态,咱们能够运用词汇投影法(vocabulary projection method,nostalgebraist,2020;Dar et al. ,2022) 。即,咱们查看由躲藏状态引起的散布在词汇表上的顶层token。
下表展现了 LLsMA 13B下三个使命的顶层token.
更多的请看 论文附 A 中的表7.
在多种状况下,咱们观察到能直接描绘使命的token。而更重要的是,这些术语从未明晰出现在上下文中。例如,在从法译英的使命中,咱们观察到比如“英语”和“翻译”之类的token。这支撑了咱们的观念,即携带了关于使命的重要、非琐碎的语义信息( carries significant, non-trivial semantic information about the task)。
定论 Conclusions
本文经过对LLM中ICl的探究,咱们为ICL学习机制的供了新的视角。 咱们展现了一个简略而高雅的结构:ICL经过将一个给定的练习集压缩为一个单使命向量来发挥作用,用来辅导transformer依据给定的查询x去成最优输出。咱们的作业为供给 LLM怎么履行ICl进程 供给了一个垫脚本。 此由咱们发布,未来的作业或许会偏重在使命向量怎么构建以及怎么运用他来评价输出上。
术语中英对照
- 线性分类器(linear classifier): 经过线性映射,将数据分到对应的类别中。f(xi,W,b)=W∗xi+bf(x_i, W,b) = W*x_i+b, W为权值(weights),b为偏移值(bias vector),x_i为数据。
- 经历危险最小化(Empirical Risk Minimization ERM): 是核算学习理论中的一个准则,它界说了一系列学习算法,并用于给出其功能的理论界限。
参阅
见原文论文