Transformer 架构是一种神经网络设计,于 2017 年引入,用于自然语言处理 (NLP) 任务。与循环神经网络 (RNN) 或长短期记忆 (LSTM) 网络等早期模型不同,Transformer 并行处理整个数据序列(例如句子),而不是按顺序处理。这种设计消除了顺序计算的瓶颈,使得训练更快、更高效。Transformer 的关键组成部分包括自注意力机制、位置编码以及分为编码器和解码器堆栈的结构。编码器处理输入数据以构建上下文表示,而解码器根据这些表示生成输出。例如,在翻译任务中,编码器分析源语言句子,解码器逐字生成翻译后的句子。
Transformer 的核心是自注意力机制,它允许模型衡量序列中不同词语之间的相对重要性。例如,在句子“The cat sat on the mat because it was tired”(猫坐在垫子上,因为它累了)中,自注意力机制通过计算所有词对之间的关系,帮助模型识别出“it”(它)指的是“cat”(猫)。每个词语的表示都会根据其与其他词语的交互进行更新,相比固定窗口方法,这能更有效地捕获上下文。此外,多头注意力机制通过并行运行多个自注意力操作来扩展此功能,使模型能够专注于不同类型的关系(例如,语法关系 vs. 语义关系)。为了处理并行处理中固有的词语顺序缺失问题,位置编码被添加到输入嵌入中,提供关于序列中每个词语位置的信息。这些编码使用数学函数(如正弦和余弦)生成唯一的位置向量。
Transformer 已成为许多最先进的 NLP 模型的基础。例如,BERT 使用编码器堆栈创建双向上下文表示,在问答等任务中表现出色。GPT 模型利用解码器堆栈进行自回归文本生成,预测序列中的下一个词。开发者经常使用 Hugging Face 的 Transformers 等库来微调预训练模型(例如,用于情感分析的 BERT 或用于摘要的 T5)。该架构的高效率和可扩展性也使其能够适应文本以外的应用,例如计算机视觉任务 (ViT) 或多模态应用。通过实现并行计算和捕获长程依赖,Transformer 克服了早期模型的局限性,同时保持了对各种用例的灵活性。其模块化设计——例如可互换的编码器/解码器层——允许针对特定任务进行定制,而无需进行重大的架构更改。