2024-2025年LLM架构全解析:从DeepSeek到Qwen3的技术演进与核心创新!
简介
本文详细分析了2024-2025年主流大语言模型(LLM)的架构创新,包括DeepSeek V3/R1的多头潜在注意力(MLA)和混合专家(MoE)、OLMo 2的规范化层布局、Gemma 3的滑动窗口注意力等。文章探讨了这些架构如何通过技术创新提高计算效率和性能,展示了LLM领域的技术发展趋势,为开发者和研究者提供了宝贵的架构设计参考。
自最初的GPT架构诞生至今,已经过去了七年。
初看之下,回顾GPT-2(2019年)并展望DeepSeek-V3和Llama 4(2024-2025年),技术佬们可能会惊讶于这些模型在结构上仍然如此相似。
当然,位置嵌入已经从绝对嵌入演进到旋转嵌入(RoPE),多头注意力机制已基本被分组查询注意力机制所取代,而更高效的 SwiGLU 也取代了 GELU 等激活函数。但在这些细微的改进背后,我们是否真正看到了突破性的变化,还是仅仅在打磨相同的架构基础?
比较 LLM 以确定有助于其良好(或不太好)性能的关键因素是出了名的困难:数据集、训练技术和超参数差异很大,而且通常没有很好的记录。
然而,我认为研究架构本身的结构变化以了解 LLM 开发人员在接下来会做什么仍然很有价值。(其中的一部分如下图 1[1] 所示。)

图1:本文所涵盖架构的一个子集。
因此,在本文中不会撰写有关基准性能或训练算法的文章,而是重点介绍定义当今开放模型的架构发展。
01
DeepSeek V3/R1
你可能已经听说过不止一次,DeepSeek R1在 2025 年 1 月发布时引起了巨大反响。DeepSeek R1 是基于2024 年 12 月推出的DeepSeek V3 架构构建的推理模型。
虽然本文在这里关注的是 2025 年发布的架构,但我认为包含 DeepSeek V3 是合理的,因为它是在 2025 年推出 DeepSeek R1 后才获得广泛关注和采用的。
在本节中,将重点介绍 DeepSeek V3 中引入的两种关键架构技术,这些技术提高了其计算效率,并使其有别于许多其他 LLM:
- 多头潜在注意力(MLA)
- 混合专家(MoE)
1.1 多头潜在注意力(Multi-Head Latent Attention,MLA)
在讨论多头潜在注意力 (MLA) 之前,我们先简单回顾一下背景知识,解释一下它的应用。
首先,我们来谈谈分组查询注意力 (Grouped-Query Attention,GQA)。近年来,GQA 已成为多头注意力 (Multi-Head Attention,MHA) 的新标准替代者,它在计算和参数方面都更具效率。
以下是 GQA 的简要总结。与 MHA 不同,MHA 中的每个 head 都有自己的一组键和值,为了减少内存占用,GQA 将多个 head 分组以共享相同的键和值投影。
例如,如下图 2 所示,如果有 2 个键值组和 4 个注意力头,那么注意力头 1 和 2 可能共享一组键值对,而注意力头 3 和 4 则共享另一组键值对。这减少了键值对的计算总量,从而降低了内存占用并提高了效率(根据消融研究,这不会显著影响建模性能)。

图2:MHA与GQA之间的比较。在这里,组大小为2,其中一对键值在2个查询之间共享。
因此,GQA 的核心思想是通过在多个查询头之间共享键值头来减少键值头的数量。这不仅可以降低模型的参数数量,还可以减少推理过程中键值张量的内存带宽占用,因为需要存储和从键值缓存中检索的键值更少。
这份完整版的大模型 AI 学习和面试资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
虽然 GQA 主要是 MHA 的一种计算效率解决方法,但消融研究(例如原始 GQA 论文和Llama 2 论文中的研究)表明,就 LLM 建模性能而言,它的表现与标准 MHA 相当。
现在,多头潜在注意力 (MLA) 提供了一种不同的内存节省策略,并且与键值缓存 (KV Cache) 配合得非常好。MLA 不像 GQA 那样共享键值头,而是将键值张量压缩到低维空间,然后再将它们存储在键值缓存中。
在推理时,这些压缩的张量会被投影回其原始大小,然后再使用,如下图 3 所示。这增加了额外的矩阵乘法,但减少了内存使用量。

图 3:MLA(用于 DeepSeek V3 和 R1)与常规 MHA 的比较。
顺便说一句,查询也被压缩,但仅在训练期间,而不是推理期间。MLA 并非 DeepSeek V3 中的新特性,其前身 DeepSeek-V2也曾使用(甚至引入)过它。此外,V2 论文中包含一些有趣的消融研究,或许可以解释 DeepSeek 团队为何选择 MLA 而非 GQA(见下图 4)。

图 4:DeepSeek-V2 论文中的注释表
如上图 4 [2]所示,GQA 的性能似乎不如 MHA,而 MLA 的建模性能优于 MHA,这可能就是 DeepSeek 团队选择 MLA 而非 GQA 的原因。(如果能比较一下 MLA 和 GQA 之间“每个token的键值缓存”节省情况,也一定很有趣!)
在我们进入下一个架构组件之前,总结一下本节,MLA 是一个巧妙的技巧,可以减少 KV 缓存内存的使用,同时在建模性能方面甚至略胜于 MHA。
1.2 混合专家(Mixture-of-Experts,MoE)
DeepSeek 中另一个值得强调的主要架构组件是它对混合专家 (MoE) 层的使用。虽然 DeepSeek 并非 MoE 的发明者,但它在今年再次兴起,我们稍后将介绍的许多架构也都采用了它。
你可能已经熟悉 MoE,但快速回顾一下可能会有所帮助。
MoE 的核心思想是用多个专家层替换 Transformer 模块中的每个前馈模块,其中每个专家层本身也是一个前馈模块。这意味着我们将单个前馈模块替换为多个前馈模块,如下图 5 所示。

图 5:DeepSeek V3/R1 中的混合专家 (MoE) 模块(右)与具有标准前馈块的 LLM(左)的比较图。
Transformer 模块内的 FeedForward 模块(如上图中深灰色模块所示)通常包含大量模型总参数。(请注意,Transformer 模块以及 FeedForward 模块在 LLM 中重复多次;在 DeepSeek-V3 中,重复了 61 次。)
因此,用多个前馈模块替换单个前馈模块(就像在 MoE 设置中所做的那样)会显著增加模型的总参数数量。然而,关键在于我们不会为每个 token 使用(“激活”)所有专家。相反,路由器只会为每个 token 选择一小部分专家。(出于时间或文章篇幅的考虑,我将在下次更详细地介绍路由器。)
由于每次只有少数专家处于活跃状态,因此 MoE 模块通常被称为稀疏模块,这与始终使用完整参数集的密集模块形成对比。然而,通过 MoE 获得的大量参数增加了 LLM 的容量,这意味着它可以在训练期间吸收更多知识。然而,稀疏性保持了推理的高效性,因为我们不会同时使用所有参数。
例如,DeepSeek-V3 每个 MoE 模块有 256 位专家,总共 6710 亿个参数。然而,在推理过程中,每次只有 9 位专家处于活动状态(1 位共享专家加上 8 位由路由器选择的专家)。这意味着每个推理步骤仅使用 370 亿个参数,而不是全部 6710 亿个参数。
DeepSeek-V3 的 MoE 设计的一个显著特点是使用了一个共享专家。这是一个始终对每个 token 保持活跃的专家。这个想法并不新鲜,早在DeepSeek 2024 MoE[3]和2022 DeepSpeedMoE[4]论文中就已提出。

图 6:来自“DeepSeekMoE: Towards Ultimate Expert Specialization in Mixture-of-Experts Language Models”的注释图
DeepSpeedMoE 论文首次提出了共享专家的优势,他们发现与没有共享专家相比,共享专家可以提升整体建模性能。这可能是因为多个专家无需学习常见或重复的模式,从而为它们提供了更多学习更专业模式的空间。
1.3 DeepSeek总结
总而言之,DeepSeek-V3 是一个拥有 6710 亿个参数的庞大模型,在发布时,其性能优于其他开放权重模型,包括 405B 的 Llama 3。尽管规模更大,但由于其混合专家 (MoE) 架构,它在推理时间上效率更高,该架构每个标记仅激活一小部分(仅 370 亿个)参数。
DeepSeek-V3 的另一个关键区别在于它使用了多头潜在注意力 (MLA) 算法,而非分组查询注意力 (GQA)。MLA 和 GQA 都是标准多头注意力 (MHA) 的高效推理替代方案,尤其是在使用键值缓存时。虽然 MLA 的实现更为复杂,但 DeepSeek-V2 论文中的一项研究表明,MLA 的建模性能优于 GQA。
02
OLMo 2
非营利机构艾伦人工智能研究所的OLMo系列模型值得关注,因为它在训练数据和代码方面非常透明,并且技术报告也相对详细。
虽然你可能不会在任何基准或排行榜的顶部找到 OLMo 模型,但它们非常干净,更重要的是,由于它们的透明度,它们是开发 LLM 的绝佳蓝图。
虽然 OLMo 模型因其透明度而广受欢迎,但它们的表现也并不差。事实上,在 1 月份发布时(Llama 4、Gemma 3 和 Qwen 3 之前),OLMo 2 模型处于计算性能比的帕累托前沿,如下图 7 [5]所示。

图 7:不同 LLM 的建模基准性能(越高越好)与预训练成本(FLOP;越低越好)的关系。
正如本文前面提到的,本文旨在仅关注 LLM 架构细节(而非训练或数据),以使其保持在可控的篇幅内。那么,OLMo2 中有哪些有趣的架构设计选择呢?主要归结为规范化:RMSNorm 层的放置以及 QK 范数的添加,将在下文讨论。
另外值得一提的是,OLMo 2 仍然采用传统的多头注意力(MHA),而不是 MLA 或 GQA。
2.1 规范化层布局
总体而言,OLMo 2 在很大程度上遵循了原始 GPT 模型的架构,与其他当代 LLM 类似。然而,也存在一些值得注意的差异。让我们从规范化层开始。
与 Llama、Gemma 和大多数其他 LLM 类似,OLMo 2 从 LayerNorm 转换为 RMSNorm。
但由于 RMSNorm 已经过时(它本质上是 LayerNorm 的简化版本,可训练参数更少),本文将跳过 RMSNorm 与 LayerNorm 的讨论。
然而,RMNSorm 层的放置位置值得讨论。原始 Transformer 将两个规范化层分别放置在 Transformer 模块中的注意力模块和前馈模块之后。这也称为 Post-LN 或 Post-Norm。
GPT 和之后出现的大多数 LLM 将归一化层置于注意力模块和前馈模块之前,这被称为 Pre-LN 或 Pre-Norm。下图展示了 Post-Norm 和 Pre-Norm 之间的对比。

图 8:后规范、前规范和 OLMo 2 后规范风格的比较。
2020年,Xiong 等人证明了 Pre-LN 在初始化时能够产生更良好的梯度。此外,研究人员还提到,Pre-LN 甚至无需仔细预热学习率就能很好地工作,而预热学习率是 Post-LN 的关键工具。
我之所以提到这一点,是因为 OLMo 2 采用了一种 Post-LN 的形式(不过它使用的是 RMSNorm 而不是 LayerNorm,所以我称它为 Post-Norm)。
在 OLMo 2 中,规范化层不再位于注意力层和前馈层之前,而是位于其后,如上图所示。然而,请注意,与原始 Transformer 架构不同,规范化层仍然位于残差层内部(跳过连接)。
那么,他们为什么要移动归一化层的位置呢?原因是这有助于训练稳定性,如下图9[5]所示。

图 9:该图展示了 Pre-Norm(类似 GPT-2、Llama 3 等)与 OLMo 2 的 Post-Norm 的训练稳定性对比。
遗憾的是,这张图将重排序的结果与 QK-Norm 的结果放在一起展示,而 QK-Norm 是一个独立的概念。因此,很难判断归一化层重排序本身的贡献有多大。
2.2 QK-Norm
由于上一节已经提到了 QK-Norm,并且稍后讨论的其他 LLM,例如 Gemma 2 和 Gemma 3,也使用了 QK-Norm,这里来简单讨论一下什么是 QK-Norm。
QK-Norm 本质上是另一个 RMSNorm 层。它位于多头注意力 (MHA) 模块内部,并在应用 RoPE 之前应用于查询 (q) 和键 (k)。为了说明这一点,下面是为 Qwen3 从头实现编写的分组查询注意力 (GQA) 层的摘录(GQA 中的 QK-norm 应用类似于 OLMo 中的 MHA):
class GroupedQueryAttention(nn.Module):
def__init__(
self, d_in, num_heads, num_kv_groups,
head_dim = None, qk_norm = False, dtype = None
):
# ...
if qk_norm:
self.q_norm = RMSNorm(head_dim, eps = 1e-6)
self.k_norm = RMSNorm(head_dim, eps = 1e-6)
else:
self.q_norm = self.k_norm = None
def forward(self, x, mask, cos, sin):
b, num_tokens, _ = x.shape
# Apply projections
queries = self.W_query(x)
keys = self.W_key(x)
values = self.W_value(x)
# ...
# Optional normalization
if self.q_norm:
queries = self.q_norm(queries)
if self.k_norm:
keys = self.k_norm(keys)
# Apply RoPE
queries = apply_rope(queries, cos, sin)
keys = apply_rope(keys, cos, sin)
# Expand K and V to match number of heads
keys = keys.repeat_interleave(self.group_size, dim = 1)
values = values.repeat_interleave(self.group_size, dim = 1)
# Attention
attn_scores = queries@keys.transpose(2, 3)
# ...
如前所述,QK-Norm 与 Post-Norm 配合使用可以稳定训练。需要注意的是,QK-Norm 并非由 OLMo 2 发明,而是可以追溯到2023 年的 Scaling Vision Transformers 论文。
2.3 OLMo 2 总结
简而言之,值得注意的 OLMo 2 架构设计决策主要是 RMSNorm 的放置:将 RMSNorm 放在注意力和前馈模块之后而不是之前(后范式的一种),以及在注意力机制内为查询和键添加 RMSNorm(QK-Norm),这两者共同有助于稳定训练损失。
下图进一步并排比较了 OLMo 2 和 Llama 3。可以看出,除了 OLMo 2 仍然使用传统的 MHA 而非 GQA 之外,它们的架构在其他方面相对相似。(不过,OLMo 2 团队在 3 个月后发布了使用 GQA 的 32B 版本。)

图 10:Llama 3 和 OLMo 2 的架构比较。
03
Gemma 3
Google 的 Gemma 系列模型一直都非常出色,我认为与其他流行模型(如 Llama 系列)相比,它们一直有点被低估。
Gemma 的一大特色是其词汇量相当大(以便更好地支持多种语言),并且更注重 27B 的规模(而非 8B 或 70B)。但请注意,Gemma 2 也有较小的规模:1B、4B 和 12B。
27B 尺寸达到了一个非常好的最佳点:它比 8B 型号功能强大得多,但不像 70B 型号那样占用大量资源。
那么, Gemma 3还有什么有趣的地方呢?如前所述,其他模型(例如 Deepseek-V3/R1)使用混合专家 (MoE) 架构,在模型大小固定的情况下减少推理时的内存需求。
Gemma 3 使用不同的“技巧”来降低计算成本,即滑动窗口注意力。
3.1 滑动窗口注意力机制
借助滑动窗口注意力机制(最初于 2020 年在 LongFormer 论文中提出,并且已被Gemma 2使用),Gemma 3 团队能够大幅减少 KV 缓存中的内存需求,如下图11[6]所示。

图 11:Gemma 3 论文中的带注释的图表,展示了通过滑动窗口注意力机制实现的 KV 缓存内存节省。
那么,什么是滑动窗口注意力机制?
如果我们将常规的自注意力机制视为一种全局注意力机制,因为每个序列元素都可以访问其他所有序列元素;那么,我们可以将滑动窗口注意力机制视为局部注意力机制,因为在这里,我们将上下文大小限制在当前查询位置附近。如下图所示。

图 12:常规注意力(左)和滑动窗口注意力(右)的比较。
请注意,滑动窗口注意力可以与多头注意力和分组查询注意力一起使用;Gemma 3 使用分组查询注意力。
如上所述,滑动窗口注意力机制也称为局部注意力机制,因为局部窗口会围绕当前查询位置并随之移动。相比之下,常规注意力机制则是全局的,因为每个标记都可以访问所有其他标记。
正如上文简要提到的,Gemma 2 的前身架构也曾使用过滑动窗口注意力机制。Gemma 3 的不同之处在于,他们调整了全局(常规)注意力机制和局部(滑动)注意力机制之间的比例。
例如,Gemma 2 采用了一种混合注意力机制,将滑动窗口(局部)注意力和全局注意力以 1:1 的比例组合在一起。每个 token 可以关注附近上下文的 4k 个 token 窗口。
Gemma 2 每隔一层都使用滑动窗口注意力机制,而 Gemma 3 则采用了 5:1 的比例,这意味着每 5 个滑动窗口(局部)注意力层中只有一个完整的注意力层;此外,滑动窗口大小从 4096(Gemma 2)减小到 1024(Gemma 3)。这使得模型的重点转向更高效的局部计算。
根据他们的消融研究,使用滑动窗口注意力对建模性能的影响最小,如下图13[6]所示。

图 13:Gemma 3 论文中的注释图,显示滑动窗口注意力对 LLM 生成的输出困惑度几乎没有影响。
虽然滑动窗口注意力是 Gemma 3 中最值得注意的架构方面,但作为上一节 OLMo 2 的后续,我还想简要介绍一下规范化层的放置。
3.2 Gemma 3 中的规范化层放置
值得强调的一个小而有趣的花絮是,Gemma 3 在其分组查询注意模块的 Pre-Norm 和 Post-Norm 设置中使用 RMSNorm。
这与 Gemma 2 类似,但仍然值得强调,因为它不同于原始 Transformer 中使用的 Post-Norm,由 GPT-2 推广并在之后的许多其他架构中使用的 Pre-Norm,以及我们之前看到的 OLMo 2 中的 Post-Norm 风格。

图 14:OLMo2 和 Gemma 3 之间的架构比较;请注意 Gemma 3 中的附加规范化层。
我认为这种归一化层放置方法相对直观,因为它兼顾了两种方法的优点:预归一化和后归一化。在我看来,增加一些额外的归一化操作总是好的。在最坏的情况下,如果额外的归一化操作是多余的,则会因冗余而导致效率低下。不过,在实践中,由于 RMSNorm 总体上相对便宜,因此这应该不会造成任何明显的影响。
3.3 Gemma 3 总结
Gemma 3 是一款性能良好的开放权重法学硕士 (LLM),但在我看来,它在开源圈中有点被低估了。它最有趣的部分是使用滑动窗口注意力机制来提高效率(未来将其与 MoE 结合起来会很有趣)。
此外,Gemma 3 具有独特的规范化层放置,将 RMSNorm 层放置在注意力和前馈模块之前和之后。
这份完整版的大模型 AI 学习和面试资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
3.4 附带提一嘴:Gemma 3n
在 Gemma 3 发布几个月后,谷歌分享了Gemma 3n ,这是一款针对小型设备效率进行了优化的 Gemma 3 型号,目标是在手机上运行。
Gemma 3n 中为了提高效率而做出的改进之一是所谓的“逐层嵌入 (PLE)”参数层。其核心思想是仅将模型参数的子集保存在 GPU 内存中。然后,特定于 token 层的嵌入(例如用于文本、音频和视觉模态的嵌入)将按需从 CPU 或 SSD 流式传输。
下图15[7]展示了 PLE 内存节省情况,列出了标准 Gemma 3 模型的 54.4 亿个参数。这可能指的是 Gemma 3 的 40 亿个变体。

图 15:来自 Google 的 Gemma 3n 博客[参考7]的带注释的图表,说明了 PLE 内存节省。
54.4 亿和 40 亿参数数量的差异,是因为谷歌在 LLM 中报告参数数量的方式很有意思。他们通常会排除嵌入参数,以使模型看起来更小,但在这种情况下,为了方便起见,可以添加嵌入参数来使模型看起来更大。这并非谷歌独有,因为这种方法已成为整个领域的普遍做法。
另一个有趣的技巧是MatFormer概念(Matryoshka Transformer 的缩写)。例如,Gemma 3n 使用单个共享的 LLM(Transformer)架构,该架构可以拆分成更小、可独立使用的模型。每个模型都经过训练,可以独立运行,因此在推理时,我们可以只运行所需的部分(而不是整个大型模型)。
04
Mistral Small 3.1
Mistral Small 3.1 24B于 3 月在 Gemma 3 发布后不久发布,值得注意的是,它在多个基准测试(数学除外)上的表现均优于 Gemma 3 27B,而且速度更快。
Mistral Small 3.1 推理延迟低于 Gemma 3 的原因很可能在于其自定义的分词器,以及缩减了键值缓存和层数。除此之外,它仍然是一个标准架构,如下图所示。

图 16:Gemma 3 27B 和 Mistral 3.1 Small 24B 的架构比较。
有趣的是,早期的 Mistral 模型曾使用过滑动窗口注意力机制,但在 Mistral Small 3.1 中似乎放弃了它。因此,由于 Mistral 使用的是常规的分组查询注意力机制,而不是像 Gemma 3 中那样使用带滑动窗口的分组查询注意力机制,或许由于能够使用更优化的代码(例如 FlashAttention),可以节省额外的推理计算成本。例如,我推测,虽然滑动窗口注意力机制可以减少内存使用量,但它并不一定能降低推理延迟,而这正是 Mistral Small 3.1 的重点所在。
05
Llama 4
Llama 4也采用了 MoE 方法,并且遵循与 DeepSeek-V3 非常相似的相对标准的架构,如下图所示。(Llama 4 包含原生的多模态支持,类似于 Gemma 和 Mistral 等模型。但是,由于本文重点关注语言建模,因此我们仅关注文本模型。)

图 17:DeepSeek V3(6710 亿个参数)和 Llama 4 Maverick(4000 亿个参数)的架构比较。
虽然 Llama 4 Maverick 架构总体上与 DeepSeek-V3 非常相似,但仍有一些有趣的差异值得强调。
首先,Llama 4 使用了与其前代产品类似的分组查询注意力机制 (GQA),而 DeepSeek-V3 则使用了我们在本文开头讨论过的多头潜在注意力机制 (MLA)。DeepSeek-V3 和 Llama 4 Maverick 都是非常庞大的架构,其中 DeepSeek-V3 的总参数数量大约比 Llama 4 Maverick 多 68%。然而,DeepSeek-V3 拥有 370 亿个活跃参数,是 Llama 4 Maverick(170 亿)的两倍多。
Llama 4 Maverick 采用了更经典的 MoE 设置,其专家数量更少但规模更大(2 名活跃专家,每名专家的隐藏层大小为 8192),而 DeepSeek-V3 则使用了 9 名活跃专家,每名专家的隐藏层大小为 2048。此外,DeepSeek 在每个转换器模块(前 3 个除外)中都使用了 MoE 层,而 Llama 4 则在每个转换器模块中交替使用 MoE 和密集模块。
由于不同架构之间存在许多细微差异,因此很难确定它们对最终模型性能的确切影响。然而,值得关注的是,MoE 架构在 2025 年的受欢迎程度将显著上升。
06
Qwen3
Qwen 团队始终如一地提供高质量的开放权重的大语言模型。
现在,Qwen3 是又一个热门模型系列,在同尺寸类别中位居榜首。它包含 7 个高密度模型:0.6B、1.7B、4B、8B、14B 和 32B。此外,还有 2 个 MoE 模型:30B-A3B 和 235B-A22B。
(顺便说一句,请注意“Qwen3”中缺少的空格并不是拼写错误;我只是尝试保留 Qwen 开发人员选择的原始拼写。)
6.1 Qwen3(Dense)
我们先来讨论一下密集模型架构。截至撰写本文时,0.6B 模型很可能是目前市面上最小的开放权重模型。根据我的个人经验,考虑到其小巧的体积,它的性能确实非常出色。如果你打算在本地运行它,它拥有很高的 token/s 吞吐量和较低的内存占用。更重要的是,由于其体积小巧,它也很容易在本地进行训练(用于教育目的)。
因此,对我来说,Qwen3 0.6B 在大多数情况下已经取代了 Llama 3 1B。这两种架构的比较如下所示。

图 18:Qwen3 0.6B 和 Llama 3 1B 之间的架构比较;请注意,Qwen3 是一种更深的架构,具有更多的层,而 Llama 3 是一种更宽的架构,具有更多的注意力头。
上图中的计算性能数据基于在 A100 GPU 上运行的 PyTorch 实现。可以看出,Qwen3 的内存占用较小,因为它的整体架构较小,但使用的隐藏层和注意力头也更少。然而,它使用的 Transformer 模块比 Llama 3 更多,这导致运行速度较慢(每秒生成 token 的速度较低)。
6.2 Qwen3(MoE)
如前所述,Qwen3 也有两种 MoE 版本:30B-A3B 和 235B-A22B。为什么有些架构(例如 Qwen3)会同时提供常规(密集)和 MoE(稀疏)版本?
正如本文开头所述,MoE 变体有助于降低大型基础模型的推理成本。同时提供密集模型和 MoE 版本,让用户能够根据自己的目标和约束条件灵活地进行推理。
密集模型通常更容易在各种硬件上进行微调、部署和优化。
另一方面,MoE 模型针对扩展推理进行了优化。例如,在固定的推理预算下,它们可以实现更高的整体模型容量(即,由于规模较大,训练期间的知识吸收量更高),而无需相应增加推理成本。
通过发布这两种类型,Qwen3 系列可以支持更广泛的用例:用于稳健性、简单性和微调的密集模型,以及用于大规模高效服务的 MoE 模型。
为了总结本节,让我们看看 Qwen3 235B-A22B(注意,A22B 代表“22B 活动参数”)和 DeepSeek-V3,后者的活动参数几乎是 Qwen3 235B-A22B 的两倍(37B)。

图 19:DeepSeek-V3 和 Qwen3 235B-A22B 的架构比较。
如上图所示,DeepSeek-V3 和 Qwen3 235B-A22B 架构非常相似。值得注意的是,Qwen3 模型不再使用共享专家(早期的 Qwen 模型,例如Qwen2.5-MoE,确实使用了共享专家)。
遗憾的是,Qwen3 团队并未透露放弃共享专家的任何原因。如果非要我猜的话,可能是因为在他们将专家数量从2个(Qwen2.5-MoE中的设置)增加到8个(Qwen3中的设置)时,对于他们那个训练架构的稳定性来说,并没有这个必要。然后,他们通过只使用8个专家而不是8+1个专家,节省了额外的计算和内存开销。(不过,这并不能解释为什么DeepSeek-V3仍然保留了它的共享专家。)
Qwen3的开发者之一Junyang Lin对此做出了如下回应:
当时,我们并没有发现共享专家有足够显著的改进,我们担心共享专家会导致推理优化问题。说实话,这个问题没有直接的答案。
07
SmolLM 3
SmolLM 3[8] 可能不如本文介绍的其他 LLM 那么受欢迎,但我认为它仍然是一个有趣的模型,因为它在相对较小且方便的 30 亿参数模型大小下提供了非常好的建模性能,该模型大小介于 1.7B 和 4B Qwen3 模型之间,如下图所示。
而且,它还分享了很多训练细节,类似于OLMo,这是很少见的,而且总是令人赞赏!

图 20:来自 SmolLM3 的注释图,将 SmolLM3 的胜率与 Qwen3 1.7B 和 4B 以及 Llama 3 3B 和 Gemma 3 4B 进行了比较。
如下面的架构对比图所示,SmolLM 3 架构看起来相当标准。不过,最有趣的一点或许是它使用了 NoPE(无位置嵌入)。

图 21:Qwen3 4B 和 SmolLM3 3B 的并排架构比较。
7.1 No Positional Embeddings(NoPE)
在 LLM 环境中,NoPE 是一个较旧的想法,可以追溯到 2023 年的一篇论文(The Impact of Positional Encoding on Length Generalization in Transformers[9]),旨在消除显式的位置信息注入(例如通过早期 GPT 架构中的经典绝对位置嵌入层或现在的 RoPE)。
在基于 Transformer 的 LLM 中,位置编码通常是必需的,因为自注意力机制会独立于顺序来处理 token。绝对位置嵌入通过添加一个额外的嵌入层来解决这个问题,该嵌入层会将信息添加到 token 嵌入中。(下图来自《从头开始构建大型语言模型》[10])

图 22:来自《从头开始构建大型语言模型》一书的修改图,展示了绝对位置嵌入。
另一方面,RoPE 通过相对于其标记位置旋转查询和键向量来解决这个问题。
然而,在 NoPE 层中,根本没有添加任何位置信号:不是固定的,不是学习到的,也不是相对的。什么都没有。
即使没有位置嵌入,由于因果注意力掩码的存在,模型仍然知道哪些标记在前面。此掩码阻止每个标记关注后面的标记。因此,位置t处的标记只能看到位置≤ t处的标记,从而保持了自回归排序。
因此,虽然没有明确添加位置信息,但模型结构中仍然隐含着方向感,而 LLM 在常规的梯度下降训练中,如果发现方向感对优化目标有利,就可以学习利用它。(更多信息,请参阅 NoPE 论文的定理。)
所以,总体来说,NoPE 论文不仅发现不需要位置信息注入,而且还发现 NoPE 具有更好的长度泛化能力,这意味着随着序列长度的增加,LLM 应答性能下降得更少,如下图所示。

图 23:NoPE 论文中的注释图,显示 NoPE 具有更好的长度泛化能力。
请注意,上述实验是使用一个相对较小的 GPT 类模型进行的,该模型包含约 1 亿个参数,上下文规模也相对较小。目前尚不清楚这些发现能否推广到目前更大规模的 LLM。
因此,SmolLM3 团队可能仅在每 4 层“应用”NoPE(或者更确切地说省略了 RoPE)。
08
Kimi 2
Kimi 2最近在 AI 社区引起了轰动,因为它是一个性能卓越的开放权重模型。基准测试显示,它的性能堪比谷歌 Gemini、Anthropic 的 Claude 以及 OpenAI 的 ChatGPT 等顶级专有模型。
值得一提的是,它使用了相对较新的Muon优化器的一个变体来替代 AdamW。据我所知,这是 Muon 首次用于这种规模的生产模型,而非 AdamW(此前,它仅被证明可以扩展到 16B)。这带来了非常漂亮的训练损失曲线,这可能有助于该模型跃居上述基准测试的榜首。
虽然有人评论说损失函数异常平滑(因为没有尖峰),但我认为它并非异常平滑(例如,参见下图[11][9]中的 OLMo 2 损失曲线;此外,梯度的 L2 范数可能是追踪训练稳定性的更好指标)。然而,值得注意的是损失曲线衰减得如此之好。
然而,正如本文介绍中所提到的,训练方法是另一个话题。

图 24:来自 Kimi K2 公告博客文章和 OLMo 2 论文的注释图。
该模型本身有 1 万亿个参数,这确实令人印象深刻。
它也完成了一个循环,因为 Kimi 2 使用了我们在本文开头介绍过的 DeepSeek-V3 架构,只不过他们把它做得更大了,如下图所示。

图 25:DeepSeek V3 和 Kimi K2 的架构比较。
如上图所示,Kimi K2 与 DeepSeek V3 基本相同,只是它在 MoE 模块中使用了更多的专家,而在多头潜在注意力 (MLA) 模块中使用了更少的头。
Kimi 2 并非凭空而来。早期在《Kimi k1.5:使用 LLM 扩展强化学习》论文中讨论的 Kimi 1.5 模型也令人印象深刻。然而,不幸的是,DeepSeek R1 模型论文恰好在 1 月 22 日同一天发布。此外,据我所知,Kimi 1.5 的权重从未公开分享过。
所以,Kimi K2 团队很可能牢记了这些教训,并在 DeepSeek R2 发布之前就将 Kimi K2 作为开放重量模型进行了分享。截至本文撰写时,Kimi K2 是最令人印象深刻的开放重量模型。
09
GPT-OSS
OpenAI发布了gpt-oss-120b 和 gpt-oss-20b,这是自 2019 年 GPT-2 以来的首批开放权重模型。由于 OpenAI 的开放权重模型备受期待,本文以涵盖它们。
先概述一下 gpt-oss-20b 和 gpt-oss-120b 这两个模型,如下图 26 所示。

图26:两个gpt-oss模型的架构概览。
从图 26 可以看出,该架构包含了我们在之前讨论过的其他架构中看到的所有熟悉的组件。例如,图 27 将较小的 gpt-oss 架构与 Qwen3 30B-A3B 放在一起,后者也是一个 MoE 模型,且具有相似数量的活动参数(gpt-oss 有 36 亿个活动参数,而 Qwen3 30B-A3B 有 33 亿个)。

图27:gpt-oss与Qwen3的架构对比。
图 27 中未显示的一个方面是,gpt-oss 使用滑动窗口注意力(类似于 Gemma 3,但在每一层中而不是使用 5:1 的比例)。
9.1 宽度与深度
图 27 显示,gpt-oss 和 Qwen3 使用了类似的组件。但如果仔细观察这两个模型,我们会发现 Qwen3 的架构更深,它有 48 个 Transformer 模块,而不是 24 个。
另一方面,gpt-oss 是一个更广泛的架构:
- 嵌入维度为 2880,而不是 2048
- 中间专家(前馈)投影维度也是 2880,而不是 768
值得注意的是,gpt-oss 使用了两倍的注意力头,但这并不会直接增加模型的宽度。宽度由嵌入维度决定。
在参数数量固定的情况下,哪种方法更有优势?根据经验,更深层的模型灵活性更高,但由于梯度爆炸和梯度消失等不稳定因素(RMSNorm 和快捷连接旨在缓解这些问题),训练起来可能更困难。
更宽的架构具有推理速度更快的优势(具有更高的 token/s 吞吐量),因为可以在更高的内存成本下实现更好的并行化。
说到建模性能,遗憾的是,据我所知,除了Gemma 2 论文(表 9)中的一项消融研究(ablation study)外,目前尚无很好的同类比较(在参数大小和数据集保持不变的情况下) ,该研究发现,对于 9B 参数架构,较宽的设置略优于较深的设置。在 4 个基准测试中,较宽的模型获得了 52.0 的平均分数,而较深的模型获得了 50.8 的平均分数。
9.2 少量大型专家与大量小型专家
如上图 27 所示,值得注意的是,gpt-oss 的专家数量出奇地少(32 个而不是 128 个),并且每个 token 仅使用 4 个而不是 8 个活跃专家。然而,每个专家的数量比 Qwen3 中的专家数量要大得多。
这很有意思,因为最近的趋势和发展表明,更多、更小的模型是有益的。在总参数大小不变的情况下,这种变化在 DeepSeekMoE 论文的图 28 中得到了很好的说明。

图 28:来自DeepSeekMoE论文的注释图
值得注意的是,与 DeepSeek 的模型不同,gpt-oss 和 Qwen3 都没有使用共享专家。
9.3 注意力偏差和注意力下降
gpt-oss 和 Qwen3 都使用了分组查询注意力机制。主要区别在于,如前所述,gpt-oss 通过每秒一层的滑动窗口注意力机制来限制上下文的大小。
然而,有一个有趣的细节引起了我的注意。gpt-oss 似乎使用了偏差单元作为注意力权重,如下图 29 所示。

图 29:GPT-OSS 模型在注意层中使用了偏差单元。代码示例请见此处。
自 GPT-2 时代以来,我就没见过有人使用这些偏差单元,它们通常被认为是多余的。事实上,我发现了一篇最近的论文,它从数学上证明了至少对于键转换(k_proj)来说,这确实成立。此外,实证结果表明,使用和不使用偏差单元之间几乎没有差异(见下图 30[12])。

图 30:显示了使用和不使用偏差单元从头开始训练模型时的平均测试损失。
你可能注意到的另一个细节是图 30 代码截图中的sinks的定义。在一般模型中,注意力接收器是放置在序列开头的特殊“始终关注”标记,用于稳定注意力,这在长上下文场景中尤其有用。也就是说,如果上下文变得很长,开头的这个特殊关注标记仍然会受到关注,并且它可以学习存储一些关于整个序列的普遍有用的信息。(我认为它最初是在《Efficient Streaming Language Models with Attention Sinks》[13]论文中提出的。)
在 GPT-OSS 实现中,注意力接收器并非输入序列中的实际标记。相反,它们是学习到的每人头偏差逻辑,并附加到注意力分数上(图 31)。其目标与上述注意力接收器相同,但不修改标记化的输入。

图 31:gpt-oss 中注意力池的使用;基于此处的Hugging Face 代码。
10
Grok 2.5
xAI 发布了其 270B 参数 Grok 2.5 模型的权重,我认为值得在这里提及,因为 Grok 2.5 是 xAI 去年的旗舰量产模型。到目前为止,我们讨论的所有模型都是从一开始就以开放权重模型发布的。例如,gpt-oss 很可能不是 GPT-4 的开放权重克隆,而是一个专门为开源社区训练的自定义模型。
通过 Grok 2.5,我们可以罕见地看到真实的生产系统,即使它是去年的。
从架构上看,Grok 2.5 整体看起来相当标准(图 32),但也有一些值得注意的细节。

图 32:Grok 2.5 与同等尺寸的 Qwen3 模型
例如,Grok 2.5 使用少量大型专家(8 个),这反映了一种较旧的趋势。如前所述,较新的设计(例如 DeepSeekMoE 论文中的设计)倾向于使用更多小型专家(Qwen3 中也存在这种情况)。
另一个有趣的选择是使用相当于共享专家的功能。图 32 左侧显示的附加 SwiGLU 模块充当始终在线的共享专家。它与经典的共享专家设计并不完全相同,因为它的中间维度加倍了,但思路是一样的。(我仍然觉得 Qwen3 省略了共享专家这一点很有意思,看看 Qwen4 及后续型号是否会有变化也值得关注。)
11
GLM-4.5
GLM-4.5是今年的另一个重要版本。
它是一种类似于 Qwen3 的指令/推理混合体,但针对函数调用和代理式上下文进行了更好的优化。

图 33:来自官方 GitHub 存储库的 GLM-4.5 基准测试,网址为 https://github.com/zai-org/GLM-4.5
如图 34 所示,GLM-4.5 有两种变体。旗舰模型(3550 亿参数)在 12 项基准测试中平均优于 Claude 4 Opus,仅略逊于 OpenAI 的 o3 和 xAI 的 Grok 4。此外,GLM-4.5-Air 是一个更紧凑的 1060 亿参数版本,其性能仅略低于 3550 亿参数模型。
图 35 将 3550 亿架构与 Qwen3 进行了比较。

图 34:GLM-4.5 与类似大小的 Qwen3 模型相邻。
这些设计大体相似,但 GLM-4.5 采用了 DeepSeek V3 首次引入的结构选择:在混合专家 (MoE) 模块之前,先构建 3 个密集层。为什么?因为从多个密集层开始可以提高大型 MoE 系统的收敛稳定性和整体性能。如果立即引入 MoE 路由,稀疏专家选择的不稳定性可能会干扰早期的句法和语义特征提取。因此,可以说,保持初始层的密集性可以确保模型在路由决策开始影响更高级的处理之前形成稳定的低级表示。
此外,GLM-4.5 使用与 DeepSeek-V3 类似的共享专家(与 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 门控 DeltaNet + 门控注意力混合
另一个亮点是,他们用Gated DeltaNet + Gated Attention混合模型取代了常规的注意力机制,这有助于在内存使用方面实现原生 262k 的 token 上下文长度(之前的 235B-A22B 模型原生支持 32k,通过YaRN[14]扩展支持 131k。)
那么这种新的注意力混合是如何工作的呢?与分组查询注意力(GQA)相比,GQA 仍然是标准缩放的点积注意力(在查询头组之间共享 K/V,以减少 KV 缓存大小和内存带宽,如前所述,但其解码成本和缓存仍会随着序列长度而增长),它们的混合机制将门控 DeltaNet块与门控注意力块以 3:1 的比例混合,如图 36[15] 所示。

图 36:门控 DeltaNet + 门控注意力混合机制。请注意,这些结构以 3:1 的比例排列,即 3 个带有门控 DeltaNet 的 Transformer 模块后面跟着 1 个带有门控注意力的 Transformer 模块。
我们可以将门控注意力模块视为可用于 GQA 的标准缩放点积注意力模块,但它在此基础上进行了一些调整。门控注意力模块与普通 GQA 模块的主要区别在于:
- 输出门(S 型控制,通常每个通道)在将注意力结果添加回残差之前对其进行缩放;
- QKNorm 的零中心 RMSNorm,而不是标准 RMSNorm;
- 部分 RoPE(在维度子集上)。
请注意,这些本质上只是 GQA 的稳定性变化。
Gated DeltaNet 是一个更为显著的变化。在 DeltaNet 模块中,q、k、v 和两个门 (α, β) 由线性轻量级卷积层通过归一化生成,并且该层用快速权重增量规则更新取代了注意力机制。
然而,代价是 DeltaNet 提供的基于内容的检索不如完全注意力那么精确,这就是为什么保留一个门控注意力层的原因。
鉴于注意力机制呈二次方增长,DeltaNet 组件被添加进来以提高内存效率。在“线性时间、无缓存”系列中,DeltaNet 模块本质上是 Mamba 的替代品。Mamba 使用学习到的状态空间滤波器(本质上是一个随时间变化的动态卷积)来保持状态。DeltaNet 维护一个小型快速权重内存,使用 α 和 β 进行更新,并使用 q 进行读取,小型卷积仅用于辅助形成 q、k、v、α、β。
12.3 多标记预测
以上两小节描述了两种以提高效率为目标的设计决策。由于好事成三,Qwen3 在其基础上又添加了一项技术:Multi-Token Prediction(MTP)[16]。
多标记预测训练 LLM 在每一步预测多个未来标记,而不是单个标记。在这里,对于每个位置 t,我们设置了一些小型的额外头(线性层),它们为 t+1 到 t+k 的位置输出 logits,然后我们对这些偏移量(offsets)对应的交叉熵损失进行求和(在MTP论文中,研究人员建议k=4)。这种额外的信号加快了训练速度,推理可能仍然一次只进行一个标记。然而,额外的头可以用于推测性多标记解码,Qwen3-Next 似乎就是这么做的,不过,具体细节仍然比较少:
Qwen3-Next 引入了原生的Multi-Token Prediction (MTP) 机制,不仅使 MTP 模块拥有较高的推测解码接受率,还提升了整体性能。此外,Qwen3-Next 还专门优化了 MTP 的多步推理性能,通过保持训练和推理一致性的多步训练,进一步提升了实际场景下推测解码的接受率[15]。
大模型的发展势头很猛,接下来会发生什么,我们拭目以待。
AI大模型学习和面试资源
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
这份完整版的大模型 AI 学习和面试资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;
第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集
👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

更多推荐

所有评论(0)