Transformer 架构彻底改变了 NLP,这主要是因为 Transformer 有效地解决了以往 NLP 模型(如 RNN)的一个关键局限性:它们在处理长文本序列和在这些长度的文本序列中保持上下文时所面临的困难。换句话说,RNN 往往会遗忘较长文本序列中的上下文(即臭名昭著的 “灾难性遗忘”),而 Transformer 则能有效处理和编码上下文。

这场革命的核心支柱是注意力机制,这是一个简单而强大的理念。该模型不是将文本序列中的所有单词视为同等重要,而是"关注"其任务每一步中最相关的术语。交叉注意和自我注意是基于这种注意机制的两个架构模块,它们经常出现在 LLM 中。Transformer 架构广泛使用了这些交叉注意和自我注意模块。

交叉关注有助于模型确定输入文本不同部分的相关性,从而准确预测输出文本中的下一个单词。它就像一盏聚光灯,照亮输入文本中的单词或短语。突出显示预测下一个单词所需的相关信息,而忽略不那么重要的细节。

为了说明这一点,让我们以一个简单的句子翻译任务为例。假设我们有一个输入的英语句子,“Alice enjoyed the sunny weather in Brussels”,它被翻译成法语,“Alice a profité du temps ensoleillé à Bruxelles”。在这个例子中,重点生成法语单词 ensoleillé,它的意思是阳光明媚。对于这个预测,交叉注意会更多地考虑英语单词 sunny 和 weather,因为它们都与 ensoleillé 的意思相关。通过关注这两个词,交叉注意可以帮助模型为这部分句子生成准确的翻译。

自我关注指的是模型关注输入文本不同部分的能力。在 NLP 的语境中,模型可以评估句子中每个单词与其他单词的重要性。这可以让模型更好地理解词语之间的关系,并帮助模型从输入文本中的多个词语中建立新的概念。

举一个更具体的例子: “Alice received praise from her colleagues."。假设模型正试图理解句子中 “her” 一词的含义。自我注意机制会给句子中的单词分配不同的权重,在这种情况下突出与 her 相关的单词。在这个例子中,自我注意力会给 Alice 和 colleagues 这两个词更多的权重。自我关注可以帮助模型从这些词语中建立新的概念。在本例中,可能出现的概念之一是 “Alice’s colleagues”。

与递归架构不同,Transformer 还具有易于并行化的优势。这意味着 Transformer 架构可以同时而不是按顺序处理输入文本的多个部分。这可以加快计算和训练速度,因为模型的不同部分可以并行工作,而无需等待前面的步骤完成,这与需要顺序处理的递归架构不同。Transformer 模型的并行处理能力与图形处理器(GPU)的架构完美契合,后者旨在同时处理多项计算。因此,GPU 凭借其高度并行性和计算能力,成为训练和运行这些 Transformer 模型的理想选择。这一进步使数据科学家能够在更大的数据集上训练模型,为开发 LLM 铺平了道路。

谷歌的 Vaswani 等人在 2017 年发表的论文《Attention Is All You Need》中介绍了 Transformer 架构,该架构最初是为机器翻译等序列到序列任务而开发的。标准 Transformer 由两个主要部分组成:编码器和解码器,这两个部分都在很大程度上依赖于注意力机制。编码器的任务是处理输入文本,识别有价值的特征,并生成有意义的文本表示,即嵌入。然后,解码器利用这种嵌入产生输出,如翻译或摘要。该输出可有效解释编码信息。

生成式预训练 Transformer(通常称为 GPT)是基于 Transformer 架构的模型系列,它特别利用了原始架构中的解码器部分。在 GPT 中,编码器并不存在,因此无需交叉关注来整合编码器生成的嵌入。因此,GPT 完全依靠解码器中的自我注意机制来生成上下文感知表征和预测。请注意,其他著名的模型,如 BERT(来自 Transformer 的双向编码器表征),都是基于编码器部分的。