嵌入是数据的简洁向量表示,封装了语义信息,使得数据具有可比性并能实现跨模态连接。这些紧凑的表示形式增强了人工智能在各种任务中的表现,包括搜索和分类。本文将探讨两种特定的嵌入类型:多模态嵌入,能够表示和链接不同类型的数据(如文本和图像);以及高级位置嵌入,能够捕捉序列数据中元素的相对位置,从而提高自然语言处理等任务的性能。
多模态嵌入(MME)
多模态嵌入(MME)使系统能够处理和整合来自不同数据类型的信息,如文本、音频和视频。这种方法解决了传统单模态嵌入的几个局限性。MME适用于需要整合多种数据源的实际应用,如人工智能助手和推荐系统。它能够实现跨模态任务,如图像文本搜索和视频字幕生成,这是普通嵌入难以做到的。MME还通过有效对齐不同的结构(如像素和单词)来解决语义不一致的问题。与单模态嵌入不同,MME促进了跨模态链接,并通过将文本与图像(如照片配文字)连接起来提供上下文。这些能力使MME成为处理现代人工智能应用中复杂、多面数据的强大工具。
MME支持多种应用,包括:图像文本搜索和视频字幕生成,个性化和上下文搜索,跨模态任务(如通过文本搜索图像或反之),以及脑信号与图像和文本的对齐,用于潜在的脑机接口。
MME是如何工作的?
多模态嵌入(MME)通过整合来自各种数据源的信息来工作。
融合方法包括:
这种集成表示使系统能够基于所有模态的综合信息做出决策和预测。
优势
挑战
通过创建多模态数据的统一表示,MME显著增强了人工智能在需要整合多种信息类型的任务中的性能。
高级位置嵌入
位置嵌入是序列数据处理中的关键机制,特别是在自然语言任务中,因为它们编码序列中标记的顺序。这种编码使模型能够保持对序列结构的意识,这对于理解上下文和元素之间的关系至关重要。高级位置嵌入已经超越了Transformer架构中使用的原始方法,增强了模型处理长序列、捕捉层次结构以及适应各种数据类型的能力。这些改进使得对位置关系的理解更加细致,从而在需要精细序列理解和生成的任务中表现更好。
绝对位置嵌入
绝对位置编码是Transformer基模型的关键组件,旨在为否则位置无关的注意力机制提供位置信息。这些编码在模型的编码器和解码器部分都被添加到输入嵌入中。在实践中,我们为序列中的每个位置创建一个向量。
其中,π是一个d维向量,表示标记xi的绝对位置。正弦位置编码和可学习位置编码是生成π的两种替代方法。
正弦位置编码——编码是通过不同频率的正弦和余弦函数创建的,每个维度对应一个正弦波,具体为:
正弦位置编码——正弦位置编码采用正弦和余弦函数,与傅里叶变换有着深刻的联系,使模型能够捕获局部和全局的位置信息。编码公式中较小的i值对应高频分量,使模型能够理解相邻标记之间的局部关系,如句子中的词对。相反,较大的i值对应低频分量,使模型能够把握整个序列中更全局的模式。这种双重能力对于理解即时上下文关系和长距离依赖关系(如不同句子中单词之间的联系)至关重要。通过结合高频和低频元素,编码提供了丰富的位置表示,支持模型有效处理复杂的序列数据。
学习位置编码——学习位置编码是表示序列模型中标记位置的另一种方法。在这种方法中,序列中的每个位置都被分配一个唯一的嵌入向量,该向量在训练过程中与其他模型参数一起学习。例如,在一个上下文长度为512且标记嵌入大小为768的模型中,会向模型的可训练参数中添加一个大小为512x768的可学习张量。
这种方法使模型能够自适应地学习为其特定任务(如文本分类或翻译)编码位置信息的最有效方式。与正弦编码相比,学习位置嵌入提供了更大的表达能力,因为它们可以根据当前任务的具体需求进行定制。然而,这种灵活性以增加模型大小和计算复杂度为代价,因为增加了可训练参数。尽管存在这种权衡,但学习位置编码已在BERT和GPT等著名模型中成功实施,证明了它们在各种自然语言处理任务中的有效性。
相对位置嵌入
相对位置嵌入表示在序列模型中编码标记位置的一种复杂方法。与绝对位置编码不同,它们关注的是标记之间相对于其距离的关系,而不是它们在序列中的确切位置。
这种方法与注意力机制的操作非常契合,因为注意力机制会根据标记之间的相对位置来计算其他标记对于每个特定标记的重要性。位置m和n之间的相对距离通常表示为r = clip(m-n, Rmin, Rmax),其中最大相对位置会被截断。这种截断假设在超过一定距离后,精确的相对位置变得不那么重要,并使模型能够泛化到训练期间未遇到的序列长度。
相对位置嵌入具有以下几个优点:
然而,这种方法可能会错过标记绝对位置中的一些有用信息,例如序列中第一个标记的位置。
相对位置嵌入已在包括Transformer-XL和T5在内的各种模型中成功实施,证明了它们在改进涉及长序列或需要泛化到不同序列长度的任务上的模型性能方面的有效性。
旋转位置嵌入(RoPE)
旋转位置嵌入(Rotary Position Embedding,RoPE)是一种在Transformer模型中融入位置信息的创新方法。它利用旋转矩阵来编码标记的绝对位置,同时在自注意力公式中保留相对位置关系。RoPE背后的关键思想是基于标记在序列中的位置,在高维空间中旋转词向量,结合了绝对嵌入和相对嵌入的优点。RoPE通过修改每一层的注意力权重计算来融入位置信息,而不是将位置信息添加到标记嵌入中,即:
这种方法具有以下几个优点:
值得注意的是,旋转位置编码(RoPE)并不在注意力模块的值中添加位置信息。注意力模块的输出是值向量的加权和,这意味着每个Transformer层的输出并不包含明确的位置细节。
由于其有效性,RoPE已被LLaMA和GPT-NeoX等流行语言模型采用。它结合了绝对位置嵌入和相对位置嵌入的优势,同时解决了它们各自的局限性,是Transformer架构的重大进步。
带线性偏置的注意力(ALiBi)
带线性偏置的注意力(ALiBi)修改了网络中注意力子层计算注意力分数的方式。ALiBi在查询-键点积后引入了一个静态的、非学习的偏置,用于计算注意力分数。这种偏置以头特定的斜率形式添加,该斜率在训练前确定,为模型中的不同头创建一个几何序列的斜率。该方法对近期性具有归纳偏置,对远距离查询-键对的注意力分数进行惩罚,且随着距离的增加,惩罚也随之增加。它利用不同头之间基于斜率大小的惩罚增长率差异。它会对注意力权重分数添加一个与标记之间距离成比例的惩罚。因此,每一层中标记i和j之间的注意力分数计算为:
注意力分数 = query_i . key_j — m.(i-j)
其中,-m.(i-j)是与标记i和j之间距离成比例的惩罚。标量m是训练前固定的头特定斜率,不同头的m值选择为几何序列。例如,对于8个头,m可能是:
这意味着,第一个头的m值相对较大,因此对相距较远的标记惩罚更多,更关注近期的标记,而第八个头的m值最小,使其能够关注到更远的标记。
核化相对位置嵌入(Kerple)
长度外推核化相对位置嵌入(KERPLE)是一个创新框架,用于增强Transformer模型中的相对位置嵌入(RPE)。KERPLE通过使用条件正定(CPD)核来对位置差异进行核化处理,从而推广了相对位置嵌入。这些CPD核通过添加一个常数偏移量被转换为正定(PD)核,该偏移量在Transformer自注意力机制中的softmax归一化过程中被吸收。这种方法允许使用多种RPE,以原则性的方式促进长度外推。KERPLE是位置嵌入技术的一项重大进步,为Transformer模型在处理可变长度序列时提供了更好的性能和灵活性。
位置嵌入的局限性
Transformer模型中的位置嵌入面临几个局限性,特别是在外推能力方面——即处理比训练时见过的序列更长的序列的能力。虽然Transformer在理论上对输入长度是无关的,但由于其位置编码方法的限制,其性能往往会随着序列长度的增加而下降。不同的位置嵌入技术在外推能力上表现出不同的能力:
为了解决这些局限性,引入了新方法,如位置插值(PI)。PI旨在通过插值将位置索引减少到与初始上下文窗口大小对齐,从而扩展基于RoPE的模型的上下文窗口大小。
ALiBi的作者证明,Transformer外推的瓶颈在于其位置嵌入方法。如图3所示,他们比较了不同位置嵌入方法的外推能力。由于学习的位置嵌入无法编码超过训练长度的位置,因此它不具备外推能力。
外推:随着输入序列变长(x轴),正弦、RoPE和T5位置编码的困惑度(y轴,越低越好)有所下降,而ALiBi则没有。
在实际应用中,正弦位置嵌入的外推能力非常有限。虽然RoPE优于正弦嵌入,但其结果仍不令人满意。T5偏置方法(一种相对位置嵌入的版本)比正弦和RoPE嵌入具有更好的外推能力。不幸的是,T5偏置的计算成本很高。ALiBi在所有这些位置嵌入中表现最佳,且内存增加微乎其微(0~0.7%)。
正弦、RoPE、T5和ALiBi位置编码在批量训练、推理速度和内存使用方面的比较。
位置嵌入方法的选择对模型在推理时处理更长序列的能力有着显著影响,而ALiBi目前在平衡性能和计算效率方面表现出了最有前景的结果。
结论
在Transformer架构中编码位置信息的方法对于其处理序列数据以及在推理时外推到更长序列的能力起着至关重要的作用。传统的绝对位置嵌入技术虽然提供了位置感知能力,但在处理比训练时遇到的序列更长的序列时,往往会面临挑战。这一局限性促进了更先进的位置编码方法的发展。诸如相对位置编码、旋转位置嵌入(RoPE)和带线性偏置的注意力(ALiBi)等较新的方法在推理时处理更长序列的能力方面表现出了改进。随着Transformer在各种应用中的日益普及,持续完善位置编码技术对于突破其性能边界以及提高对不同序列长度和任务的适应性至关重要。