NLP自然语言处理-Transformer介绍 作者:马育民 • 2025-12-28 11:18 • 阅读:10000 # 介绍 Transformer 是 **2017年谷歌团队在论文《Attention Is All You Need》中提出的一种神经网络模型**,专门为**自然语言处理(NLP)** 设计,是**当前所有NLP技术的基石**,没有之一。 关系梳理(你之前学的NLP知识点衔接): 1. Transformer 属于 **NLP深度学习阶段的核心模型**,彻底替代了之前的RNN/LSTM/GRU等序列模型; 2. **所有大语言模型(LLM):GPT系列、LLaMA、文心一言、通义千问、Claude、百川**,底层架构**全部都是Transformer**(只是做了结构微调、堆叠层数、增大参数量); 3. 不仅是NLP,Transformer现在已经渗透到**计算机视觉(CV)、语音、多模态(文本+图片)** 等所有AI领域,成为AI的 **通用基础架构** ### 论文《Attention Is All You Need》 我们只需要 **注意力机制**,就足够解决NLP的核心问题,循环结构可以完全抛弃。 ### 一句话总结 **Transformer = 现代AI的地基,学懂Transformer,就看懂了90%的大模型原理**。 --- # 为什么会诞生Transformer? 在Transformer出现之前(2017年前),NLP的深度学习模型主流是 **RNN、LSTM、GRU**(循环神经网络),这类模型是当时处理文本的核心,但有**致命的3个缺陷**,也是Transformer被发明的核心原因: ### 缺陷1:只能「串行计算」,速度极慢 文本是**序列数据**(比如一句话:我→爱→中国,有先后顺序),RNN类模型必须**从左到右逐个处理每个词**,处理完第1个词才能处理第2个,处理完第n个词才能得到整句话的特征。 **问题:**面对长文本(比如一篇文章、一本书),串行计算的效率极低,**无法并行化**,GPU的算力优势完全发挥不出来。 ### 缺陷2:长文本「信息遗忘/梯度消失」,理解能力差 LSTM/GRU虽然解决了基础RNN的梯度消失问题,但对于**超长文本**(比如超过500个词),依然会出现「远距离依赖失效」:句子开头的词和结尾的词,模型无法建立关联。 **问题:**比如一句话「小明在学校遇到了小红,她给了他一颗糖」,模型无法准确判断「她」是小红、「他」是小明,对长文本的语义理解能力弱。 ### 缺陷3:注意力能力弱,无法聚焦核心信息 人类读句子时,会**自动聚焦重点**:比如读「我爱吃苹果,不爱吃香蕉」,会重点关注「苹果」「香蕉」「爱」「不爱」;但RNN类模型对每个词的关注度几乎一致,无法对关键信息加权,理解精度低。 ### ✅ Transformer的核心解决思路 **抛弃循环结构,完全基于「自注意力机制(Self-Attention)」+「全并行计算」**,一举解决以上所有问题: 1. 所有词**同时处理**,充分利用GPU并行算力,速度提升百倍; 2. 能轻松捕捉**任意距离的词之间的关联**,长文本理解能力拉满; 3. 用注意力机制给每个词分配「权重」,自动聚焦核心信息,理解精度大幅提升。 # 概念 Transformer的核心是 **注意力机制**,所有复杂结构都是基于这3个基础概念搭建的 ### 概念1:词嵌入(Embedding) 把文字变成 **机器能看懂的数字**,这是**所有NLP模型的第一步**,也是你之前学过的知识点(Word2Vec),Transformer也完全复用这个逻辑: - 人类的文字(我、爱、中国、apple)是离散的符号,计算机无法理解,必须转换成**连续的向量(一组数字)**; - 这个向量就叫「词嵌入向量」,核心特点:**语义相近的词,向量也相近**。 例:「苹果」和「水果」的向量相似度高,「苹果」和「电脑」的向量有一定关联,「苹果」和「汽车」的向量几乎无关。 - Transformer中,除了**词嵌入**,还会加一个「位置编码(Positional Encoding)」,这是关键补充: → 因为Transformer是**并行计算**,没有顺序概念,模型不知道「我爱吃中国」和「中国爱吃我」的区别,**位置编码就是给每个词的向量加一个「位置信息」**,让模型能识别文本的顺序。 → 最终每个词的输入 = **词嵌入向量 + 位置编码向量**。 ### 概念2:注意力机制(Attention) 让模型 **读懂上下文,聚焦重点**,**注意力机制是Transformer的灵魂**,一句话讲清逻辑: 注意力机制的本质 = **计算文本中「每个词」和「其他所有词」的关联程度,给关联度高的词分配更高的权重,最终加权求和得到这个词的新特征**。 举个通俗例子:句子「小明在学校遇到了小红,她给了他一颗糖」 - 当模型处理词「她」时,会计算「她」和句子中所有词的关联度:「小红」的关联度是**90%**,「小明」是5%,「学校」是1%,其他词更低; - 给「小红」分配90%的权重,其他词分配低权重,加权后得到「她」的新特征,模型就知道「她」指的是小红; - 同理,处理「他」时,「小明」的权重最高,模型就知道「他」指的是小明。 **核心特点**:注意力机制能**无视词的距离**,哪怕一个词在句首,一个词在句尾,也能精准计算关联度,完美解决长文本的远距离依赖问题。 ### 概念3:多头自注意力(Multi-Head Self-Attention) 注意力机制的「升级版」,这是Transformer对注意力机制的核心创新,「自注意力(Self-Attention)」+「多头(Multi-Head)」分开理解: 1. **自注意力(Self-Attention)**:注意力的计算是**在同一句话内部完成的**(自己和自己算关联),比如一句话的词只和这句话的其他词算注意力,这是相对「交叉注意力」的概念,Transformer的核心是自注意力。 2. **多头注意力(Multi-Head)**:把注意力机制**做了多份(比如8头、12头)**,每一头学习**不同维度的关联特征**。 通俗例子:一句话「我爱吃麻辣火锅」,8个头的注意力会分别关注: - 头1:「我」和「爱吃」的关联(主谓关系); - 头2:「麻辣」和「火锅」的关联(修饰关系); - 头3:「火锅」和「吃」的关联(动宾关系); - 其他头:关注语气、情感、词性等不同特征。 → 最终把8个头的结果拼接起来,得到的特征会**更全面、更丰富**,模型的理解能力大幅提升。 # 架构 Transformer的整体结构**非常对称、简洁**,论文中的经典结构只有 **6层编码器 + 6层解码器**,所有大模型都是在这个基础上堆叠层数(比如GPT-3堆叠了96层)、增大维度得到的。 ### 总体架构 在机器翻译中,Transformer可以将一种语言翻译成另一种语言,如果把Transformer看成一个黑盒,那么其结构如下图所示: [](https://www.malaoshi.top/upload/0/0/1GW2UP94tmTR.png) ### 总体架构:编码器(Encoder) + 解码器(Decoder) Transformer由若干个 **编码器** 和 **解码器** 组成: - 编码器负责 **理解文本** - 解码器负责 **生成文本** 输入文本先经过 **编码器** 处理得到 `语义特征`,再传给 **解码器**,解码器基于这个特征生成目标文本。 `输入 → 编码器 → 语义特征 → 解码器 → 输出` [](https://www.malaoshi.top/upload/0/0/1GW2UPBeZOFc.png) ### 编码器、解码器架构图 左边为编码器,右边为解码器: [](https://www.malaoshi.top/upload/0/0/1GW2UPIhmEv8.png) ### 一、编码器(Encoder):理解文本的「读懂模块」【N层堆叠,论文中N=6】 编码器是**对称的、全相同的结构堆叠**,每一层的内部结构完全一样,**所有编码器共享权重**,核心作用:**对输入的文本做深度的语义理解,输出一个包含完整上下文信息的特征矩阵**。 #### 编码器单一层的内部结构(固定4步,顺序不变) 1. **多头自注意力层(Multi-Head Self-Attention)**:核心模块,计算每个词和其他词的关联,捕捉上下文信息; 2. **残差连接 + LayerNorm(层归一化)**:Transformer的「保命机制」,解决深度学习的梯度消失问题,让模型能堆叠更多层,训练更稳定; → 残差连接:把输入直接加到输出上,相当于「走捷径」,梯度可以直接传递; → LayerNorm:对每层的输出做归一化,让数据分布更稳定,加速训练。 3. **前馈神经网络(Feed Forward Network, FFN)**:两层全连接层,对每个词的特征做「非线性变换」,提取更复杂的语义特征,**所有词并行计算**; 4. **残差连接 + LayerNorm**:和第二步一样,完成单一层的处理。 #### 编码器的输入与输出 - 输入:经过**词嵌入+位置编码**后的向量矩阵(比如一句话有10个词,每个词是512维向量,输入就是10×512的矩阵); - 输出:编码器的最后一层输出一个**和输入维度完全相同的特征矩阵**,这个矩阵里包含了**每个词的完整上下文语义信息**,也叫「上下文表征」。 #### 编码器的核心特点 - **双向注意力**:编码器的自注意力是**全双向**的,能看到一个词的「左边所有词」和「右边所有词」,比如处理「小明爱小红」中的「爱」,能同时看到「小明」和「小红」,完美理解语义; - **只做理解,不做生成**:编码器没有生成能力,只是把文本转换成机器能理解的特征。 ### 二、解码器(Decoder):生成文本的「写作模块」【N层堆叠,论文中N=6】 解码器也是**对称的、全相同的结构堆叠**,每一层的内部结构和编码器相似,但多了一个核心模块,核心作用:**基于编码器输出的语义特征,「自左到右」生成目标文本,一次生成一个词,直到生成结束符**。 #### 解码器单一层的内部结构(固定6步,顺序不变,比编码器多2步) 1. **掩码多头自注意力层(Masked Multi-Head Self-Attention)**:核心创新点,「掩码」是关键! → 解码器是**生成式模型**,生成文本时是「从左到右」逐个生成的,比如生成「我爱中国」,先生成「我」,再生成「爱」,最后生成「中国」; → 生成「爱」的时候,模型**不能看到后面的「中国」**,否则就是「作弊」,掩码的作用就是**把未来的词全部屏蔽掉**,让模型只能看到「已经生成的词」; → 这一层的作用:捕捉生成文本内部的上下文关联,比如生成的「我」和「爱」的关联。 2. **残差连接 + LayerNorm**:和编码器一致; 3. **交叉注意力层(Encoder-Decoder Attention)**:解码器的第二个注意力层,核心作用是**让生成的词「关注」编码器输出的语义特征**; → 比如做机器翻译(中译英),编码器输出的是中文的语义特征,解码器生成英文时,每个英文词会去关注对应的中文词,比如生成「I」时关注「我」,生成「love」时关注「爱」; 4. **残差连接 + LayerNorm**:和编码器一致; 5. **前馈神经网络(FFN)**:和编码器一致,做非线性变换; 6. **残差连接 + LayerNorm**:完成单一层的处理。 #### 解码器的输入与输出 - 输入:① 编码器的输出特征矩阵 ② 已经生成的目标文本(词嵌入+位置编码); - 输出:解码器最后一层输出一个向量,经过**Softmax层**转换成「概率分布」,概率最大的词就是当前生成的词。 ### 三、Transformer的最后一步:线性层 + Softmax层 解码器的输出是一个高维向量,需要经过这两层转换成最终的输出: 1. **线性层**:把高维向量映射到「词表维度」(比如词表有3万个词,就映射成3万维向量); 2. **Softmax层**:把3万维向量转换成**0~1之间的概率分布**,每个维度对应一个词的概率,概率最大的词就是模型最终生成的词。 # 特点 Transformer能从2017年一直火到现在,成为所有AI模型的基础,核心原因是它有**碾压式的优势**,对比之前的所有模型,几乎是全面领先: ### 优势1:**全并行计算,速度极快** 彻底抛弃循环结构,所有词同时处理,GPU的算力能被充分利用,处理长文本的速度比RNN/LSTM快**百倍甚至千倍**,这是最核心的优势。 ### 优势2:**完美解决长文本依赖问题** 注意力机制能捕捉**任意距离**的词之间的关联,不管文本多长,句首和句尾的词都能建立联系,长文本理解能力拉满。 ### 优势3:**注意力机制可解释性强** 我们能直观地看到模型给每个词分配的权重,比如模型为什么认为「她」指的是小红,能看到权重分布,这是RNN类模型完全没有的。 ### 优势4:**结构简洁、对称,易扩展** 编码器和解码器都是模块化堆叠,想要提升性能,只需要**堆叠更多层、增大向量维度、增加注意力头数**即可,工程实现简单,所有大模型都是这么做的。 ### 优势5:**泛化能力极强,跨领域适配** 不仅能做NLP,还能轻松适配CV(图像)、语音、多模态等领域,比如用Transformer做图像分类(ViT模型)、语音识别,效果都远超之前的模型。 ### 优势6:**训练稳定,不易过拟合** 残差连接+LayerNorm的组合,让模型能堆叠上百层而不出现梯度消失,训练过程非常稳定,能训练出参数量千亿、万亿级的大模型。 # 两大核心变种(重中之重!理解GPT和BERT的本质) Transformer的原始结构是「编码器+解码器」,但在实际应用中,我们**很少用完整的结构**,而是根据任务需求,对结构做了**两个核心变种**,这两个变种就是 **BERT 和 GPT 的核心架构**,也是NLP的两大主流方向! > 核心结论:**所有NLP模型,不是BERT系,就是GPT系,没有例外**。 ### 变种1:**只用「编码器」→ 自编码模型(代表:BERT)—— 擅长「理解类任务」** - 核心改动:抛弃解码器,只保留编码器的堆叠结构,训练方式为「自编码」; - 核心特点:编码器是**双向注意力**,能看到文本的全部上下文,所以这类模型也叫「双向模型」; - 核心能力:**超强的文本理解能力**,擅长做「判别式任务」—— 有固定的输入和输出,需要模型理解语义后做判断/提取; ✔️ 代表任务:文本分类、情感分析、命名实体识别(NER)、关键词提取、文本相似度计算、句法分析; - 代表模型:BERT、RoBERTa、ALBERT、ERNIE(百度)、XLNet,这类模型是**所有理解类NLP应用的核心**。 ### 变种2:**只用「解码器」→ 自回归模型(代表:GPT)—— 擅长「生成类任务」** - 核心改动:抛弃编码器,只保留解码器的堆叠结构,训练方式为「自回归」; - 核心特点:解码器的注意力是**掩码单向注意力**,只能看到文本的「左边内容」,看不到右边,所以这类模型也叫「单向模型」; - 核心能力:**超强的文本生成能力**,擅长做「生成式任务」—— 没有固定的输出,需要模型基于上下文自主生成文本; ✔️ 代表任务:文本续写、机器翻译、写文案、写诗、对话、代码生成、逻辑推理、问答; - 代表模型:GPT系列、LLaMA、百川、智谱清言、Claude,这类模型就是我们常说的**大语言模型(LLM)**,也是当前AI的主流方向。 ### 关键对比(一张表看懂,必考) | 模型类型 | 核心结构 | 注意力方式 | 核心能力 | 代表模型 | 典型任务 | |----------|----------|------------|----------|----------|----------| | 自编码模型 | 编码器 | 双向全注意力 | 文本理解 | BERT/ERNIE | 情感分析、NER、文本分类 | | 自回归模型 | 解码器 | 掩码单向注意力 | 文本生成 | GPT/LLaMA | 对话、创作、翻译、推理 | --- # 里程碑意义 & 后续发展 ### 一、Transformer的里程碑意义(为什么是NLP史上最重要的模型?) 1. **彻底颠覆了NLP的技术路线**:从「循环串行」走向「注意力并行」,NLP的训练效率和效果实现了**质的飞跃**,为大模型的诞生奠定了基础; 2. **统一了AI的模型架构**:Transformer不再局限于NLP,而是成为CV、语音、多模态等所有AI领域的通用架构,实现了「大一统」; 3. **开启了大模型时代**:正是因为Transformer的并行性和可扩展性,我们才能训练出千亿、万亿参数量的大语言模型,才有了ChatGPT、文心一言等产品,让AI真正走向大众化。 ### 二、Transformer的后续发展(2017-2025,核心演进方向) Transformer的核心结构从未改变,所有的发展都是**在原始结构上做优化和扩展**,没有跳出框架,核心演进方向有4个,也是大模型的发展方向: #### 1. 堆叠层数+增大参数量 → 大语言模型(LLM) 这是最直接的方式:把解码器的层数从6层堆到96层(GPT-3)、128层(GPT-4),向量维度从512增大到8192,参数量从亿级增大到万亿级,模型的能力就会指数级提升。 → 代表:GPT-3(1750亿)、GPT-4(约1.76万亿)、LLaMA 2(70亿/130亿/700亿)、百川3(7B/13B/70B)。 #### 2. 优化注意力机制 → 解决长文本问题 原始Transformer的注意力计算复杂度很高,处理超长文本(比如1万字)会很慢,因此业界做了很多注意力优化: → 代表:稀疏注意力、滑动窗口注意力、长文本Transformer(Longformer、GPT-4超长上下文版),现在的大模型已经能处理**几十万字的长文本**。 #### 3. 轻量化优化 → 让大模型落地到端侧 大模型的参数量太大,只能在云端运行,因此业界做了很多轻量化优化,让模型能在手机、电脑、嵌入式设备上运行: → 代表:量化(把模型的参数从浮点型转成整型)、剪枝(去掉不重要的参数)、蒸馏(用大模型教小模型),比如Phi-3、Qwen-2(通义千问轻量版),参数量只有7B,却有媲美大模型的能力。 #### 4. 多模态融合 → 从文本到万物 Transformer的最新发展是**多模态Transformer**,把文本、图片、语音、视频的特征都转换成统一的向量,用注意力机制做融合,实现「看图说话、听声写文、图文生成」等能力。 → 代表:GPT-4V(能看图片)、文心一言4.0、Gemini,这是**未来AI的绝对主流方向**。 --- # 总结 1. Transformer是2017年谷歌提出的神经网络模型,核心是**自注意力机制+并行计算**,解决了RNN的串行和长文本问题; 2. 整体架构是**编码器(理解)+解码器(生成)**,编码器双向注意力,解码器单向掩码注意力; 3. 两大核心变种:**编码器→BERT(理解),解码器→GPT(生成)**,所有NLP模型都是这两类; 4. Transformer是**现代AI的地基**,所有大语言模型、多模态模型的底层都是Transformer; 5. Transformer的核心优势:并行、快、能处理长文本、结构简洁易扩展,这也是它能火8年的核心原因。 参考: https://www.zhihu.com/tardis/zm/art/600773858 原文出处:http://malaoshi.top/show_1GW2UPIvxI49.html