企业宣传,产品推广,广告招商,广告投放联系seowdb

克服机器学习转换器的局限性

引言

近年来开发出的机器学习模型的指数级进步与转换器架构的出现密切相关。以前,人工智能科学家必须先为手头的每项任务选择架构,然后再进行超参数优化以获得最佳性能。限制科学家们潜力的另一个挑战是难以处理数据的长期依赖性,难以解决梯度消失、长序列上下文丢失以及因局部约束而无法捕获全局上下文的问题。此外,传统模型缺乏可扩展性和并行性,减缓了对大型数据集的训练,最终阻碍了该领域的进展。

转换器架构通过其自我注意机制解决了这些问题,从而彻底改变了该领域。它使模型能够捕获长序列上的关系,并有效地理解全局上下文,同时具有高度的并行性和跨各种模态如文本、图像等的适应性。在自我注意力机制中,对于每个标记,将其查询与所有其他标记的键进行比较,以计算相似性得分。然后,这些相似性被用来衡量值向量,最终决定当前标记应关注的位置。自我注意将所有标记视为同等重要,无论其顺序如何,失去了关于标记出现顺序的关键信息;换句话说,它将输入数据视为一个没有顺序的集合。

现在,我们需要一种机制来对数据强制执行一些顺序概念,因为自然语言和许多其他类型的数据本质上是顺序和位置敏感的。这就是位置嵌入发挥作用的地方。位置嵌入对序列中每个标记的位置进行编码,使模型能够保持对序列结构的感知。在粗略了解了各种编码位置信息的方法后,接下来我们将详细地对它们展开逐一介绍。

注意机制

设S={w},对于i=1,…,N是N个输入标记的序列,其中w表示第i个标记。因此,对于i=1,…,N,S的相应标记嵌入可以表示为E={x},其中x是标记w的d维标记嵌入向量。自我注意机制将位置嵌入结合到标记嵌入中,并生成查询、键和值表示,如下所示:

q,k和v:分别代表与序列中第m-th和n-th位置对应的查询、键和值向量;

f,f和f:这些函数把位置信息嵌入到输入嵌入x和x中,以便生成查询、键和值向量。

然后,根据查询和关键向量之间的相似性计算注意力权重:

注意,权重决定了标记n对标记m的重要性。换句话说,标记m应该对标记n给予多少注意。标记m的输出是作为值向量的加权和计算的:

因此,注意机制标记m从序列中的其他标记收集信息。

图1:转换器架构中的位置编码(图片来自论文)。

1.绝对位置嵌入

其中p是d维向量,表示标记x的绝对位置。正弦位置编码和学习位置编码是生成p的两种替代方案。

(1)a正弦位置编码

正弦位置编码是在提出转换器架构的 《Attention is all you need》 论文中引入的。正弦位置编码为输入序列中的每个标记提供唯一的位置表示。它基于不同频率的正弦和余弦函数,如下所示:

其中,pos是标记在序列中的位置,d是位置嵌入维度,i是维度索引(0<=i<d)。

正弦和余弦函数在正弦位置编码中的使用与傅里叶变换有着密切的关系。通过使用一系列不同的频率对位置进行编码,转换器创建了一个类似于傅里叶变换的表示,其中:

这有助于模型通过比较标记的位置编码来理解标记的相对位置。正弦位置编码在推理时推广到更大的序列长度时不需要额外的训练参数。然而,它的表现力是有限的。

(2)b学习位置编码

《Attention is all you need》论文中介绍了学习位置编码,并将其应用于BERT和GPT模型中,作为正弦位置编码的替代方案。在学习位置编码中,序列中的每个位置(例如第一个标记、第二个标记等)都被分配了一个嵌入向量。这些位置嵌入是在训练过程中与其他转换器参数一起学习的。例如,如果模型的上下文长度为512,标记嵌入大小为768(即d=768),则大小为512*768的可学习张量将被添加到其他可训练参数中。这意味着,模型会逐渐学习为特定任务(如文本分类或翻译)编码位置信息的最佳方法。

学习位置嵌入比正弦位置嵌入更具表现力,因为模型可以学习位置嵌入,对其特定任务有效。然而,它们引入了更多可训练的参数,这增加了模型的大小及其计算成本。

2.相对位置嵌入

正弦和学习位置编码都侧重于标记的绝对位置。然而,注意力机制是通过计算序列中每个特定标记的其他标记的重要性来工作的。因此,这个过程取决于标记的相对位置(它们彼此相距多远),而不是标记的绝对位置。为了解决绝对位置嵌入的局限性,引入了相对位置编码。

RelativePosEmb 不 会将位置信息添加到标记嵌入中。相反,它修改了在每一层计算键和值的方式,如下所示:

这里,r=clip(m-n,R,R)表示位置m和n之间的相对距离。假设精确的相对位置在一定距离之外没有用,则对最大相对位置进行剪裁。剪切最大距离使模型能够在推理时进行外推,即推广到训练期间没有看到的序列长度。然而,这种方法可能会从标记的绝对位置(如第一个标记的位置)中遗漏一些有用的信息。

你可能会注意到f缺少位置嵌入。这是因为我们正在对相对位置进行编码。在注意力公式中,查询和键值用于计算注意力权重,如方程(2)所示;因此,我们只需要查询或键包含相对位置嵌入即可。

当前,这种编码已被用于许多模型, 如 转换器XL 【】 】中可以找到应用相对位置编码的不同替代方案。

3.旋转位置嵌入(RoPE)

与之前的方法不同,RoPE根据标记的位置在多维空间中旋转向量。它没有将位置信息添加到标记嵌入中,而是将每一层的注意力权重计算方式修改为:

这种算法提出了一个广义旋转矩阵,适用于任何偶数嵌入维数d,如下所示:

将RoPE()应用于注意力权重将得到如下公式:

请注意,RoPE公式不会将位置信息添加到注意力模块的值中。注意力模块的输出是值向量的加权和,由于位置信息没有添加到值中,因此每个转换器层的输出都没有明确的位置细节。

等流行模型也正在使用RoPE。

ALiBi方法

4.注意线性偏差(ALiBi)

ALiBi算法 也不会在单词嵌入中添加位置编码;相反,它对注意力权重分数增加了一个惩罚,该惩罚与标记之间的距离成正比。因此,每层两个标记i和j之间的注意力得分计算如下:

其中,-m ×(i-j)是一个惩罚值,与标记i和j之间的距离成正比。标量m是训练前固定的头部特定斜率,其不同头部的值被选择为几何序列。例如,对于头部值8,m可能是:

这意味着,第一个头部有一个相对较大的m,因此它更多地惩罚相距较远的标记,并专注于最近的标记,而第八个头有最小的m,使其能够处理更远的标记。前面的图2还提供了相应的可视化表示。

BloombergGPT模型 BLOOM模型

推理时的转换器外推

推理时的转换器外推是指模型能够很好地处理比训练时更长的输入序列。转换器机制与输入长度无关,这意味着在推理时,它可以处理更长的序列。然而,请注意,计算成本随输入长度呈二次方增长,即使转换器层本身与之无关。

ALiBi的作者证明了转换器外推的瓶颈是它的位置嵌入方法。如图3所示,他们比较了不同位置嵌入方法的外推能力。由于学习位置嵌入不能对大于训练长度的位置进行编码,因此它没有外推能力。

图3:外推法:随着输入序列变长(x轴),正弦、RoPE和T5位置编码显示出困惑度降低(在y轴上,越低越好),而ALiBi则没有(图片来自 论文

图3显示出,正弦位置嵌入在实践中的外推能力非常有限。虽然RoPE算法的性能优于正弦曲线算法,但它仍然没有达到令人满意的结果。T5偏置方法(相对位置嵌入的一种形式)比正弦算法和RoPE算法嵌入具有更好的外推效果。不幸的是,T5算法偏差的计算成本很高(图4)。ALiBi算法的性能优于所有这些位置嵌入,内存增加则可以忽略不计(0-0.7%)。

图4:正弦、RoPE、T5和ALiBi算法位置编码的批处理训练、推理速度和内存使用的比较(图片来自 论文

结论

总之,转换器架构中位置信息的编码方式会显著影响其理解顺序数据的能力,尤其是在推理时的外推时。虽然绝对位置嵌入方法提供了位置感知,但它们经常难以进行转换器外推。这就是为什么提出了更新的位置嵌入。相对位置编码算法RoPE和ALiBi算法具有在推理时进行外推的能力。最后,随着转换器在各种应用中的不断集成,完善位置编码对于突破其性能极限具有非常重要的意义。

注意:本中表达的意见仅代表我们自己的观点。

参考文献

RelativePosEmb

Transformer-XL

BloombergGPT

译者介绍

朱先忠,社区编辑,专家博客、讲师,潍坊一所高校计算机教师,自由编程界老兵一枚。

Beyond Attention: How Advanced Positional Embedding Methods Improve upon the Original Approach in Transformer Architecture

© 版权声明
评论 抢沙发
加载中~
每日一言
不怕万人阻挡,只怕自己投降
Not afraid of people blocking, I'm afraid their surrender