从 DeepSeek V3 到 Mistral 3 Large:现代大语言模型(LLM)架构设计概览(二)| Sebastian Raschka

作者:Sebastian Raschka | 日期:2025年12月18日 

自最初的 GPT 架构被提出以来,已经过去了七年。乍一看,从 2019 年的 GPT-2 回顾,再展望 2024–2025 年的 DeepSeek V3 和 Llama 4,人们或许会惊讶地发现,这些模型在结构上依然高度相似。

比较不同的大语言模型(LLM),以判断哪些关键因素真正促成了它们良好(或不那么理想)的性能,是一件出了名的困难之事:数据集、训练方法以及超参数设置差异巨大,而且往往缺乏充分的公开说明。

然而,我仍然认为,审视架构本身的结构性变化依然具有很高的价值,因为它可以帮助我们了解 2025 年的 LLM 开发者究竟在做些什么。

7. SmolLM3

SmolLM3 也许不像本文中介绍的其他 LLM 那样广为人知,但我仍然认为它是一个值得纳入讨论的有趣模型,因为它在一个相对较小且非常实用的 30 亿参数规模 下,提供了非常不错的建模性能。这个规模正好位于 Qwen3 1.7B 与 Qwen3 4B 之间,如下图所示。

图 20:来自 SmolLM3 发布公告(https://huggingface.co/blog/smollm3)的一幅标注图,对比了 SmolLM3 与 Qwen3 1.7B、Qwen3 4B,以及 Llama 3 3B 和 Gemma 3 4B 的胜率表现

此外,SmolLM3 还像 OLMo 一样,公开了大量训练细节。这在当前的模型发布中并不常见,但非常值得肯定。

从下面的架构对比图可以看出,SmolLM3 的整体架构相当标准。不过,其中一个可能最有意思的地方,是它使用了 NoPE(No Positional Embeddings,无位置嵌入)

图 21:Qwen3 4B 与 SmolLM3 3B 的并排架构对比

7.1 No Positional Embeddings(NoPE)

NoPE 在 LLM 语境中并不是一个新概念,它最早可以追溯到 2023 年的一篇论文:《The Impact of Positional Encoding on Length Generalization in Transformers》。该工作提出,完全移除显式的位置编码(例如早期 GPT 架构中的绝对位置嵌入,或者当今普遍使用的 RoPE)。

在基于 Transformer 的 LLM 中,位置编码通常是必要的,因为自注意力机制本身并不感知 token 的顺序。绝对位置嵌入通过引入额外的嵌入层,将位置信息加到 token 嵌入中,从而解决这一问题。

图 22:改编自《Build A Large Language Model (From Scratch)》一书的一幅示意图,展示了绝对位置嵌入的工作方式

而 RoPE(旋转位置编码)则是通过根据 token 的位置,对查询(query)和键(key)向量进行旋转来注入位置信息。

相比之下,在 NoPE 层中,完全不引入任何形式的位置信号:既不是固定的,也不是可学习的,更不是相对的——什么都没有。

尽管没有显式的位置嵌入,模型仍然能够区分 token 的先后顺序,这是因为 因果注意力掩码(causal attention mask) 的存在。该掩码会阻止每个 token 关注未来的 token。因此,位于位置 t 的 token 只能看到位置 ≤ t 的 token,从而保留了自回归顺序。

也就是说,虽然模型中没有显式加入位置信息,但在结构层面仍然隐含了一种方向性,而在常规的基于梯度下降的训练过程中,LLM 可以学会利用这种结构性信息(如果这有助于优化目标)。有关更形式化的解释,可以参考 NoPE 论文中的定理部分。

总体而言,《NoPE》论文不仅发现 显式位置编码并非必要,还发现 NoPE 在 长度泛化能力 上表现更好,也就是说,当序列长度增加时,LLM 的回答性能下降得更慢,如下图所示。

图 23:来自 NoPE 论文(https://arxiv.org/abs/2305.19466)的一幅标注图,展示了使用 NoPE 后更好的长度泛化能力

需要注意的是,上述实验是在一个相对较小的 GPT 风格模型(约 1 亿参数)以及较小的上下文长度设置下完成的。目前尚不清楚这些结论在更大规模、当代 LLM 上是否仍然成立。

正因如此,SmolLM3 团队很可能采取了一种折衷策略:仅在每第 4 层中“应用” NoPE(或者更准确地说,是省略 RoPE),而不是在所有层中完全移除位置编码。

8. Kimi K2 与 Kimi K2 Thinking

Kimi K2 近期在 AI 社区引发了巨大反响,因为它是一款开源权重(open-weight)模型,同时还具备极其出色的性能。根据基准测试结果,它已经可以与当前最顶级的专有模型(如 Google 的 Gemini、Anthropic 的 Claude 以及 OpenAI 的 ChatGPT 系列模型)相媲美。

一个值得注意的方面是,Kimi K2 使用了 相对较新的 Muon 优化器的一个变体,而不是 AdamW。据我所知,这是 Muon 首次 被用于如此规模的生产级模型(此前它仅被证明最多可以扩展到 16B 规模)。这一选择带来了非常漂亮的训练损失曲线,这很可能是该模型能够在上述基准中脱颖而出的重要原因之一。

虽然有人评论说该模型的损失曲线异常平滑(因为几乎没有尖峰),但我个人认为它并非“异常”平滑(例如,可以对比下方图中 OLMo 2 的损失曲线;此外,梯度的 L2 范数或许是一个更好的训练稳定性指标)。不过,真正令人印象深刻的是 损失曲线下降得非常好

当然,正如本文开头所说,训练方法论本身将留待以后再讨论。

图 24:来自 Kimi K2 发布博客(https://moonshotai.github.io/Kimi-K2/)与OLMo 2 论文(https://arxiv.org/abs/2305.19466)的标注图

该模型本身拥有 1 万亿参数规模,这一点本身就极其震撼。

截至本文撰写时,它很可能是这一代中规模最大的 LLM(考虑到 Llama 4 Behemoth 尚未发布、专有 LLM 不计入比较范围,以及 Google 的 1.6 万亿参数 Switch Transformer 属于更早一代的 encoder–decoder 架构)。

从某种意义上说,这也形成了一个“闭环”:Kimi K2 使用的正是本文一开始介绍过的 DeepSeek V3 架构,只是将其进一步放大,如下图所示。

图 25.1:DeepSeek V3 与 Kimi K2 的架构对比

从上图可以看到,Kimi K2 在整体上几乎与 DeepSeek V3 相同,主要区别在于:它在 MoE 模块中使用了 更多的专家,而在 多头潜在注意力(MLA)模块中使用了更少的头数

Kimi K2 并非横空出世。在此前的 Kimi 1.5 模型中(发表于 Kimi k1.5: Scaling Reinforcement Learning with LLMs 一文),其表现同样令人印象深刻。然而,它运气不佳的是:DeepSeek R1 的论文恰好在同一天(1 月 22 日)发布。此外,据我所知,Kimi 1.5 的权重并未公开发布。

因此,很可能 Kimi K2 团队吸取了这些经验,在 DeepSeek R2 发布之前,就将 Kimi K2 以开源权重模型的形式发布出来。截至本文撰写时,Kimi K2 是最令人印象深刻的开源权重模型

更新说明:在 2025 年 11 月 6 日,Kimi K2 团队还发布了其新的 “Thinking” 模型变体。该版本在架构上与 Kimi K2 完全相同,唯一的变化是 上下文长度从 128k 扩展到了 256k

根据 Kimi 团队公布的基准测试结果([https://moonshotai.github.io/Kimi-K2/thinking.html),该模型的性能**超过了当前领先的专有](https://moonshotai.github.io/Kimi-K2/thinking.html),该模型的性能 超过了当前领先的专有) LLM。(遗憾的是,并未提供与 DeepSeek R1 的直接对比。)

图 25.2:DeepSeek R1 与 Kimi K2 Thinking 的架构对比(上),以及 Kimi K2 Thinking 的基准测试结果(下)

9. GPT-OSS

OpenAI 在我撰写本文大约一周之后,发布了 gpt-oss-120b 和 gpt-oss-20b,这是他们自 2019 年 GPT-2 以来首次发布的开源权重(open-weight)模型。鉴于 OpenAI 的开源权重模型长期以来备受期待,我对本文进行了更新,将它们纳入讨论。

我会尽量简要介绍这一部分,但我已经另外写了一篇更加详细、专门分析 gpt-oss 模型的文章:

From GPT-2 to gpt-oss: Analyzing the Architectural Advances

https://magazine.sebastianraschka.com/p/from-gpt-2-to-gpt-oss-analyzing-the

在总结这些有趣的细节之前,我们先从 gpt-oss-20b 和 gpt-oss-120b 这两个模型的整体架构概览开始,如下图所示。

图 26:两个 gpt-oss 模型的架构总览

从图 26 可以看到,该架构包含了我们在前面讨论过的其他架构中已经非常熟悉的所有组件。例如,图 27 将较小的 gpt-oss 架构与 Qwen3 30B-A3B 放在一起对比,后者同样是一个 MoE 模型,并且二者在激活参数数量上非常接近(gpt-oss 每个 token 激活 36 亿参数,而 Qwen3 30B-A3B 为 33 亿)。

图 27:gpt-oss 与 Qwen3 的架构对比

图 27 中未显示的一点是:gpt-oss 使用了滑动窗口注意力(类似于 Gemma 3),但它是在每隔一层中使用,而不是采用 5:1 的比例。

9.1 宽度 vs 深度

从图 27 可以看出,gpt-oss 和 Qwen3 使用了相似的组件。但如果仔细观察这两个模型,就会发现 Qwen3 是一个明显更“深”的架构,它包含 48 个 Transformer 块,而 gpt-oss 只有 24 个。

另一方面,gpt-oss 是一个明显更“宽”的架构

  • • 嵌入维度为 2880,而不是 2048
  • • 中间专家(前馈)投影维度同样为 2880,而不是 768

还值得注意的是,gpt-oss 使用了两倍数量的注意力头,不过这并不会直接增加模型的“宽度”,因为宽度由嵌入维度决定。

在参数总量固定的情况下,这两种方式哪一种更有优势呢?一般来说,更深的模型具有更高的灵活性,但由于梯度爆炸和梯度消失的问题,也更难训练(RMSNorm 和残差连接正是为了缓解这些问题)。

更宽的架构 的优势在于:由于并行度更高,在推理阶段通常速度更快(token/秒更高),但代价是更高的内存占用。

在建模性能方面,遗憾的是,我并不知道有什么真正“苹果对苹果”的对比实验(即在参数规模和数据集都保持一致的情况下)。唯一接近的例子是 Gemma 2 论文(表 9)中的一项消融实验:在一个 90 亿参数的架构中,更宽的设置略优于更深的设置。在 4 个基准测试上的平均分数中,宽模型为 52.0,而深模型为 50.8。

9.2 少量大型专家 vs 大量小型专家

从图 27 还可以看到一个值得注意的点:gpt-oss 的专家数量非常少(32 个,而不是 128 个),并且每个 token 只激活 4 个专家,而不是 8 个。不过,每个专家本身都比 Qwen3 中的专家要大得多。

这一点很有意思,因为近年来的趋势和研究结果更倾向于认为:更多、更小的专家更有利。在总参数规模固定的前提下,这种变化在 DeepSeekMoE 论文中的下图中得到了清晰展示。

图 28:来自《DeepSeekMoE: Towards Ultimate Expert Specialization in Mixture-of-Experts Language Models》的标注图,(https://arxiv.org/abs/2401.06066)

值得注意的是,与 DeepSeek 的模型不同,gpt-oss 和 Qwen3 都没有使用共享专家(shared expert)

9.3 注意力偏置与注意力汇点(Attention Sinks)

gpt-oss 和 Qwen3 都使用了分组查询注意力(GQA)。主要区别在于:gpt-oss 在每隔一层中通过滑动窗口注意力来限制上下文长度,正如前文所述。

不过,有一个细节引起了我的注意:gpt-oss 似乎在注意力权重中使用了偏置项(bias units),如下图所示。

图 29:gpt-oss 模型在注意力层中使用了偏置项

自 GPT-2 时代以来,我几乎没有再见过在注意力层中使用这些偏置项的做法,而且它们通常被认为是冗余的。事实上,我找到了一篇较新的论文,从数学上证明了这一点——至少对于 key 投影(k_proj)来说是如此。此外,实证结果也表明,是否使用偏置项几乎没有差别,如下图所示。

图 30:来自 https://arxiv.org/pdf/2302.08626 的表格,展示了从零训练、是否使用偏置项时的平均测试损失

你可能还注意到了图 30 中代码截图里对 attention sinks(注意力汇点) 的定义。在一般的模型中,注意力汇点是放置在序列开头的一些特殊“始终被关注”的 token,用于稳定注意力,尤其是在长上下文场景中。也就是说,即使上下文变得非常长,这个位于序列开头的特殊 token 仍然会被关注,并且它可以学习存储关于整个序列的一些通用信息。(我记得这个想法最早出现在《Efficient Streaming Language Models with Attention Sinks》一文中。

而在 gpt-oss 的实现中,注意力汇点并不是输入序列中的真实 token。相反,它们是按注意力头学习得到的偏置 logit,并被附加到注意力得分中,如下图所示。目标与前述注意力汇点相同,但不需要修改分词后的输入序列。

图 31:gpt-oss 中注意力汇点的使用方式;基于 Hugging Face 中的实现代码

如果你希望进一步了解 gpt-oss,以及它与 GPT-2 的对比分析,请参阅我专门撰写的另一篇文章:

From GPT-2 to gpt-oss: Analyzing the Architectural Advances:

https://magazine.sebastianraschka.com/p/from-gpt-2-to-gpt-oss-analyzing-the

10. Grok 2.5

在本文首次发布上线的几周之后,xAI 发布了其 270B 参数规模的 Grok 2.5 模型的权重

我认为有必要将其纳入本文的讨论范围,因为 Grok 2.5 是 xAI 去年的旗舰级生产模型。在此之前,我们讨论的所有模型都是一开始就以开源权重形式发布的。例如,gpt-oss 很可能并不是 GPT-4 的开源权重复刻,而是一个专门为开源社区训练的定制模型

而 Grok 2.5 则为我们提供了一个难得的机会,可以一窥真实生产系统的内部架构,尽管它已经是去年的模型。

从架构上看,Grok 2.5 整体上相当标准(如下图所示),但其中仍然包含了一些值得注意的细节。

图 32:Grok 2.5 与一个参数规模相近的 Qwen3 模型的并排对比

例如,Grok 2.5 使用了数量较少但规模较大的专家(8 个),这反映了一种相对较早的设计趋势。正如前文所讨论的,更近期的设计(例如 DeepSeekMoE 论文中所采用的方案)更倾向于 数量更多、规模更小的专家(这一趋势同样体现在 Qwen3 中)。

另一个有趣的设计选择是,Grok 2.5 使用了一种等价于共享专家(shared expert) 的结构。图 32 左侧所示的额外 SwiGLU 模块 起到了一个“始终启用”的共享专家的作用。虽然它并不完全等同于经典的共享专家设计(因为其中间层维度被加倍了),但其核心思想是相同的。

(我仍然觉得很有意思的一点是:Qwen3 放弃了共享专家机制,而未来在 Qwen4 及之后的模型中,这一设计是否会再次回归,将会非常值得关注。)

11. GLM-4.5

GLM-4.5 是今年的另一项重要发布。

它是一种指令/推理混合模型,类似于 Qwen3,但在函数调用和 agent 风格的上下文方面做了更深度的优化。

图 33:来自官方 GitHub 仓库 https://github.com/zai-org/GLM-4.5 的 GLM-4.5 基准测试结果

如图 33 所示,GLM-4.5 提供两个版本。旗舰版的 3550 亿参数模型在 12 项基准测试的平均表现上超过了 Claude 4 Opus,仅略微落后于 OpenAI 的 o3 和 xAI 的 Grok 4。与此同时,还有 GLM-4.5-Air,这是一个更紧凑的 1060 亿参数版本,其性能仅比 3550 亿参数模型略低。

图 34 将 3550 亿参数版本的架构与 Qwen3 进行了对比。

图 34:GLM-4.5 与一个尺寸相近的 Qwen3 模型对比

整体设计大体相似,但 GLM-4.5 采用了一种最早由 DeepSeek V3 引入的结构性选择:在 Mixture-of-Experts(MoE)模块之前先放置 3 个致密层。为什么要这样做?在大型 MoE 系统中,从若干致密层开始可以提升收敛稳定性和整体性能。如果一开始就引入 MoE 路由,稀疏专家选择带来的不稳定性可能会干扰早期的句法和语义特征提取。因此,可以说,通过保持初始层为致密结构,可以确保模型在路由决策开始影响高层处理之前,先形成稳定的低层表示。

此外,GLM-4.5 使用了类似于 DeepSeek V3 的共享专家(shared expert),而 Qwen3 则没有采用这种设计。

(有意思的是,GLM-4.5 还保留了 GPT-2 和 gpt-oss 中使用的注意力偏置机制。)

12. Qwen3-Next

在 2025 年 9 月 11 日,Qwen3 团队发布了 Qwen3 Next 80B-A3B(见图 35),同时提供 Instruct 和 Thinking 两个变体。尽管其整体设计建立在前文讨论过的 Qwen3 架构之上,但我仍将其作为一个单独条目纳入本文,一方面是为了保持图号编号的一致性,另一方面也是为了突出其在设计上的一些变化。

12.1 专家规模与数量

新的 Qwen3 Next 架构之所以引人注目,是因为尽管它在规模上比此前的 235B-A22B 模型(图 35)小了 3 倍,却引入了多达 4 倍数量的专家,甚至还新增了一个共享专家。这两个设计选择(较高的专家数量以及引入共享专家)正是我在该模型发布之前所强调过的未来发展方向,尤其是在我在文章顶部链接的视频版本中曾特别提到过。

图 35:5 月发布的原始 Qwen3 模型(左)与 9 月发布的 Qwen3 Next 模型(右)

12.2 Gated DeltaNet + Gated Attention 混合机制

另一个亮点在于,他们用一种 Gated DeltaNet + Gated Attention 的混合机制替换了常规的注意力机制,这在内存使用层面上帮助实现了原生的 262k token 上下文长度(此前的 235B-A22B 模型原生支持 32k,通过 YaRN 缩放可支持 131k)。

那么,这种新的注意力混合机制是如何工作的呢?与分组查询注意力(Grouped-Query Attention,GQA)相比,后者仍然是标准的缩放点积注意力(通过在查询头组之间共享 K/V 来减少 KV 缓存大小和内存带宽消耗,正如前文所讨论的,但其解码成本和缓存仍会随着序列长度增长),这种混合机制按照图 36 所示,以 3:1 的比例将 Gated DeltaNet 模块与 Gated Attention 模块交替组合。

图 36:Gated DeltaNet + Gated Attention 混合机制。注意,这些模块以 3:1 的比例排列,即 3 个带有 Gated DeltaNet 的 transformer 块之后,跟随 1 个带有 Gated Attention 的 transformer 块。右侧子图来自官方 Qwen3 博客:https://qwen.ai/blog?id=4074cca80393150c248e508aa62983f9cb7d27cd&from=research.latest-advancements-list

我们可以将 gated attention 模块视为一种可用于 GQA 的标准缩放点积注意力,但在此基础上做了一些调整。gated attention 与普通 GQA 模块之间的主要差异包括:

  1. 1. 一个输出门控(由 sigmoid 控制,通常是逐通道的),用于在将注意力结果加回残差之前对其进行缩放;
  2. 2. 用于 QK-Norm 的零中心 RMSNorm,而不是标准 RMSNorm;
  3. 3. 部分 RoPE(仅作用于部分维度)。

需要注意的是,这些本质上都只是针对 GQA 的稳定性改进。

Gated DeltaNet 则是一项更为显著的变化。在 DeltaNet 模块中,q、k、v 以及两个门控(α、β)由线性层和轻量级卷积层(配合归一化)共同生成,并且该层用一种快速权重的 delta 规则更新来替代注意力机制。

然而,其代价在于,DeltaNet 在基于内容的精确检索能力上不如完整注意力机制,这也是为何仍然保留了一层 gated attention。

鉴于注意力机制的计算复杂度随序列长度呈二次增长,引入 DeltaNet 组件是为了提升内存效率。在“线性时间、无缓存”这一类方法中,DeltaNet 模块本质上可以被视为 Mamba 的一种替代方案。Mamba 通过学习到的状态空间滤波器来维护状态(本质上是一种随时间变化的动态卷积),而 DeltaNet 则维护一个由 α 和 β 更新的微型快速权重记忆,并通过 q 对其进行读取;小型卷积仅用于辅助生成 q、k、v、α、β。

12.3 多 token 预测(Multi-Token Prediction)

前两个小节描述了两项以效率为导向的设计决策。既然好事成三,Qwen3 还在此基础上增加了另一项效率技术:多 token 预测(Multi-Token Prediction,MTP)。

(需要注意的是,DeepSeek V3 与 V3.2,以及后来的 GLM-4.5 和 MiniMax-M2,都在训练阶段使用了 MTP;不过,由于它是一种训练技术,我并未在架构对比中对其进行明确讨论。)

多 token 预测训练 LLM 在每一步中预测多个未来 token,而不是仅预测一个。在这里,对于每一个位置 t,会通过一些额外的小型头部(线性层)输出对 t+1 … t+k 的 logits,并对这些偏移位置的交叉熵损失进行求和(在 MTP 论文中,研究人员推荐 k=4)。这一额外的监督信号可以加快训练速度,而在推理阶段仍然可以保持一次生成一个 token 的方式。不过,这些额外的头部也可以用于推测式的多 token 解码,而这似乎正是 Qwen3-Next 所采用的方式,尽管目前披露的细节仍然相对有限:

Qwen3-Next 引入了一种原生的多 token 预测(MTP)机制,该机制不仅产生了一个在推测式解码中具有较高接受率的 MTP 模块,还提升了整体性能。此外,Qwen3-Next 还专门优化了 MTP 的多步推理性能,通过保持训练与推理一致性的多步训练,在真实场景中进一步提高了推测式解码的接受率。
来源:Qwen3-Next 博客文章
https://qwen.ai/blog?id=4074cca80393150c248e508aa62983f9cb7d27cd&from=research.latest-advancements-list

未完待续...

https://magazine.sebastianraschka.com/p/the-big-llm-architecture-comparison

如果觉得内容不错,欢迎你点一下「在看」,或是将文章分享给其他有需要的人^^

相关好文推荐:

从 DeepSeek V3 到 Mistral 3 Large:现代大语言模型(LLM)架构设计概览(一)| Sebastian Raschka

Agent 设计模式 | Lance

递归语言模型(Recursive Language Models) | Alex Zhang

重新构想 LLM 记忆:将上下文作为训练数据,使模型能够在测试时学习 | Nvidia

Manus 中的上下文工程 | Lance

引入嵌套学习(Nested Learning):一种用于持续学习的全新机器学习范式

如何构建多智能体研究系统

真正决定 AI 系统上限的是什么?

软件 2.0 | karpathy

2025年 LLM 年度回顾 | karpathy

苦涩的教训

0条留言

留言