Qwen 模型架构:从 Transformer 到 MoE 的演进,开发者该懂什么
Qwen 模型架构:从 Transformer 到 MoE 的演进,开发者该懂什么
很多开发者用 Qwen 时只关心「能不能跑」「效果好不好」,很少回头去问「它内部是怎么搭的」。这在大多数场景够用——但当你要选量化档位、判断显存占用、理解为什么 27B 和 2.4T 的本地部署门槛差这么多时,懂一点架构会省掉很多试错。本文不深入数学公式,用最直白的方式讲清 Qwen 模型里几个核心组件,让你能看懂架构参数背后的实际含义。
30 秒版本
Transformer 是 Qwen 的骨架:注意力机制负责「看什么」,KV cache 负责「记住什么」,RoPE 负责「位置编码」,层数决定模型深度。MoE 是升级版:每个 token 只走一部分专家,所以 2.4T 总参数的推理开销远低于 2.4T。懂了这几点,显存规划和量化选择就不再是黑盒。
Transformer 是 Qwen 的骨架
Qwen 系列基于 Transformer 架构。Transformer 的核心思想是:模型不需要按顺序处理 token,而是让每个 token 同时「看到」所有 token,通过注意力机制决定哪些信息更重要。
这套设计在 2017 年提出后成为大语言模型的标准,Qwen 也完全遵循。理解 Transformer 的几个核心组件,就能理解 Qwen 的大部分架构参数。
为什么 Transformer 适合语言模型
Transformer 的并行化能力比 RNN/LSTM 强得多——RNN 必须一个 token 一个 token 处理,Transformer 可以一次性处理整个序列,在 GPU 上效率极高。这就是为什么几乎所有大模型都用 Transformer。
注意力机制:模型在「看什么」
注意力机制是 Transformer 的核心。它的工作方式是:
每个 token 会和序列中的其他 token 做「相关性打分」。 相关性高的 token 权重大,相关性低的权重小,模型最终对每个 token 的回答是这些 token 的加权组合。
在 Qwen 架构里,注意力通常用 Q(query)、K(key)、V(value)三个矩阵来表示:
Q:当前 token 在问什么K:其他 token 提供了什么V:其他 token 的内容是什么
Q 和 K 做点积得到相关性分数,再对 V 做加权求和。这个过程就是「注意力」。
多头注意力
Qwen 用多头注意力(Multi-Head Attention),把注意力分成多个头,每个头关注不同的特征。比如一个头可能关注语法结构,另一个关注语义关联。多个头的结果拼接起来,模型就能同时关注多种信息。
KV cache:长上下文的内存关键
KV cache 是理解长上下文显存占用的关键。
当模型处理一个序列时,需要保存历史 token 的 K 和 V 矩阵,以便在生成下一个 token 时做注意力计算。序列越长,KV cache 越大,显存占用越高。
这就是为什么长上下文部署需要更多显存——不是因为模型本身变大,而是因为 KV cache 随着上下文增长而膨胀。
KV cache 是长上下文的隐性成本
一个 27B 模型,上下文 4096 时 KV cache 可能只占几百 MB;上下文 32768 时可能占几 GB。这就是为什么「为什么上下文越长越吃显存」的答案不是模型变大,而是 KV cache 膨胀。
RoPE:让模型理解位置
Transformer 本身不知道 token 在序列中的位置。RoPE(Rotary Position Embedding,旋转位置编码)是一种让模型理解相对位置的方法。
RoPE 的做法是:给每个 token 的位置编码加一个「旋转」操作,让模型能区分「猫追狗」和「狗追猫」的差异。位置越远,编码差异越大,模型对相对距离的感知就越强。
Qwen 系列从早期版本就开始用 RoPE,这也是它能在长上下文下表现稳定的原因之一。
层数与头数:模型的深度与宽度
Qwen 的架构参数里,层数(Layers)和注意力头数(Heads)是最直观的两个:
| 参数 | 含义 | 影响 |
|---|---|---|
| 层数 | 模型堆叠了多少层 Transformer | 层数越多,模型越深,能处理更复杂的逻辑 |
| 头数 | 每层有多少个注意力头 | 头数越多,每层能关注的特征越丰富 |
| 隐藏维度 | 每层向量的大小 | 维度越大,模型容量越大 |
这些参数共同决定了模型的「能力上限」。Qwen3.8-27B 的层数和头数设计,和 2.4T-A95B 完全不同——后者的总参数量是前者的约 100 倍,架构设计也完全不同。
参数量不等于能力
2.4T-A95B 的总参数是 27B 的约 100 倍,但每 token 激活的只有 95B,是 27B 的约 3.5 倍。这意味着推理时的计算量差距远小于总参数差距——这也是 MoE 的核心价值。
MoE:改变计算路径,不是总参数
MoE(Mixture of Experts)是 Qwen 旗舰模型(如 2.4T-A95B)使用的架构。它的核心思想是:把模型分成若干「专家」子网络,每个 token 只走其中一小部分。
一个 dense 模型(稠密)会在每个 token 上走完整前向计算;一个 MoE 模型会把这个 token 送到少数被选中的专家里。这意味着:
- 总参数量很大(知识容量大)
- 每 token 激活的参数量小(推理开销可控)
- 显存占用由活跃参数决定,不是总参数
这就是为什么 2.4T-A95B 的推理开销远低于一个同总参数的 dense 模型。A95B 表示每 token 激活约 95B 参数,这才是实际计算量的决定因素。
MoE 部署的第一个误区
很多人以为 2.4T 的模型推理一定很慢。实际上,MoE 的推理速度主要取决于活跃参数(A95B),不是总参数(2.4T)。FP8 进一步压缩显存,让部署变得可能。
架构差异在部署中意味着什么
理解架构后,你能更聪明地做部署决策:
| 架构特征 | 部署含义 |
|---|---|
| Dense 27B | 推理时全部参数参与,显存需求稳定 |
| MoE 2.4T-A95B | 推理时只走约 95B,但需要存储完整 2.4T 权重 |
| FP8 量化 | 权重体积减半,部署门槛降低 |
| KV cache 大 | 长上下文部署需要更多显存 |
一个常见误区是「2.4T 模型一定跑不动」。实际上,MoE 的推理开销远低于同总参数的 dense 模型,FP8 又进一步压缩了权重。真正决定部署可行性的是活跃参数量和 KV cache,不是总参数。
选型建议:从架构出发
把架构知识用回选型:
- 日常对话、代码补全:Qwen3.8-flash,Dense 轻量,延迟低
- 复杂推理、长文档:Qwen3.8-max,Dense 旗舰,质量优先
- 本地部署 MoE:Qwen-AgentWorld-35B-A3B,35B 总参数、3B 激活,显存友好
- 服务端部署旗舰 MoE:Qwen3.8-2.4T-A95B-FP8,需要大显存节点
选型时不要只看参数名,要看架构(Dense vs MoE)和活跃参数(A95B vs 3B)。
常见问题
Q1: 层数越多模型越强吗? 不一定。层数只是架构的一个维度,还需要看头数、隐藏维度、训练数据等。层数过深还可能导致梯度消失或训练不稳定。
Q2: KV cache 能压缩吗? 可以。有些量化方案会对 KV cache 做低精度量化,但会带来质量损失。Qwen 的 GGUF 量化中,KV cache 精度是一个需要权衡的维度。
Q3: RoPE 和传统位置编码有什么区别? 传统位置编码给每个位置一个固定向量,RoPE 用旋转操作让位置信息更连续。RoPE 在长上下文下表现更稳定,这也是 Qwen 用它的原因。
Q4: MoE 的专家数量越多越好吗? 不一定。专家太多会导致「专家利用不均」——有些专家几乎不被使用,增加参数量但不提升能力。Qwen 的 MoE 设计是平衡后的结果。
Q5: 理解架构对日常使用有帮助吗? 有帮助。当你能理解「为什么 27B 的 KV cache 比 2B 大那么多」「为什么 FP8 是部署关键」,你就能更聪明地做量化选择和显存规划,而不是凭感觉。
相关阅读
- Qwen3.8-2.4T-A95B 深度解析 — 旗舰 MoE 的部署细节
- Qwen 系列怎么选 — 从架构到选型
- Qwen KV cache 与长上下文 — KV cache 专题
- Qwen 成本优化实战 — 降低推理成本
- Qwen GGUF 本地部署入门 — 本地部署常识