大语言模型入门:什么是 Transformer – 讲座总结

大语言模型入门:什么是 Transformer – 讲座总结

今天我们使用ChatGPT、Claude、Gemini以及各种开源大语言模型时,经常会接触到许多技术名词,例如大语言模型、RAG、Agent、多模态、AI编程等。对于初学者而言,这些概念容易显得零散而复杂。

如果希望从根本上理解现代大语言模型,就必须了解一个非常重要的基础架构——Transformer。

Transformer并不是某一个具体的大语言模型,也不是一个独立的应用程序,而是一种深度学习神经网络架构。2017年,Google研究团队发表论文《Attention Is All You Need》,提出了Transformer架构。此后,这一架构逐渐成为自然语言处理领域的重要基础,并进一步成为GPT等现代生成式大语言模型的核心技术基础。

需要注意的是,现代大语言模型并不只是简单地“使用Transformer”。在Transformer基础架构之上,还需要经过大规模预训练、指令微调、对齐、推理优化等一系列工程和算法处理,最终才能形成我们今天看到的完整AI产品。

因此,理解Transformer,是理解大语言模型工作机制的重要入口。

一、大语言模型究竟在做什么

理解Transformer之前,首先需要理解语言模型的基本任务。

从最基本的角度来看,自回归语言模型的核心任务是:根据已经出现的Token,预测下一个Token。

例如,一句话已经出现“今天天气非常”,模型需要预测接下来最可能出现的Token。模型并不是简单地从词典中随机选择一个词,而是根据此前的上下文计算不同候选Token的概率分布。

假设模型词表中存在大量候选Token,那么对于给定上下文,模型会为不同候选Token计算相应的概率。最终系统可以根据这些概率选择下一个Token。

生成长文本实际上就是这一过程的不断重复:

根据已有上下文预测下一个Token,再把新生成的Token加入上下文,继续预测下一个Token。

因此,从计算机制上看,生成一篇长文章可以被理解为连续进行多次“下一Token预测”。

这件事情本身看起来非常简单,但真正困难的是:模型必须学会语言中的语法、语义、上下文关系、事实关联以及各种复杂模式,才能使下一Token预测具有足够高的质量。

二、为什么不能把语言模型简单理解成一个统计词典

如果只从概率统计角度理解语言模型,似乎可以建立一个非常庞大的条件概率模型。

例如,根据前面出现的几个词,统计下一个词出现的概率。

但自然语言远比简单的词频统计复杂。

首先,语言存在语法结构。一个词是否合理,不仅取决于附近的词,还取决于整个句子的结构。

其次,语言具有语义关系。某些词虽然距离很远,却可能存在非常重要的语义联系。

再次,语言存在长距离依赖。例如一个句子前面出现的主体,可能直到很久之后才与某个动词形成语义关系。

此外,真实文本长度很长。如果仅仅依靠传统的序列统计方式处理长文本,计算效率和信息保存能力都会面临巨大挑战。

Transformer的意义之一,就是提供了一种更加有效的方式,让模型能够计算序列中不同Token之间的关系。

其中最核心的机制,就是Attention。

三、Transformer之前:RNN试图如何处理语言

在Transformer出现之前,循环神经网络(RNN)是处理序列数据的重要神经网络架构。

RNN的核心思想,是按照序列顺序逐步处理输入。

例如,对于一句话,模型先处理第一个Token,再处理第二个Token,同时把前一步产生的隐藏状态传递给下一步。

因此,后面的Token在处理过程中可以获得前面Token的信息。

这种机制非常适合处理时间序列、文本等具有顺序结构的数据。

但RNN存在明显局限。

第一个问题是长距离依赖。

当一个句子非常长时,前面的信息需要经过许多次状态传递才能影响后面的Token。在训练深层或长序列模型时,信息可能逐渐减弱,导致模型难以有效利用很久以前的信息。

第二个问题是训练过程中的并行化困难。

由于后一个时间步依赖前一个时间步的计算结果,传统RNN难以像Transformer那样对整个序列进行高度并行的训练。这在大规模数据和大规模模型训练时代尤其重要。

第三个问题是信息压缩。

在经典RNN结构中,过去的信息主要通过隐藏状态向后传递。如果需要让后面的Token利用大量早期信息,就容易形成信息瓶颈。

为了解决部分问题,研究人员提出了LSTM和GRU等改进架构。它们通过更加复杂的门控机制改善信息保存和梯度传播问题。

但这些改进并没有从根本上改变RNN按序列逐步处理的基本方式。

Transformer则采用了完全不同的思路。

四、Attention:让模型直接寻找重要信息

Transformer最重要的创新之一,是Attention机制。

Attention可以直观理解为:当模型处理某个Token时,不再只依赖距离很近的信息,而是可以根据当前任务需要关注序列中的其他Token。

例如,一句话中出现“动物没有过马路,因为它太累了”。

这里的“它”到底指向什么,需要结合上下文进行判断。

“它”与“动物”之间存在明显的指代关系。虽然两个Token之间可能隔着其他词,但模型仍然需要建立这种联系。

Attention机制的核心,就是计算不同Token之间的关联程度,并根据关联程度决定哪些信息更加重要。

因此,Attention并不是简单地“寻找关键词”,而是通过可学习的权重,对上下文中的不同表示进行加权组合。

五、Self-Attention到底是什么

Self-Attention,即自注意力,是Transformer中的核心机制。

所谓“Self”,指的是注意力计算发生在同一个序列内部。

例如,一个句子包含多个Token。对于其中某个Token,模型会计算它与序列中其他Token之间的关联程度。

Self-Attention通常通过Query、Key和Value,也就是Q、K、V三个表示来实现。

可以用一个图书馆的例子帮助理解。

Query可以理解为“我正在寻找什么信息”。

Key可以理解为“每条信息具有什么特征,可以用来进行匹配”。

Value则可以理解为“如果匹配成功,我真正要取走的信息是什么”。

对于某个Token,模型首先产生Query,然后与其他Token的Key进行匹配,得到相应的注意力分数。分数经过缩放和Softmax处理后形成注意力权重,再利用这些权重对Value进行加权组合。

最终得到的结果,就是该Token融合上下文信息之后的新表示。

这就是Self-Attention的基本思想。

六、Q、K、V为什么需要三个不同的表示

Q、K、V并不是三个固定不变的人工定义矩阵,而是由输入表示经过不同的可学习线性变换得到的表示。

假设一个Token经过Embedding之后形成向量,那么这个向量会分别经过不同的参数矩阵,生成Query、Key和Value。

之所以需要三种表示,是因为“寻找信息”“匹配信息”和“传递信息”在功能上并不完全相同。

Query代表当前Token希望寻找什么。

Key代表其他Token可以提供什么样的信息线索。

Value则代表真正用于聚合的信息内容。

Attention首先通过Query和Key计算相关程度,再利用这些相关程度对Value进行加权。

其核心计算可以概括为:Attention = Softmax(Q与K的缩放相似度)× V。

其中缩放操作通常使用Key向量维度的平方根进行归一化,这是Scaled Dot-Product Attention的重要组成部分。

这样做有助于控制点积数值的尺度,使训练更加稳定。

七、Softmax究竟发挥什么作用

Q和K之间的计算首先得到的是一组原始分数。

这些分数本身并不是概率。

Softmax的作用之一,是把一组分数转换成归一化的权重,使每一行权重通常为非负且总和为1。

因此,对于一个Token来说,模型可以得到对其他Token的注意力权重。

权重较高,意味着当前计算更倾向于利用对应Token的信息;权重较低,则意味着利用程度相对较小。

需要注意的是,Attention权重不能简单解释为人类意义上的“模型真正理解了什么”。它是神经网络计算中的一种权重分配机制,能够提供一定的可解释线索,但不能单独证明模型的完整推理过程。

八、为什么需要Mask

在GPT这一类自回归语言模型中,模型的任务是预测下一个Token。

因此,当模型预测当前位置时,不能提前看到未来Token。

例如,模型正在预测第三个Token,就不应该直接使用第四、第五个Token的信息,否则训练目标会发生信息泄露。

因此,Transformer中的自回归Decoder通常使用因果Mask,也称Causal Mask。

它会阻止当前位置关注未来位置,只允许模型利用当前Token之前的上下文以及当前位置允许使用的信息。

这使模型能够在训练阶段并行计算整个序列,同时保持自回归预测所需要的信息约束。

这是Transformer相对于传统RNN非常重要的优势之一:训练过程可以对整个序列进行高度并行化,同时通过Mask保持正确的因果关系。

九、Multi-Head Attention为什么重要

单独使用一个Attention机制,可能不足以同时捕捉语言中的各种关系。

自然语言包含很多不同类型的信息,例如语法关系、语义关系、指代关系以及局部和远距离依赖。

因此,Transformer引入了Multi-Head Attention,即多头注意力。

多头注意力并不是简单地把一个向量机械地切成几块,然后让每一块独立学习。更准确地说,模型会通过不同的、可学习的投影,将输入表示映射到多个不同的表示子空间,在每个子空间中分别进行Attention计算,最后再将各个Head的结果组合起来。

这样做允许不同的Head学习不同类型的Token关系。

例如,某些注意力头可能更加关注局部语法结构,某些可能更加关注长距离关系,另一些可能捕捉语义或指代等模式。

但需要强调的是,并不能简单地规定“某一个Head一定负责语法、另一个Head一定负责语义”。实际模型中的Head功能通常更加复杂,并且会随模型、训练过程和任务而变化。

十、位置编码:模型为什么需要知道Token顺序

Attention本身并不天然理解Token的顺序。

如果只把一组Token作为集合进行处理,那么“我爱你”和“你爱我”可能无法仅靠Token集合本身区分顺序关系。

语言中的顺序非常重要。

因此,Transformer需要某种形式的位置信息。

原始Transformer使用Positional Encoding,也就是位置编码,将Token在序列中的位置信息注入模型表示。

后来的大语言模型采用了多种不同的位置表示方法,例如RoPE(Rotary Position Embedding,旋转位置编码)等。

因此,“位置编码”是一个广义概念,现代模型并不一定使用原始Transformer论文中的正弦、余弦位置编码。

位置表示对于处理长上下文尤其重要,因为模型不仅需要知道“出现了哪些Token”,还需要知道它们在序列中的相对或绝对位置关系。

十一、Transformer为什么不仅有Attention

Attention非常重要,但Transformer并不是只有Attention。

一个典型Transformer层还包含前馈神经网络(Feed-Forward Network,FFN)、残差连接以及归一化层等重要组件。

Attention主要负责让不同Token之间交换和融合信息。

而FFN则对每个位置的表示进行进一步的非线性变换。

可以简单理解为:Attention负责“信息交流”,FFN负责对融合后的表示进行进一步加工。

与此同时,残差连接有助于信息和梯度在深层网络中传播,使非常深的Transformer更容易训练。

Layer Normalization则有助于改善训练稳定性。

这些组件共同组成Transformer Block,并通过大量Block堆叠形成完整的Transformer网络。

因此,Transformer的成功并不是Attention单独带来的,而是多种架构设计共同作用的结果。

十二、Encoder与Decoder:Transformer最初的完整架构

2017年的原始Transformer采用Encoder-Decoder架构。

Encoder负责理解输入序列,将其转换为具有上下文信息的表示。

Decoder则根据Encoder提供的信息逐步生成目标序列。

这种结构非常适合机器翻译等Sequence-to-Sequence任务。

例如,输入英文句子,Encoder首先处理英文内容,Decoder再根据Encoder表示生成中文翻译。

但后来的大语言模型并没有全部采用完整的Encoder-Decoder结构。

不同模型可以采用Transformer的不同部分。

例如,BERT主要采用Encoder架构,并通过掩码语言建模等目标进行预训练,更侧重语言理解。

GPT系列模型则采用Decoder-only,即仅使用Decoder部分的自回归Transformer架构,更适合连续文本生成。

因此,不能简单说“Transformer就是Encoder加Decoder”。更准确的说法是:Transformer最初提出的是Encoder-Decoder架构,而后续模型根据任务需求采用了不同的Transformer变体。

十三、为什么Decoder-only架构成为生成式AI的重要路线

生成式人工智能的核心任务之一,是根据已有上下文不断生成新的Token。

这与Decoder-only Transformer的自回归机制天然匹配。

模型可以看到当前位置之前的上下文,然后预测下一个Token,再将生成结果加入上下文,继续预测。

经过大规模预训练之后,模型可以在大量文本中学习语言规律以及广泛的知识和模式。

随后,通过指令微调、偏好优化、对齐等方法,可以进一步让模型更好地遵循用户指令。

因此,我们今天看到的聊天机器人、文本生成工具以及许多AI编程工具,其底层通常并不是简单地“直接使用2017年的原始Transformer”,而是在Transformer思想和架构基础上发展出来的现代大语言模型。

十四、Transformer只是基础,真正的大语言模型还需要更多训练

理解这一点非常重要。

如果只构建一个Transformer网络,并不能自动得到ChatGPT这样的产品。

现代大语言模型通常需要经过大规模预训练。

预训练阶段使用海量文本等数据,使模型通过语言建模目标学习参数。

对于自回归语言模型而言,一个核心目标就是根据前文预测后续Token。

经过大规模训练后,模型形成强大的语言表示和生成能力。

但预训练模型未必能够很好地遵循用户指令。因此,还需要后续的模型适配过程。

其中包括监督微调(SFT)、偏好优化以及其他对齐方法。

此外,还可以通过RAG为模型提供外部知识,通过工具调用让模型与外部系统交互,通过Agent框架让模型完成多步骤任务。

因此,现代AI应用可以理解为一个层层构建的系统:Transformer提供基础模型架构,大规模预训练形成通用能力,后续适配和工程系统则进一步把这种能力转化为具体应用。

十五、从Transformer到今天的AI应用

从技术发展路径来看,Transformer带来的影响远远超出了自然语言处理本身。

它首先推动了大规模语言模型的发展,随后又影响了视觉、多模态以及其他序列建模领域。

今天我们经常听到的RAG、Agent、Context Engineering、AI Coding等概念,大多建立在大语言模型能力之上。

例如,RAG解决的是如何将外部知识提供给模型;Context Engineering关注如何组织模型能够看到的上下文;Agent则进一步让模型调用工具并完成多步骤任务。

这些技术虽然处于不同层次,但底层都可以追溯到大语言模型的能力。

因此,理解Transformer的意义,并不是要求每一位AI应用工程师都成为模型训练专家,而是帮助我们建立完整的技术认知:知道大语言模型的核心能力从何而来,也知道应用层技术是在什么基础之上构建起来的。

十六、学习Transformer究竟需要掌握到什么程度

对于不同技术岗位,学习Transformer的深度并不需要完全相同。

如果只是使用大语言模型API进行AI应用开发,那么理解Token、Embedding、Attention、Self-Attention、QKV、Multi-Head Attention、Mask、位置表示、Transformer Block以及Decoder-only架构等核心概念,通常已经能够建立比较完整的基础认知。

如果希望成为LLM应用工程师,则需要进一步学习RAG、Prompt Engineering、Context Engineering、Agent、Tool Calling、Evaluation以及部署等内容。

如果希望从事模型训练、微调、推理优化或者AI基础设施,则需要更加深入地学习Transformer内部计算、优化算法、分布式训练、显存管理和推理性能等问题。

因此,学习Transformer的目标应该与职业方向相匹配。

结语:Transformer改变的不只是模型,更是AI的发展路径

2017年,《Attention Is All You Need》提出Transformer之后,人工智能的发展路径发生了重要变化。

Transformer通过Self-Attention让模型能够更加直接地建立序列内部不同位置之间的关系,同时通过高度并行化的计算方式解决了传统RNN在大规模训练中的部分瓶颈。

Q、K、V构成了Attention计算的重要基础;Multi-Head Attention让模型能够在不同表示子空间中学习多种关系;位置表示帮助模型处理序列顺序;FFN、残差连接和归一化等组件则共同保证深层网络能够有效训练。

更重要的是,Transformer并不是一个孤立的算法,而是一种能够持续扩展的神经网络架构。GPT、BERT以及后来的各种大语言模型采用了不同的Transformer变体,并通过预训练、微调、对齐、检索、工具调用和Agent架构不断扩展模型的能力。

今天我们看到的生成式人工智能,并不是某一个单独技术突然产生的结果,而是深度学习、Transformer、大规模数据、计算基础设施和模型工程长期发展的综合成果。

因此,如果希望真正理解大语言模型,Transformer是一个绕不开的基础概念。理解它,并不意味着必须掌握每一条数学公式,而是要建立一个清晰的技术框架:模型如何表示语言,如何通过Attention建立上下文关系,如何预测下一个Token,以及如何在Transformer基础之上进一步发展成为现代大语言模型。

从这个角度看,Transformer不仅是大语言模型的重要技术基础,也是理解当代生成式人工智能发展逻辑的一把关键钥匙。

感谢阅读!你还可以订阅我们的YouTube频道,观看大量大数据行业相关公开课:https://www.youtube.com/channel/UCa8NLpvi70mHVsW4J_x9OeQ;在LinkedIn上关注我们,扩展你的人际网络!https://www.linkedin.com/company/dataapplab/

点击免费看往期公开课回放视频:https://study.dataapplab.com/course?courseid=llm-webinars