Skip to content

约 7 分钟阅读

大模型架构 ​

问聊天助手一句“年假怎么申请?”,它一个字一个字地写出回答。每写一个字,模型都要把整段对话切成 token,把每个 token 变成几千维的向量,让这些向量穿过几十层同样结构的计算,最后对词表里十几万个候选逐一打分,挑出下一个字。这套结构叫 Transformer,2017 年为机器翻译提出,今天几乎所有大语言模型都建立在它之上。几十层里每一层都只有两个主要部件:让每个位置去看上下文的注意力,和对每个位置单独做变换的前馈网络(FFN)。主流大模型的大部分参数都在 FFN 里,以 Llama-3.1-8B 为例占 70%;KV Cache 和长上下文成本则主要由注意力决定。

这个系列讲清主流大语言模型的内部结构和工作原理:每个部件做什么、输入输出是什么形状、参数和计算花在哪里;GQA、MLA、MoE、RoPE 外推、滑动窗口、线性注意力这些改动分别为了解决什么问题、付出了什么代价;Llama、Qwen、DeepSeek、Mistral、Gemma、GLM、Kimi、gpt-oss 这些模型具体选了哪些设计。读完以后,你应该能看懂任意一个开源模型的 config.json 和 Transformers 里的模型源码,手算它的参数量、每个 token 的计算量和 KV Cache 大小,并在新模型发布时判断它在架构上改了什么、为什么改。

先读哪里 ​

不需要会推导反向传播,也不需要先读完深度学习教材。知道“模型是一堆参数,训练是在调这些参数”就够了;没有这个印象,可以先看站内的模型训练入门。矩阵乘法会反复出现,每次都会写明形状,并给一组能手算的小数字。

大模型架构系列分五个部分:从 Transformer 到大模型,逐层拆解,架构演进,主流模型拆解,读懂与对比

全系列沿用站内另外三个系列里的公司内部资料助手:员工小林问“年假怎么申请?”。这里跟着这句话进入模型内部,看它被切成哪些 token,“申请”怎样通过注意力看到“年假”,FFN 怎样往向量里加入相关的知识,输出层怎样给出回答第一个字的概率。后面讲 MoE、长上下文和多模态时,继续用资料助手的需求举例:把整本员工手册放进上下文,上传报销单截图提问,用语音提问。

计算类例子统一用 Llama-3.1-8B(约 80 亿参数、32 层、隐藏维度 4096),和模型训练与调优、大模型推理优化两个系列的数字可以直接对照;动手实践用能在笔记本上跑的 Qwen2.5-0.5B-Instruct。各模型的配置以 2026 年 10 月下旬 Hugging Face 上的官方 config.json、官方技术报告和 Transformers 源码为准。

五个部分 ​

系列按“先整体、再部件、再变化、再实例、最后方法”的顺序组织:先看清 Transformer 这副骨架和今天的大模型长什么样,再把一层里的每个部件拆开,然后看各家为了更大、更长、更便宜做了哪些改动,接着用这些知识读具体模型,最后把读模型的方法和各家的选择归纳成工具和对比。

第一部分:从 Transformer 到大模型。 先看 2017 年的原始 Transformer 为什么出现、由哪几块组成,再看它怎样分成三条路线、为什么大模型只留下了解码器,最后用 Llama-3.1-8B 把今天的 decoder-only 模型整体走一遍。

文章回答的问题
01. Transformer:大模型共同的骨架Transformer 要解决什么问题?编码器、解码器、注意力、FFN、残差归一化、位置编码怎样组成一个模型?今天的大模型保留和换掉了什么?
02. 从 Transformer 到 GPT:三种结构编码器、解码器、编码器-解码器各适合什么?为什么大模型几乎都是 decoder-only?
03. 全景:从一句话到下一个 token今天的大模型由哪几块组成?8B 参数和每个 token 的计算分别花在哪里?什么是自回归生成?

第二部分:逐层拆解。 按计算顺序拆开一层里的每个部件:从文字到 token,从 token 到向量,经过注意力和 FFN,再到输出层和解码。每篇讲一个部件,最后在实践篇里把一个真实的小模型逐层打开验证。

文章回答的问题
04. 分词与词嵌入文字怎样切成 token,中文怎样切?词表大小影响什么?词嵌入和输出层为什么可以共享?
05. 注意力:每个 token 怎样看上下文Q、K、V 是什么、从哪来?用一个手算例子走完缩放点积、softmax 和因果掩码
06. 多头注意力与 KV 头:MHA、MQA、GQA、MLA为什么要多个头?KV 头变少怎样省显存、会损失什么?MLA 的压缩怎样做?
07. FFN:前馈网络做了什么FFN 是什么?为什么占了大半参数?SwiGLU 门控是什么?“FFN 存知识”的说法有多少证据?
08. 残差连接与归一化残差流是什么,为什么几十层的网络离不开它?RMSNorm、Pre-Norm、QK-Norm 各解决什么?
09. 位置编码:RoPE 与长上下文注意力怎样知道词的顺序?RoPE 怎样旋转向量?上下文从 8K 扩到 128K 改了什么?
10. 输出层与解码:从 logits 到文字最后一层的向量怎样变成词表上的概率?温度、top-k、top-p 怎样挑出下一个 token?
实践:逐层拆开一个小模型在笔记本上打开 Qwen2.5-0.5B:参数、形状、注意力、各层贡献、logit lens 和消融实验说明了什么?

第三部分:架构演进。 骨架不变,各家为了更大、更长、更便宜,在四个方向上做了改动:把 FFN 拆成专家,让注意力少算少存,用固定大小的状态代替 KV Cache,以及让图像和语音也能变成 token。

文章回答的问题
11. 混合专家 MoE总参数 6710 亿、每个 token 只用 370 亿是怎么做到的?路由、负载均衡、共享专家怎样设计?
12. 长上下文与高效注意力长上下文贵在哪?FlashAttention、滑动窗口、稀疏注意力、注意力汇聚分别做什么?
13. 线性注意力、状态空间模型与混合架构能不能不要 KV Cache?Mamba 和线性注意力的弱点在哪?为什么新模型改用混合架构?
14. 多模态大模型的结构一张报销单截图怎样变成几百到几千个 token?外挂编码器和原生多模态有什么区别?语音怎样接入?

第四部分:主流模型拆解。 用前三部分的知识读具体模型。每个家族按“每一代改了什么、为什么改”梳理,机制本身链接回前面的章节,并给出逐项核对过的规格表。

文章回答的问题
15. Llama 家族从 Llama 1 到 Llama 4,每一代改了哪些结构?一层 LlamaDecoderLayer 的代码怎样读?
16. Qwen 家族Qwen 各代在 QKV 偏置、QK-Norm、MoE、混合注意力上怎样选择?思考模式是架构吗?
17. DeepSeek:MLA、MoE 与 MTPMLA、DeepSeekMoE、多 token 预测、稀疏注意力在 DeepSeek 各代里怎样组合?
18. 其他主流开源模型Mistral、Gemma、GLM、Kimi、gpt-oss、MiniMax 各有什么与众不同的设计?闭源模型公开了什么?

第五部分:读懂与对比。 把前面的方法变成可以复用的工具,再把所有模型放在一起看趋势。

文章回答的问题
19. 读懂 config 与源码config.json 每个字段对应什么?怎样只用配置算出参数量、FLOPs 和 KV Cache?新模型先看哪里?
20. 主流架构对比与演进趋势主流模型在注意力、FFN、位置编码、归一化上的选择怎样对比?这几年的趋势是什么?

两种读法 ​

第一次系统了解大模型内部,按顺序读第一、二部分(第 01—10 篇),再跟着实践篇在自己电脑上拆一次小模型。读完这十一篇,你已经能对着任何一个开源模型的结构图说清每一块在做什么。之后读第三部分理解演进,第四部分挑感兴趣的模型家族读。

带着具体问题来的,可以直接跳:想知道 Transformer 整体长什么样,看第 01 篇;为什么大模型都是 decoder-only,看第 02 篇;FFN 是什么,看第 07 篇;Q、K、V 没搞懂,看第 05 篇;KV Cache 为什么这么大、GQA 和 MLA 怎样省,看第 06 篇;MoE 的“总参数”和“激活参数”,看第 11 篇;上下文长度能不能再长,看第 09、12、13 篇;拿到一个新模型想快速读懂,看第 19 篇和第 20 篇的对比表。

模型是怎样训练出来的,是模型训练与调优系列的内容;训练好的模型怎样高效部署,是大模型推理优化和推理引擎与框架两个系列的内容。本系列讲到 KV Cache、量化、投机解码时只讲架构本身的影响,并链接到那里。

接下来从第 01 篇:Transformer开始,先看清这副所有大模型共用的骨架从哪里来、由哪几块组成。

别急,先让缓存热一下。