Advertisement

Decoder-only的LLM为什么需要位置编码?

阅读量:
999858f1f5f3dd9b62b8dc4220980acd.gif

©PaperWeekly 原创 · 作者 | 苏剑林

单位 | 科学空间

**研究方向 |**NLP、神经网络

众所周知,在现有主流的大语言模型中(对此我们在《为什么现在的LLM都是Decoder-only的架构?》一文中已有详细讨论),大部分采用的是基于Causal Attention机制的Decoder-only架构。针对Causal Attention的研究显示,在无需额外的位置编码(简称NoPE)的情况下即可实现非平凡的效果。然而事实上,在现有主流的Decoder-only模型中仍普遍采用了额外的位置编码技术,并非完全依赖NoPE方案。例如常见的RoPE和ALIBI等位置编码方法被广泛应用于这一领域。

那么问题来了:明明主张无需加入位置编码,则主流LLM为何普遍采用了这一策略呢?与其多一事不如少一事,则为何主流LLM反而普遍采用了这一策略呢?本文将从三个角度阐述笔者的观点:

1. 位置编码对于 Attention 的作用是什么?

2. NoPE 的 Causal Attention 是怎么实现位置编码的?

3. NoPE 实现的位置编码有什么不足?

f78e9393918649b2f0cb37ca46ec65a5.png

位置编码

本节开始,在这一部分中我们将深入探讨第一个核心问题:位置编码方案在注意力机制中的作用和价值

随着BERT时代的兴起,在这一段时间里提出了诸多相关的位置编码方案。笔者回顾了自己的研究历程,在《让研究人员绞尽脑汁的Transformer位置编码》一文中也对这些方法进行了较为系统的总结。随后,在《Transformer升级之路:Sinusoidal位置编码追根溯源》一文中,我们从原理导向的角度深入探讨了这一问题,并最终得出了最初的Sinusoidal位置编码理论基础这一结论。这种研究路径不仅为我们后续探索RoPE提供了直接灵感

在位置编码体系中消除置换不变性这一局限性。这指的是...

在早期模型中

其基本结构是

这种架构特点在于

99e371543fbdf3e72648964c8e1282a7.png

假设 是 的任意排列,那么置换不变性是指

625ca3b5cdd31f12abd63a693e6e0225.png

简单来说就是 关键值对的位置是无关紧要的 这一点与自然语言处理的特点相悖 因此我们需要设法打破这一固有缺陷 我们必须想出一种方法 来让Attention机制能够适应这种需求 类似于不带时间戳的数据库系统 其检索结果仅由查询内容决定 而位置编码机制类似于对数据库中的每个条目按时间顺序进行标记 这种机制使得即使在不考虑条目实际存储顺序的情况下 我们仍能通过位置信息来影响检索结果

c1c4401c505878b892ecbec07309311a.png

先验认知

位置编码的另一个主要作用,是引入关于Attention的先验信息,并使Attention具备学习这些先验信息属性的能力。

如前所述,在讨论的位置编码中,Sinusoidal 位置编码基于三角函数计算得出其绝对位置编码。它特别指出,相邻位置之间的向量具有较高的相似度,并暗含着相同或相近的token应具有相近嵌入表示作为先验。与此同时,在BERT中所采用的位置编码机制也是基于绝对位置信息,并通过随机初始化并将其作为模型参数进行学习训练。这一机制是通过随机初始化并将其作为模型参数进行学习训练的,并且特别指出这种机制并未假设或假定相邻token间存在特定关系(即这种机制并未假设或假定相邻token间存在特定关系)。然而,在BERT中所采用的位置编码机制则是通过随机初始化并将其作为模型参数进行学习训练的结果,并允许模型能够在必要时学习这一性质(即这种机制并未假设或假定相邻token间存在特定关系)。

更为常见的是采用相对位置编码的方法

例如 recurrent neural networks (RNNs) 和 convolutional neural networks (CNNs) 这类模型,
其核心机制在于将"越近的 Token 越重要"这一内在规律内置于架构设计中,
从而实现了无需依赖位置编码机制并使计算复杂度降至线性水平。
另一方面,
这些预设的规律均为人工假设且存在一定的局限性,
因此更为准确的说法是它们并非完全可靠。
从当前研究来看,
大型语言模型(LLMs)的主要目标是超越人类能力而非复制人类行为,
这也就解释了为何主流的设计多采用注意力机制:
由于架构的设计先验较少,
人为主观假定和误区也相应减少,
从而为模型提供了更大的发挥空间与潜力。

4706ea4828a6329c3ff96ee589a1b6c8.png

单向注意

了解完位置编码的作用后,我们再深入探讨一下 NoPE 的工作原理,或者说它是否能够达到上述位置编码所具有的作用

在前面的章节中已经阐述过,在信息处理领域中双侧注意力机制具有对称性特征。因此需要借助位置编码机制来打破这种对称性特征。值得注意的是,NoPE 无法应用于双侧注意力机制,其适用的前提条件是单侧注意力机制,亦即常说的因果注意力机制:

85cc59f45bd073f5097e652d7b12dc10.png

它的不同之处主要体现在求和符号的上下限上:从L修改为n。可以看出这种差异意味着该机制类似于某种特定性质的结果受顺序影响。换句话说,在这种情况下该方法并不具备置换不变性特性。因此采用因果关系与NoPositional Encoding结合的方式能够实现良好的性能表现(而非平凡效果指的是与采用Positional Encoding时达到的效果相当)。

首先表明这项研究的文章应为《Transformer Language Models without Positional Encodings Still Learn Positional Information》[1]。这一发现的重点在于作者首次采用"实验与文章"这一较为规范的方式宣布了这一观点。实际上根据笔者了解,在此之前已有诸多研究者对此有所默认。

此外,在后续的研究中,《The Impact of Positional Encoding on Length Generalization in Transformers》[2] 和《Length Generalization of Causal Transformers without Position Encoding》[3] 进一步研究了 NoPositionEncoding (NoPE) 模型在长度泛化方面的性能。

c36643bbbec75ff2d66194062daec64e.png

方差辨位

更深入地来说,“Causal + NoPE”是如何识别位置信息的呢?为了更好地理解这一机制,我们可以以一个简单的例子来体会其工作原理。

直觉上而言,在式(3)中所定义的就是n个变量的加权平均值;当扩展到n+1个变量时仍然是类似的加权平均形式;如此类推下去,则可逐步构建出相应的机制;因此我们不妨先从最简单的情形入手——即假设所有权重均相等;这将引导我们关注下面介绍的具体Attention矩阵结构:

6224e922876712ab3c427b0c9efb0d4d.png

在这个假设下,我们有

0a6d5d4862124595362843c0250ef405.png

然后,在以下假设下:每一个向量中的分量都是从同一个"均值为0、方差为σ²"的正态分布中独立重复抽样生成的;在此基础上我们可以推导出该向量的期望和方差分别为:

205f07988041cb9532cff080fd0ef2c9.png

第二个等式本质上对应于RMS Norm中的‘MS(Mean Square)’这一指标,并可以看出它与位置n相关联。由于均值为零的原因,在这种情况下MS实际上等于方差。由此可知‘Causal + NoPE’实质上是通过将位置信息嵌入到分量方差中来实现效果;或者也可以理解为以范数的形式进行编码。

当然, 也许读者会对这一结论的前提假设提出疑问. 然而这些假设最多只能应用于初始模型中, 即使它们用于理解 NoPE 识别位置的基本原理也是足够的: 它们之间的直观差别就在于各自取样的平均值数量的不同. 而这种不同数量带来的最直接的变化量则是方差.

该研究发现,在相关文献中提及《Latent Positional Information is in the Self-Attention Variance of Transformer Language Models Without Positional Embeddings》[4]这一论断,并通过在经过NoPE预训练模型上的实验验证,证明了其普遍适用性。

6049f807d58f4cb1d2665cea2c308ab3.png

不足之处

让我们总结目前所得的主要内容:首先,在前两节中我们探讨了位置编码所发挥的关键作用——其主要功能是打破Attention机制中存在的置换对称性问题,并在此过程中引入了一些先验知识;随后我们明确指出Causal型注意力机制本身不具有置换对称性特性,在这种情况下理论上无需施加位置编码(无位置编码经验NoPE);最后我们的实证分析表明无位置编码经验(NoPE)主要通过隐藏状态向量的方差来表征位置信息的存在

回归到标题提出的问题上:为何基于Causal Attention的Decoder-only模型通常会添加位置编码?其实我们已经阐述过——虽然理论上NoPE(即NoPositionalEncoding)能够使用。然而,在实际应用中发现它效果并不如理想。

那么为何采用此表述呢?让我们回顾一下",NoPE 通过向量的方差来表达位置信息"这一观点。具体而言,则是由一个不带有位置信息的向量与一个与位置n相关的标量函数p(n)相乘得到。这就引出了以下几点分析:

NoPE 是通过类似乘法原理实现的绝对位置编码,并且这使得其仅能以单一数值表示位置信息;因此这种编码方案的能力相对较弱

2. 单一标量所承载的信息容量有限,在输入序列长度增长的过程中,位置编码的空间逐渐收缩到难以辨别各个编码之间的细微差别;例如,在极简示例中存在这样的情况:当n趋向于无穷大的情况下(即n趋向于无穷大),相邻的位置编码(即n和n+1)之间的差异变得极其微小以至于几乎无法察觉;这也就意味着相邻的位置编码难以被区分开来。

普遍的看法认为相对位置编码在处理自然语言时更具优势;然而,在实现细节上,NoPE 采用了绝对位置编码的方式,在效率上相较于仅依靠绝对位置编码的模型而言则略显不足。

NoPE既未为模型附加诸如远程衰减等预设性质(prior),也未能提供让模型习得此类性质的机会;当输入序列过长时就可能导致注意力难以集中。

总体而言,在处理长文本时,NoPE 可能会遇到位置分辨率存在局限性、计算效率不高以及注意力分布不够集中等问题, 因此即使是依赖解码器的模型, 我们也需要添加必要的位置编码(尤其是相对位置编码), 以便通过完善这些方面来提升整体性能。

当然地讲,在分析这些内容时,我们主要关注的是单头注意力机制及其相关特性。然而即使每个头的位置信息仅由一个标量表示,在经过多头和多层结构的协同作用后,在这种情况下所获得的位置信息向量也相当可观。因此可以说NoPE问题并没有那么严重,并且在模型中加入位置编码后情况会有所改善。

78c097e1b3f7fb48bd30ffa3b8eacbed.png

文章小结

虽然已有相关研究显示 Deocder-only 模型不加位置编码仍能取得不错的效果,
然而主流LLM仍继续添加了额外的位置编码,
本文旨在探讨这一现象的原因及可能的影响。

outside_default.png

参考文献

outside_default.png

[1] https://papers.cool/arxiv/2203.16634

[2] https://papers.cool/arxiv/2305.19466

[3] https://papers.cool/arxiv/2404.12224

[4] https://papers.cool/arxiv/2305.13571

更多阅读

[

e6ce578243326bac8eac9885a2ddca38.png

]()

[

f98849ac23968104330a81af4d24af99.png

]()

[

03f742cf45c8607f2b0c8ff468fb7e40.png

]()

69eb66b627183e00052ef6ae4bbc0866.gif

#投 稿 通 道#

让你的文字被更多人看到

如何使更多优质内容通过更短路径抵达目标读者群体?答案即是那些你并不了解的人。

总有一些你并不熟悉的个体,实际上拥有你所需的知识与信息.PaperWeekly 或许能够扮演这样的角色,通过搭建一个平台,促进来自不同学科背景与研究方向的学者们得以交流互动,从而激发更多的创新活力.

PaperWeekly为高校实验室及个人提供一个开放交流的平台,在此我们致力于呈现前沿研究动态以及实用的知识分享。无论是最新论文解读和综述还是分享学术热点、科研心得与竞赛经验等创新内容,我们都热忱欢迎各类高质量的研究成果在此展示。我们的核心理念是促进知识间的深度交流与共享。

📝 稿件基本要求:

文章乃本人原创作品 ,未曾公开发表于公开渠道。如有在其他平台已发表或即将发布相关文章,请务必注明。

建议采用 Markdown 格式编写稿件。配图需通过文件附件的方式提交。确保图片清晰且具有合法版权。

PaperWeekly遵循署名-共享协议,并将为每篇被采纳的原创首发稿件支付具有行业竞争力的稿费。支付方式将根据阅读量与文章质量分 tier 包括基础稿费、高级稿费及特优稿费阶梯式计算

📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site

请在投稿时注明您的即时联系方式(微信),以便我们能尽快联系上作者。

• 您也可以直接添加小编微信(pwbot02 )快速投稿,备注:姓名-投稿

1ef86f3814010d0f95a6c6e6797bfdbb.png

△长按添加PaperWeekly小编

🔍

现在,在**「知乎」** 也能找到我们了

进入知乎首页搜索**「PaperWeekly」**

点击**「关注」** 订阅我们的专栏吧

·

·

·

61dbfce621c731b45cdd2e7fa3f35571.jpeg

全部评论 (0)

还没有任何评论哟~