Transformer 架构相对于早期的 RNN 显著提高了自然语言任务的性能,以其独特的注意机制和并行处理能力而闻名,是对理解和生成人类语言的创新飞跃的证明,其准确性和效率前所未有。其不仅重新定义了自然语言处理(NLP)的标准,而且拓宽了发展领域,革新了人工智能的许多方面。本文回顾 Transformer 经典架构的解码器原理与应用,温故知新。
解码器结构
解码器是 Transformer 架构的另一个基本组件,解码器的作用集中在构建文本序列上。与编码器相似,解码器配备了一组类似的子层。它拥有两个多头注意力层,一个前馈神经网络层,并在每个子层后都包含残差连接和层归一化。
这些组件的功能类似于编码器层,但有一个小变化:解码器中的每个多头注意力层都有其独特的任务。Transformer 解码器具有专门设计的结构,可以逐步解码编码信息以生成输出。
解码器以自回归的方式运行,通过启动标记 (token) 来启动其过程。它巧妙地使用先前生成的输出列表作为其输入,与来自编码器的输出一起使用,编码器的输出富含来自初始输入的注意力信息,解码过程一直持续到解码器输出创建结束的标记。
工作流分解
输出嵌入
嵌入 (Embeddings) 过程与编码器的过程相似,同样发生在最底层的解码器中。在这里,输入首先经过嵌入层。
位置编码
在嵌入之后,同样就像编码器一样,输入经过位置编码层,产生这个序列的位置嵌入。
这些位置嵌入被导入到解码器的第一个多头注意力层中,那里会精确计算与解码器输入相关的注意力分数。
解码器层的堆栈结构
解码器由一堆相同的解码器层组成(原始 Transformer 模型中有 6 层)。每一层都有 3 个主要的子组件。
掩码自注意机制
这类似于编码器中的自注意力机制,但有一个关键的区别,掩码自注意机制阻止位置关注后续位置,这意味着序列中的每个单词不受未来标记的影响。这种掩码确保特定位置的预测只能依赖于它之前位置的已知输出。
多头注意力
在解码器的第二个多头注意力层中,我们看到编码器和解码器组件之间独特的相互作用。在这里,编码器的输出扮演查询 (query, Q) 和关键字 (key, K) 的角色,而将解码器第一个多头注意力层的输出则作为值 (value, V)。
这个设定有效地将编码器的输入与解码器对齐,使解码器能够识别并强调编码器输入中最相关的部分。之后,来自第二层多头注意力的输出经过前馈神经网络层的加工,进一步增强了处理能力。
在这个子层中,Q 来自前一个解码器层,而 K 和 V 来自编码器的输出。这使得解码器中的每个位置都可以关注输入序列中的所有位置,有效地将编码器中的信息与解码器中的信息整合在一起。
前馈神经网络
与编码器类似,每个解码器层都包括一个全连接的前馈网络,分别应用于每个位置。通过前馈神经网络的指引,进行标准化残差输出,这是额外细化的关键阶段。将这个网络想象成一对线性层,它们之间嵌入了一个起到桥梁作用的 ReLU 激活函数,处理完毕后的输出循环回来与前馈神经网络的输入合并。之后,又进行了一轮规范化,确保一切都调整好,为接下来的步骤做好同步。
线性层与 Softmax 层
数据最终通过作为分类器的线性层,该分类器的大小对应于涉及的类别总数(词汇表中包含的单词数)。例如,在一个包含 1000 个不同类别代表 1000 个不同单词的情景中,分类器的输出将是一个包含 1000 个元素的数组。
然后将这个输出引入到一个 Softmax 层,将其转换为一系列概率分数,每个分数都介于 0 和 1 之间。其中最高的概率分数是关键的,其对应的索引直接指向模型预测为序列中下一个单词的位置。
规一化和残差连接
每个解码器子层后面都跟着一个归一化步骤,并且每个子层还包括一个绕过它的残差连接。
解码器的输出
最终层的输出经过线性层转换成预测序列,通常接着使用 Softmax 生成词汇的概率。解码器在其操作流程中将新生成的输出合并到其不断增长的输入列表中,然后继续解码过程。这个循环重复进行,直到模型预测出特定的标记,表示过程完成。以最高概率预测的标记被指定为最终类别,通常由结束标记表示。
值得一提的是,解码器层不限于单层,它可以由 N 层结构组成,每一层都建立在来自编码器和其前一层的输入之上。这种分层架构使模型能够多样化其关注重点,并在其注意力头部之间提取不同的注意力模式。这种多层次的方法可以显著增强模型的预测能力,因为它可以更细致地理解不同的注意力组合。
解码器应用
解码器优势
从比较偏颇的一个层面上来说,Transformer 的解码器架构是 Transformer 的核心。解码器架构通常缺乏来自任何编码器的条件信号,输入序列直接送入解码器,解码器通过自注意机制关注输入序列生成输出序列。该架构用于基于固定输入生成输出数据。输入可以是提示 (Prompt),如一段文本或一幅图像的某些部分缺失,输出是基于该提示生成的。
解码器场景
从目前的 Transformer 架构发展情况来看,解码器架构比编码器架构和编码器-解码器架构更胜一筹,生成信息比分类任务和序列到序列任务更接近于 AGI 的实现。事实也证明,训练模型以预测下一个词会促进出现新的特性和更高效的文本表示,甚至比编码器-解码器和仅编码器模型更好。
解码器模型
GPT (Generative Pre-trained Transformer) 系列
GPT 是解码器模型中最著名的例子之一,在语言生成方面的出色能力引起了广泛关注。GPT 的架构使其能够根据之前的标记预测序列中的下一个标记,从而使其能够编写叙述,生成文本,并对提示做出上下文回应。GPT 为依赖于文本生成和连贯序列创建的创新应用打开了大门,该模型展示了仅解码器架构模拟人类语言生成的潜力,使其成为各种创意任务中不可或缺的工具。
LLaMA (Large Language Model by Meta) 系列
LLaMA 是由Meta AI 开发的一款大型语言模型,它是为了探索和优化自然语言处理任务的能力而设计的。LLaMA 模型的发布目的在于提供一个高效、性能卓越的工具,旨在通过深度学习和大规模数据预训练来理解和生成自然语言。
结语
通过相关研究,我们对 Transformer 解码器架构有了更深入的了解。展望未来,随着 Transformer 架构应用的不断深入,我们有理由相信,大语言模型将在更多领域取得突破性进展,为人类社会带来更多的便利和福祉。