先看一眼"全家福"第一步:把每个字变成"数字"第二步:给文字"排座位"第三步:自注意力的灵魂——Q/K/V第四步:多头注意力——多个角度看一句话第五步:残差 + 归一化,让训练不崩Decoder 怎么"写"出下一个字?为啥这套架构能撑起所有大模型?
跟人聊天,你敢不敢随口来一句"Transformer 其实就这么回事"?
很多程序员被这一句就问住了——名词能背出一堆:自注意力、Q/K/V、Encoder-Decoder……但真让讲清楚"为什么 ChatGPT、DeepSeek、文心一言都靠它",脑子里就只剩一团浆糊。
今天这篇,咱不写一行公式,就着架构图,一步步把 Transformer 拆给你看。看完你至少能在饭桌上稳稳讲 10 分钟不掉链子。
Transformer 的架构图,左半边叫 Encoder(编码器),右半边叫 Decoder(解码器)。
Encoder 干一件事:把"人话"读懂,揉成一团机器能消化的"语义浓缩液"。Decoder 干另一件事:拿着这团浓缩液,逐字生成回答。整个流程像极了"读完文章再写作文"——先读懂,再下笔。
Transformer 不像过去的 RNN 那样必须按顺序一个字一个字往后读,它能"一眼看完整句话",所以可以彻底并行计算——这是它能撑起万亿参数大模型的根本原因。下面顺着左边那条 Encoder 线,咱把 5 个关键步骤讲完。
模型不认识中文也不认识英文,它只认识数字。所以第一步叫 Embedding(嵌入):把每个词变成一串向量。
比如"猫"可能被表示成:
猫 → [0.21, -0.78, 0.55, 0.02, ...]狗 → [0.18, -0.71, 0.49, 0.05, ...]汽车 → [-0.66, 0.32, -0.41, 0.88, ...]
神奇在哪?"猫"和"狗"的数字长得像,"汽车"就离它们远——语义关系藏在数字里。这正是后面一切魔法的起点。
Transformer 是"一眼看完整句话",不像 RNN 那样按顺序一个一个读。这就有个问题——它分不清"我打你"和"你打我"。
所以要人为告诉模型"这是第几个字",叫 Positional Encoding(位置编码)。简单说就是给每个位置贴个独一无二的"序号标签"。论文用了 sin/cos 函数算位置编码,又便宜又管用,几十年后大家还在沿用这套思路。
这一步像给每个词贴上一段独一无二的"节奏标签",让 Transformer 能分辨词的先后顺序,同时又不需要多余的训练成本。
这步是 Transformer 最惊艳的设计。每个词同时产生 3 个向量:
- • Q(Query 查询):我想找什么信息?
- • K(Key 键):我是啥?我有啥标签?
- • V(Value 值):我具体的内容是啥?
举个生活化的例子——你(Q)想找一家好吃的火锅店,路过几家店,每家店门口都写着自己是"川味""海鲜""自助"(K),进去之后端出来的菜(V)才是你真正关心的。
自注意力的过程:每个词都拿自己的 Q 去跟其他所有词的 K 比一比,"匹配度"越高,最后从对方 V 里取的内容就越多。这一步叫 Self-Attention(自注意力)。
举个语言例子:"小明吃了一个苹果,因为它很甜"。当模型算"它"这个词的 Q 时,会去跟"苹果"和"甜"的 K 对比,发现"它"最关心"苹果",于是从"苹果"的 V 里提取内容。这样一来,"它"就自动理解了指的是苹果。
光看一个角度肯定不够。一个句子里有语法、有指代、有情感、有上下文——一个注意力头根本看不过来。所以 Transformer 搞出了 N 个"注意力头",每个头专门盯一个角度:
![]()
论文里默认开 8 个头,后来的 GPT、Llama 直接开到 32、48 甚至更多。这就是 Multi-Head Attention(多头注意力)——一群"专家"开会,每个看一块,最后把意见合起来。这种"分工合作"的思路,本质上跟公司里让不同员工专攻不同业务是一样的。
Attention 算完一轮,会跟原始输入加在一起(残差连接),再做一次 LayerNorm 归一化。
这一步通俗讲:既保留原信息,又让数据尺度别太离谱。没有它,模型堆几十层就崩了;有了它,几百层都稳如老狗。这一招叫"残差网络",是深度学习领域最经典的工程技巧之一。
Attention 之后还有个 FFN(前馈网络),就一个朴素的"Linear → ReLU → Linear"两三层小网络,负责把信息再"深加工"一遍。这一步相当于注意力在"广撒网收集情报",FFN 在"整理情报写成笔记"。
整套 Encoder 模块:注意力 → 残差归一化 → FFN → 残差归一化,论文里这个组合块堆了 6 层;后来的大模型堆了几十层甚至上百层。
Encoder 干完活,轮到 Decoder 登场。它是模型的"笔杆子",一个词一个词地往外蹦。
和 Encoder 最大的区别:Decoder 多了一层"Masked(遮罩)"。啥意思?比如要生成"我爱你",模型在写"爱"的时候,不能偷看后面的"你",否则就成了"抄答案"。
所以 Masked Multi-Head Attention 就是把"未来的字"全遮住,让模型老老实实根据已经看到的字来预测下一个。这一招跟中学考试卷上的"密封线"一个道理——看不见答案,只能凭本事答。
之后还要"回头请教" Encoder——Encoder-Decoder Attention 这一层会把刚才 Encoder 算出的"语义浓缩液"再喂给 Decoder,让生成的字能贴合原文意思。比如翻译 "I Love You" 时,生成"我"主要参考输入的"I",生成"爱"主要参考"Love"。
最后一步 Linear + Softmax:把 Decoder 的输出变成全词表的概率分布。比如已经写了"我爱",下一个字可能是"你" 71%、"他" 16%、"它" 11%……选概率最高的那个,就是下一个字。
把上面几步拼起来,会发现它的核心优势只有三个字——可并行。
过去的 RNN 要一个字一个字往后算,想加速?门儿都没有。Transformer 把整句话一次性扔进去,GPU 算得飞起。这就是为什么 2017 年论文出来后,大模型从几亿参数一路飙到几千亿、上万亿,没它撑不住。
回头看,GPT 系列只用 Decoder("只写不读",专注生成),BERT 只用 Encoder("只读不写",专注理解),T5 两者都用。万变不离其宗,根上都是这个架构。这也解释了为啥论文标题敢写"Attention is All You Need"——真就只需要注意力机制。
你日常用的 ChatGPT、文心一言、DeepSeek、豆包,背后都是它在跑。下次再有人聊"大模型到底凭什么",你直接把今天这几步复述一遍,镇场子绰绰有余。
评论区聊聊:你觉得 Transformer 最神的点是"注意力机制"还是"完全可并行"?或者你更想看哪个 AI 概念的科普?
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.