入门 12 分钟基础

LLM架构:Transformer原理详解 simplement

人们到处都在谈论“Transformer”“注意力”“参数”,却从不说明这些术语具体指什么。本指南揭开大语言模型(LLM)的内部结构,用简单的类比解释其架构,不涉及任何公式。读完后,您将从内部理解 LLM 的架构——尤其会明白,为什么这些设计选择决定了模型所需的显存容量,以及它在您电脑上的响应速度。

作者: Mohamed Meguedmi·更新于 2026-09-12·已在 Windows、macOS 和 Linux 上测试

#理解 LLM 架构的原因

无需了解其内部运作,即可在本地运行一个大语言模型——一个 ollama run suffit. 但一旦希望为自己的设备选择合适的模型,技术规格中的每一个词都可能成为障碍:‘32 层’,‘70 亿参数’,‘MoE 8x7B’,‘注意力头数为 32’。正是这些数字决定了该模型是否能装入你的显卡,或会占用你的 CPU 资源。

好消息是:在当前所有大语言模型(LLM)中占主导地位的架构——Transformer——基于几项核心理念,无需借助数学就能解释清楚。理解这些理念,就意味着从“我只是复制命令,并不明白其中原理”转变为“我知道为什么这个模型需要 9 GB 显存,而不是 40 GB”。

i
本指南中不包含任何公式
所有内容都通过类比来解释。如果您想了解数学细节(点积、softmax、位置编码),本指南并不针对这些内容——它旨在帮助您形成正确的直观理解,足以用于选择模型并在本地运行。

#用一张图看懂 Transformer

本地 AI 套件

只需 1 小时,即可在您的电脑上拥有专属的免费 ChatGPT — LM Studio、Ollama、Open WebUI、您的文档,无需云端。

  • 在线空间,终身可用
  • PDF + 文件
  • 30 天内退款

现代大语言模型(LLM)是一种 Transformer:接收文本输入,然后不断预测下一个词的机器。这个名称源自论文《Attention Is All You Need》(Google,2017),该论文引入了这一架构。您接触到的所有模型——Llama、Qwen、Mistral、Gemma、DeepSeek、Phi——都是它的变体。

想象一条装配线。入口处,您的句子被拆分成片段。装配线上的每个工位(一个“层”)都会结合上下文,加深对文本的理解。出口处,模型会给出最可能的下一个片段。每生成一个新片段,就重复这一过程。基本过程就是这样——其余只是各个工位具体如何工作的细节。

输入
您的文本被分割为 token(单词的细小片段)
层堆叠
每一层都会进一步优化文本表示。一个模型包含数十层。
注意力
每一层的核心机制:它使每个词能够「查看」其他词。
输出
为每个可能的标记计算概率;模型从中选择一个,添加到文本中,然后继续生成。

#从您的文本到 token

LLM 看到的不是字母,甚至不是完整的单词,而是 token。Token 是常见的文本片段——有时是完整的短词(如“chat”),有时是单词的一部分(如“anti”、“constitution”),有时是空格或标点符号。在法语中,粗略估计每 2 个单词对应 3 个 token。

每个 token 随后都会转换成一串数字,称为「嵌入向量」(embedding)。这相当于把文本翻译成机器能够处理的语言:用空间中的坐标表示词语,含义相近的词在空间中的位置也相近。「国王」和「王后」在其中彼此相邻;「国王」和「西兰花」则相距很远。

→
与上下文窗口的关系
模型的“上下文窗口”(例如 8k、32k、128k)以 token 为单位计算,而非单词。8 000 个 token ≈ 6 000 个法语单词,约相当于十页。这是模型一次能够“记住”的文本量。

#注意力机制,Transformer 的核心

注意力机制是改变了一切的理念。以这句话为例:“老鼠吃了奶酪,因为它饿了。”这里的“它”指谁?显然是老鼠。要判断这一点,就必须把“它”与前面隔了几个词的“老鼠”联系起来。这正是注意力机制所做的事:对于每个词,它判断句子中的哪些其他词与之相关,以及应赋予这些词多大的权重。

类比:在会议中,当你听到一个模糊的代词时,你的大脑会回溯之前说过的内容以确定指代对象。注意力也类似,它会并行处理所有词语。每个词都会‘提出问题’(我需要什么信息才能被理解?)并‘接收来自其他词的回应’,这些回应根据相关性进行加权。

人们常提到「注意力头」(attention heads)。一个注意力头就是观察关系的一种方式;拥有多个注意力头(32 个、64 个……),能让模型同时追踪多种联系——有的关注语法,有的关注文本主题,还有的关注时间指代。

i
为什么注意力机制如此占用内存
每个词都会关注所有其他词。上下文越长,需要存储的关系数量(即“KV 缓存”)就越多,增长十分迅猛。因此,非常长的上下文(128k 个 token)可能消耗与模型权重本身一样多的 VRAM。

#堆叠层

单个注意力层能理解简单的关系。模型的强大能力来自层层堆叠:一层的输出成为下一层的输入。小模型有大约二十层,大模型则有几十层。每一层都包含两个模块:注意力机制(将词语彼此关联起来)和前馈网络(单独处理每个词,就像一个思考刚刚读到的内容的微型大脑)。

类比:多层次阅读。第一层识别词语和语法。中间的各层构建句子的含义。最后的几层把握意图、语气以及接下来应该出现的内容。层数越多,模型就越能进行深入推理——但每生成一个 token 所需的计算量也越大。

注意力块
将词语相互关联起来(形成上下文)。
前馈块
对每个词进行深层变换(模型的“知识”所在)。
层数
「深度」。深度越大,模型的能力越强,但速度也越慢。
宽度(隐藏维度)
数字列表的长度。列表越长,模型就越“宽”,资源占用也越大。

#参数到底是什么意思

看到“7B”或“70B”时,B 表示“十亿”(英语中的 billion),指的是参数数量。参数是模型内部可调节的数值——就像训练过程中调整的无数个旋钮之一。这些旋钮编码了模型“知道”的一切:语法、事实、风格和推理。

打个比方:想象一个拥有数十亿个滑块的巨型混音台。训练就是调整每个滑块,让模型在数十亿个文本示例中预测出正确的下一个词。这些设置一旦固定下来,就是您执行 ollama pull 时下载的“权重”(weights)。

模型的参数越多,就越能记住信息并表达细微差别——但它占用的内存也越多,速度也越慢,因为每个生成的 token 都要经过所有这些参数的处理。这就是“7B”这个数字与您机器的硬件要求之间的直接联系。

→
参数 ≠ 字节
一个参数并不是占用 1 字节。在原生精度(FP16)下,它占用 2 字节。因此,一个 7B 模型在 FP16 下的大小约为 14 GB。量化通过用更少的比特存储每个参数来缩小模型——这正是 Q4、Q5、Q8 发挥作用的地方(见下文)。

#稠密架构与混合专家架构(MoE):两种模型连接方式

到目前为止,我们描述的是一种“稠密”Transformer:每个 token 都会经过全部参数。结构简单,但成本高昂——一个 70B 稠密模型每生成一个词,都会调用其 700 亿个参数。

MoE(混合专家)架构打破了这一规则。它在每一层中设置多个前馈模块(称为“专家”),而不是一个大型前馈模块;每处理一个 token,只激活其中少数几个,由一个小型分配模块(称为“路由器”)选择。可以这样类比:不是由一位全科医生回答所有问题,而是在一家专科诊所里,只咨询与您的情况相关的两位医生。

Dense
所有参数在每个 token 上均生效。例如:Llama 3 8B,Qwen 14B,Gemma 27B。
MoE
总参数量很大,但每个token实际激活的参数较少。例如:Mixtral 8x7B,DeepSeek V3,Llama 4 Scout。
MoE表示法
“30B-A3B” = 总参数 300 亿,但每个 token 仅激活 30 亿参数(A = active)。

这对本地运行有重大影响:混合专家模型(MoE)的速度表现像小模型(活跃参数较少),同时保留了大模型的广博知识(总参数量很大)。难点在于显存:必须将全部专家加载到内存中,即使每次只激活其中一小部分。


#为什么这些因素决定了显存需求和运行速度

现在来看实际应用中的关键问题。本地运行时,两种资源至关重要:内存(容纳模型)和计算能力(快速回答)。架构决定着这两方面的需求。

#内存:必须容得下模型权重

要运行得快,模型必须完全装入 GPU 的显存(或搭载 Apple Silicon 芯片的 Mac 的统一内存)。否则,模型的一部分就会转由 CPU 和系统内存处理,速度会急剧下降。模型大小取决于参数数量和量化方式。

Q4 量化的 3B 模型
约 2 GB VRAM
7B Q4
≈ 5 GB
14B 量化为 Q4
≈ 9 GB
32B Q4
≈ 19 GB
Q4 量化的 70B 模型
≈ 40 GB

还需计入上下文占用的内存(KV 缓存),其大小随提示词长度增长。长上下文可能额外需要数 GB 内存;显存已接近容量上限时,别忘了这一点。

#速度:每个 token 激活多少参数

生成速度(每秒生成的 token 数)主要取决于每个 token 实际激活的参数数量。因此,8B 稠密模型与 30B-A3B MoE 模型的生成速度可能相近:两者每个 token 都只激活约 30 亿至 80 亿个参数。只是 MoE 模型需要多得多的显存来容纳所有专家。

!
显存放不下模型的常见陷阱
一个“几乎能装下”您 VRAM 的模型,实际上并没有装下。一旦部分层被卸载到 CPU,速度就会损失 5 到 20 倍。最好选择一个低一档的模型(或更激进的量化),使其 100% 运行在 GPU 上。
RTX 3060 12 GB
最高可轻松运行 Q4 量化的 14B 模型,是理想的入门级显卡。
RTX 4070 / 4080 (12–16 GB)
14B 模型运行轻松,32B 模型采用 Q4 量化时,在 4080 上显存余量很紧。
RTX 4090 24 GB
可轻松运行 Q4 量化的 32B 模型,但仅靠 GPU 无法运行 70B 模型。
Mac M4 Pro 24–48GB统一内存
统一内存可用作显存:48 GB 配置最高可运行 Q4 量化的 70B 模型。

#逐行阅读模型信息表

您现在已经掌握了读懂技术规格表的方法。下面来看一个典型示例,类似的内容在 Hugging Face 或 Ollama 模型库中很常见:

模型规格表(典型摘录)
{
  "architecture": "transformer (decoder-only)",
  "parameters": "14B",
  "type": "dense",
  "layers": 40,
  "attention_heads": 40,
  "context_length": 32768,
  "quantization": "Q4_K_M",
  "size_on_disk": "9 GB"
}
架构:仅解码器
生成式LLM的标准:模型仅预测文本的后续内容(不包含独立的「编码器」部分)
参数:14B
140亿参数。显存占用:约9GB(Q4),需至少12GB显存的显卡。
type: dense
每个标记都激活所有参数。如果是MoE架构,你会看到类似30B-A3B的标注。
layers: 40
40层堆叠。这是深度:层数越多,推理越精细,但速度也越慢。
attention_heads: 40
每层 40 个注意力头——即并行关联词语的方式数量。
context_length: 32768
上下文长度为 32k 个 token,相当于约 24,000 个单词。注意:填满此上下文会额外消耗 VRAM。
量化:Q4_K_M
精度降低至每个参数约 4 位。这是本地运行时模型质量与体积之间的最佳折中。
size_on_disk: 9 GB
您下载的内容以及为实现最大速度所需加载到内存中的内容。

有了这七行内容,您就已经能回答唯一重要的问题:“它在我的机器上运行得好吗?”这里的情况是:14B 模型采用 Q4 量化 = 约 9 GB 的模型权重 + 上下文所需内存 → 一张 RTX 3060 12 GB 或更好的显卡,而且运行速度很快。

→
应养成的习惯
初步筛选只需看两个数值:参数数量(以及模型采用稠密架构还是 MoE 架构),用于判断显存需求;量化方式,用于判断实际大小。其余因素(层数、注意力头数、上下文)能让判断更精确,但不会改变基本可行性。

#深入了解

您现在了解了大语言模型的基本结构。三个延伸指南自然地补充了这些基础内容:第一个详细说明 MoE 的表示方法及其实际影响,第二个解释了量化选择如何决定磁盘占用大小,第三个则再次回顾了本文中提到的上下文窗口问题。


这份指南对您有帮助吗?

有反馈、发现了错误,或想补充说明?请告诉我们,让这份指南对每个人都更有帮助。