大语言模型(LLM)发展至今,虽然基础架构仍沿袭 GPT 系列的 Transformer 范式,但在细节设计上已发生显著变化。本文将从架构角度出发,对比 2025 年主流模型的设计趋势,包括注意力机制、归一化层、MoE 架构、位置编码等多个关键模块。
架构演进:从“微调”到“重构”
从 GPT-2 到如今的 DeepSeek V3 和 Llama 4,七年时间里,语言模型的结构并未发生颠覆性变化。但一些关键模块的优化,使得模型在效率、稳定性和泛化能力上有了显著提升:
- 位置编码:从绝对位置嵌入(APE)转向旋转位置嵌入(RoPE),部分模型甚至尝试无位置编码(NoPE)。
- 注意力机制:多头注意力(MHA)逐渐被分组查询注意力(GQA)或更高效的多头潜在注意力(MLA)取代。
- 激活函数:SwiGLU 替代 GELU 成为主流,带来更好的非线性建模能力。
- 前馈网络结构:专家混合(MoE)成为降低推理成本、提升模型容量的重要手段。
因此,本文将不讨论基准测试性能或训练算法,而是聚焦于定义当今旗舰开源模型的架构发展。

1. DeepSeek V3/R1
DeepSeek R1 在 2025 年 1 月发布时产生了巨大影响。DeepSeek R1 是一个基于 DeepSeek V3 架构构建的推理模型,DeepSeek V3 于 2024 年 12 月推出。
虽然本文聚焦于 2025 年发布的架构,但考虑到 DeepSeek V3 在 2025 年 DeepSeek R1 发布后才广受关注和采用,我认为将其纳入讨论是合理的。
在本节中,我将重点介绍 DeepSeek V3 中提升计算效率的两个关键架构技术,区别于其他大语言模型:
- 多头潜在注意力(Multi-Head Latent Attention,MLA)
- 专家混合(Mixture-of-Experts,MoE)
1.1 多头潜在注意力(MLA)
在讨论多头潜在注意力(MLA)之前,我们先简要回顾一些背景,说明其使用原因。首先介绍分组查询注意力(GQA),它是近年来取代多头注意力(MHA)的更高效替代方案,减少了计算和参数量。
以下是 GQA 的简要概述。与 MHA 不同,MHA 中每个头都有自己的键和值集合,而 GQA 通过让多个头共享相同的键和值投影来减少内存使用。
例如,如图 2 所示,如果有 2 个键值组和 4 个注意力头,则头 1 和头 2 可能共享一组键和值,头 3 和头 4 共享另一组。这减少了键和值计算的总数,从而降低内存使用并提高效率(根据消融研究,建模性能未受明显影响)。

图 2:MHA 和 GQA 的比较。在这里,组大小为 2,即 2 个查询共享一个键值对。
GQA 的核心思想是通过多个查询头共享键和值头来减少键和值头的数量。这(1)降低了模型的参数量,(2)减少了推理期间键和值张量的内存带宽使用,因为需要存储和从 KV 缓存中检索的键和值更少。
虽然 GQA 主要是 MHA 的计算效率解决方法,但消融研究(如原始 GQA 论文和 Llama 2 论文)显示其建模性能与标准 MHA 相当。
现在,多头潜在注意力(MLA)提供了一种不同的内存节省策略,特别适合与 KV 缓存结合使用。与 GQA 的共享键和值头不同,MLA 在将键和值张量存储到 KV 缓存之前,将其压缩到低维空间。
在推理时,这些压缩张量在被使用前会投影回原始大小,如图 3 所示。这增加了一次额外的矩阵乘法,但减少了内存使用。

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

图 4:DeepSeek-V2 论文中的标注表格,https://arxiv.org/abs/2405.04434
如图 4 所示,GQA 的性能似乎不如 MHA,而 MLA 的建模性能优于 MHA,这可能是 DeepSeek 团队选择 MLA 而非 GQA 的原因。(如果能看到 MLA 和 GQA 在“每令牌 KV 缓存”节省方面的比较会很有趣!)
总结本节,MLA 是一种巧妙的技巧,能减少 KV 缓存内存使用,同时在建模性能上略优于 MHA。
1.2 专家混合(MoE)
DeepSeek 的另一个值得关注的架构组件是其使用专家混合(MoE)层。虽然 DeepSeek 并未发明 MoE,但今年 MoE 重新流行,许多后续讨论的架构也采用了它。
您可能已经熟悉 MoE,但快速回顾可能会有帮助。
MoE 的核心思想是将Transformer 模块中的每个前馈模块替换为多个专家层,每个专家层也是一个前馈模块。这意味着我们将单个前馈块替换为多个前馈块,如图 5 所示。

图5:DeepSeek V3/R1中的专家混合(MoE)模块(右)与具有标准前馈块的LLM(左)的对比图
Transformer 模块中的前馈块(图中显示为深灰色块)通常包含模型总参数量的大部分。(请注意,Transformer 模块及其中的前馈块在大语言模型中重复多次;在 DeepSeek-V3 中为 61 次。)
因此,用多个前馈块替换单个前馈块(如 MoE 设置)会大幅增加模型的总参数量。然而,关键在于并非每个令牌都使用(“激活”)所有专家。相反,路由器为每个令牌选择一小部分专家。(为节省篇幅,路由器的细节将在另一篇文章中详细讨论。)
由于一次仅激活少量专家,MoE 模块常被称为稀疏模块,相比之下,始终使用全部参数的模块称为密集模块。然而,MoE 增加的总参数量提高了大语言模型的容量,这意味着它在训练期间可以吸收更多知识。稀疏性则保持了推理效率,因为并非所有参数同时使用。
例如,DeepSeek-V3 每个 MoE 模块有 256 个专家,总计 6710 亿个参数。但在推理时,每次仅激活 9 个专家(1 个共享专家加 8 个由路由器选择)。这意味着每步推理仅使用 370 亿个参数,而非全部 6710 亿个。
DeepSeek-V3 的 MoE 设计的一个显著特点是使用共享专家。这是一个对每个令牌始终激活的专家。这一想法并非首创,已在 2024 DeepSeek MoE 和 2022 DeepSpeedMoE 论文中提出。

图 6:来自"DeepSeekMoE:在专家混合语言模型中实现终极专家专业化"的注释图,https://arxiv.org/abs/2401.06066
DeepSpeedMoE 论文首次指出共享专家的好处,发现其与无共享专家相比能提升整体建模性能。这可能是因为常见或重复模式无需由多个单独专家学习,从而为学习更专业化的模式留出更多空间。
1.3 DeepSeek 总结
总结来说,DeepSeek-V3 是一个拥有 6710 亿参数的庞大模型,发布时超越了其他开源模型,包括 4050 亿的 Llama 3。尽管其规模更大,但得益于专家混合(MoE)架构,每次令牌仅激活一小部分(370 亿)参数,使推理效率极高。
另一个关键特点是 DeepSeek-V3 使用多头潜在注意力(MLA)而非分组查询注意力(GQA)。MLA 和 GQA 都是标准多头注意力(MHA)的推理高效替代方案,特别在使用 KV 缓存时。尽管 MLA 实现更复杂,但 DeepSeek-V2 论文的研究显示其建模性能优于 GQA。
2. OLMo 2
非营利组织 Allen Institute for AI 的 OLMo 系列模型因其在训练数据和代码方面的透明度以及较为详细的技术报告而值得关注。
虽然 OLMo 模型可能不会名列基准测试或排行榜前列,但它们非常规范,更重要的是,由于其透明度,它们是开发大语言模型的绝佳蓝图。
尽管 OLMo 模型因透明度而受欢迎,但其性能也不差。事实上,在 1 月发布时(早于 Llama 4、Gemma 3 和 Qwen 3),OLMo 2 模型在计算与性能的帕累托前沿上,如图 7 所示。

图7:不同LLM的建模基准性能(越高越好)与预训练成本(FLOPs;越低越好)的对比。这是来自OLMo 2论文的一张注释图,https://arxiv.org/abs/2501.00656
如本文开头所述,为控制篇幅,我仅聚焦于大语言模型的架构细节(不讨论训练或数据)。那么,OLMo 2 有哪些有趣的架构设计选择?主要体现在归一化层:RMSNorm 层的放置以及新增的 QK-norm,以下将讨论。
值得一提的是,OLMo 2 仍使用传统的多头注意力(MHA),而非 MLA 或 GQA。
2.1 归一化层放置
总体而言,OLMo 2 大部分遵循原始 GPT 模型的架构,与其他当代大语言模型类似。然而,有一些值得注意的偏差。我们先从归一化层开始。
与 Llama、Gemma 和大多数其他大语言模型类似,OLMo 2 从 LayerNorm 切换到 RMSNorm。
但由于 RMSNorm 已较为常见(它是 LayerNorm 的简化版,训练参数更少),我将跳过 RMSNorm 与 LayerNorm 的讨论。(感兴趣的读者可在我的 GPT-2 到 Llama 转换指南中找到 RMSNorm 代码实现。)
然而,RMSNorm 层的放置值得讨论。原始Transformer (来自“Attention is all you need”论文)将两个归一化层分别放置在Transformer 模块的注意力模块和前馈模块之后。
这也被称为后归一化(Post-LN 或 Post-Norm)。
GPT 及之后的大多数大语言模型将归一化层放置在注意力模块和前馈模块之前,称为前归一化(Pre-LN 或 Pre-Norm)。后归一化与前归一化的比较如图所示。

图 8:Post-Norm、Pre-Norm 和 OLMo 2 的 Post-Norm 风格的比较
2020 年,Xiong 等人表明,前归一化在初始化时能产生更稳定的梯度。此外,研究人员提到,前归一化甚至无需仔细的学习率预热即可良好工作,而学习率预热对后归一化至关重要。
现在,我提到这一点是因为 OLMo 2 采用了后归一化的形式(但使用 RMSNorm 而非 LayerNorm,因此我称之为后归一化)。
在 OLMo 2 中,归一化层并非置于注意力模块和前馈模块之前,而是之后,如图所示。然而,与原始Transformer架构不同,归一化层仍位于残差层(跳跃连接)内部。
那么,他们为何移动归一化层的位置?原因在于这有助于训练稳定性,如图所示。

图 9:显示 Pre-Norm(如 GPT-2、Llama 3 等)与 OLMo 2 的 Post-Norm 版本训练稳定性的图表
遗憾的是,该图显示了重新排序与 QK-Norm 共同作用的结果,QK-Norm 是一个独立概念。因此,难以判断归一化层重新排序单独贡献了多少。
2.2 QK-Norm
由于前一节已提及 QK-Norm,且后续讨论的其他模型(如 Gemma 2 和 Gemma 3)也使用 QK-Norm,我们简要讨论其定义。
QK-Norm 实质上是另一个 RMSNorm 层。它位于多头注意力(MHA)模块内,在应用 RoPE 之前对查询(q)和键(k)进行归一化。为说明这一点,以下是我为 Qwen3 从头实现(在纯 PyTorch 中)编写的分组查询注意力(GQA)层的摘录(GQA 中的 QK-Norm 应用与 OLMo 中的 MHA 类似):
如前所述,QK-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 之间的架构比较
3. Gemma 3
谷歌的 Gemma 模型一直表现出色,我认为与 Llama 系列等其他热门模型相比,它们有些被低估。
Gemma 的一个显著特点是较大的词汇表大小(以更好地支持多语言),以及对 27B 规模的更强关注(而非 8B 或 70B)。但请注意,Gemma 2 也有较小的规模:1B、4B 和 12B。
27B 规模达到了一个很好的平衡点:比 8B 模型能力更强,但不像 70B 模型那样资源密集,在我的 Mac Mini 上运行良好。
那么,Gemma 3 还有什么有趣之处?如前所述,DeepSeek-V3/R1 等模型使用专家混合(MoE)架构来减少给定模型规模的推理内存需求。(后续讨论的几个模型也采用了 MoE 方法。)
Gemma 3 使用了一种不同的“技巧”来降低计算成本,即滑动窗口注意力。
3.1 滑动窗口注意力
通过滑动窗口注意力(最初在 2020 年的 LongFormer 论文中提出,且已在 Gemma 2 中使用),Gemma 3 团队大幅减少了 KV 缓存的内存需求,如图所示。

图 11:Gemma 3 论文(https://arxiv.org/abs/2503.19786)中的一幅注释图,展示了通过滑动窗口注意力机制实现的 KV 缓存内存节省
那么,什么是滑动窗口注意力?如果将常规自注意力视为全局注意力机制,因为每个序列元素可以访问其他所有序列元素,那么滑动窗口注意力可以视为局部注意力,因为它限制了当前查询位置周围的上下文大小,如图所示。

图 12:常规注意力(左)和滑动窗口注意力(右)的比较
请注意,滑动窗口注意力可与多头注意力和分组查询注意力结合使用;Gemma 3 使用分组查询注意力。
如上所述,滑动窗口注意力也称为局部注意力,因为局部窗口围绕当前查询位置并随其移动。相比之下,常规注意力是全局的,因为每个令牌可以访问所有其他令牌。
如前所述,Gemma 2 前身架构也使用了滑动窗口注意力。Gemma 3 的区别在于调整了全局(常规)和局部(滑动)注意力的比例。
例如,Gemma 2 使用混合注意力机制,结合 1:1 比例的滑动窗口(局部)和全局注意力。每个令牌可以关注 4k 令牌的附近上下文。
Gemma 2 在每隔一层使用滑动窗口注意力,而 Gemma 3 现在采用 5:1 比例,即每 5 个滑动窗口(局部)注意力层才有一个全局注意力层;此外,滑动窗口大小从 Gemma 2 的 4096 减少到 Gemma 3 的 1024。这使模型更专注于高效的局部计算。
根据他们的消融研究,滑动窗口注意力的使用对建模性能影响甚微,如图所示。

图 13:Gemma 3 论文(https://arxiv.org/abs/2503.19786)中的一幅注释图,显示滑动窗口注意力对大模型生成的输出困惑度几乎没有影响
虽然滑动窗口注意力是 Gemma 3 最显著的架构特点,但我想顺便回顾归一化层的放置,作为对前述 OLMo 2 部分的延续。
3.2 Gemma 3 中的归一化层放置
一个值得强调的小细节是,Gemma 3 在其分组查询注意力模块周围同时使用前归一化和后归一化设置的 RMSNorm。
这与 Gemma 2 类似,但仍值得强调,因为它不同于(1)原始Transformer (“Attention is all you need”)使用的后归一化,(2)GPT-2 推广并被许多后续架构使用的前归一化,以及(3)我们之前看到的 OLMo 2 的后归一化形式。

图 14:OLMo2 和 Gemma 3 之间的架构比较;请注意 Gemma 3 中额外的规范化层
我认为这种归一化层放置是一种相对直观的方法,因为它兼具前归一化和后归一化的优点。在我看来,额外的归一化不会有害。在最坏的情况下,如果额外归一化是多余的,会因冗余增加一些低效。然而,实际上,由于 RMSNorm 在整体计算中成本较低,这应该不会产生明显影响。
3.3 Gemma 3 总结
Gemma 3 是一个表现优异的开源大语言模型,我认为在开源社区中有些被低估。最有趣的部分是使用滑动窗口注意力来提高效率(未来将其与 MoE 结合会很有趣)。
此外,Gemma 3 在归一化层放置上独具特色,在注意力模块和前馈模块前后都放置了 RMSNorm 层。
3.4 额外内容:Gemma 3n
在 Gemma 3 发布几个月后,谷歌推出了 Gemma 3n,这是一个为小型设备效率优化的 Gemma 3 模型,目标是在手机上运行。
Gemma 3n 实现更高效率的一个变化是所谓的每层嵌入(Per-Layer Embedding,PLE)参数层。其核心思想是仅将模型的一部分参数保留在 GPU 内存中。特定于令牌层的嵌入(如文本、音频和视觉模态的嵌入)则根据需要从 CPU 或 SSD 流式传输。
下图展示了 PLE 的内存节省,列出了标准 Gemma 3 模型的 54.4 亿个参数。这可能指的是 Gemma 3 的 40 亿变体。

图 15:来自 Google 的 Gemma 3n 博客(https://developers.googleblog.com/en/introducing-gemma-3n/)的带注释的图表,展示了 PLE 内存节省情况
54.4 亿与 40 亿参数的差异是因为谷歌在报告大语言模型参数计数时有种有趣的方式。他们常排除嵌入参数以使模型显得更小,除非像这种情况,包含嵌入参数以使模型显得更大。这种做法并非谷歌独有,已成为该领域的常见做法。
另一个有趣的技巧是 MatFormer 概念(Matryoshka Transformer 的缩写)。例如,Gemma 3n 使用单一共享的大语言模型(Transformer)架构,可以切分为更小的独立可用模型。每个切片都经过训练可独立运行,因此在推理时,我们只需运行所需的部分(而非整个大模型)。
4. Mistral Small 3.1
Mistral Small 3.1 24B 在 3 月发布,紧随 Gemma 3 之后,因在多个基准测试(除数学外)中超越 Gemma 3 27B 且速度更快而引人注目。
Mistral Small 3.1 推理延迟低于 Gemma 3 的原因可能在于其自定义分词器,以及缩小了 KV 缓存和层数。否则,其架构如图所示,较为标准。

图16:Gemma 3 27B和Mistral 3.1 Small 24B之间的架构比较
有趣的是,早期 Mistral 模型使用了滑动窗口注意力,但在 Mistral Small 3.1 中似乎已放弃。因此,由于 Mistral 使用常规分组查询注意力,而非 Gemma 3 的带滑动窗口的分组查询注意力,可能通过使用更优化的代码(如 FlashAttention)获得了额外的推理计算节省。例如,我推测虽然滑动窗口注意力减少了内存使用,但不一定降低推理延迟,而 Mistral Small 3.1 专注于此。
5. Llama 4
本文早先对专家混合(MoE)的广泛讨论再次派上用场。Llama 4 也采用了 MoE 方法,其架构总体上与 DeepSeek-V3 非常相似,如图所示。(Llama 4 包括原生多模态支持,类似于 Gemma 和 Mistral 等模型。但由于本文聚焦于语言建模,我们仅关注文本模型。)

图16:Gemma 3 27B和Mistral 3.1 Small 24B之间的架构比较
虽然 Llama 4 Maverick 架构总体上与 DeepSeek-V3 非常相似,但有一些值得强调的差异。
首先,Llama 4 与其前身类似,使用分组查询注意力,而 DeepSeek-V3 使用多头潜在注意力,如本文开头讨论。现在,DeepSeek-V3 和 Llama 4 Maverick 都是非常大的架构,DeepSeek-V3 的总参数量大约比 Llama 4 大 68%。然而,DeepSeek-V3 的活跃参数为 370 亿,是 Llama 4 Maverick(170 亿)的两倍多。
Llama 4 Maverick 使用更经典的 MoE 设置,专家数量较少但规模较大(2 个活跃专家,每个隐藏层大小为 8192),而 DeepSeek-V3(9 个活跃专家,每个隐藏层大小为 2048)。此外,DeepSeek 在除前 3 个Transformer 模块外均使用 MoE 层,而 Llama 4 在每隔一个Transformer 模块中交替使用 MoE 和密集模块。
鉴于架构之间的诸多细微差异,很难确定它们对最终模型性能的确切影响。然而,主要结论是 MoE 架构在 2025 年显著流行。
6. Qwen3
Qwen 团队持续提供高质量的开源大语言模型。我在 2023 年 NeurIPS 的 LLM 效率挑战中担任联合顾问时记得,排名靠前的解决方案均基于 Qwen2。
现在,Qwen3 是其规模类别排行榜前列的又一热门模型系列。包括 7 个密集模型:0.6B、1.7B、4B、8B、14B 和 32B,以及 2 个 MoE 模型:30B-A3B 和 235B-A22B。
6.1 Qwen3(密集)
我们先讨论密集模型架构。目前,0.6B 模型可能是现今最小的开源模型。根据我的个人经验,考虑到其小规模,性能非常出色。如果您计划本地运行,它具有极高的令牌/秒吞吐量和低内存占用。此外,由于其小规模,它也易于本地训练(用于教育目的)。
因此,Qwen3 0.6B 已取代 Llama 3 1B,成为我大多数用途的首选。两者架构比较如图所示。

图18:Qwen3 0.6B和Llama 3 1B之间的架构比较;请注意,Qwen3是一个更深的架构,拥有更多层数,而Llama 3是一个更宽的架构,拥有更多注意力头
如果您对无需外部第三方 LLM 库依赖的人类可读 Qwen3 实现感兴趣,我最近用纯 PyTorch 从头实现了 Qwen3。
上图中的计算性能数据基于我在 A100 GPU 上运行的从头 PyTorch 实现。可以看到,Qwen3 整体架构较小,内存占用较小,同时使用较小的隐藏层和更少的注意力头。然而,它使用的Transformer 模块比 Llama 3 多,导致运行时较慢(令牌/秒生成速度较低)。
6.2 Qwen3(MoE)
如前所述,Qwen3 也有两种 MoE 变体:30B-A3B 和 235B-A22B。为什么像 Qwen3 这样的架构同时提供常规(密集)和 MoE(稀疏)变体?
如本文开头所述,MoE 变体有助于降低大型基础模型的推理成本。提供密集和 MoE 版本为用户提供了根据目标和约束的灵活性。
密集模型通常更容易微调、部署和在各种硬件上优化。
另一方面,MoE 模型针对推理扩展进行了优化。例如,在固定推理预算下,它们可以实现更高的总体模型容量(即训练期间由于规模更大而吸收更多知识),而不成比例增加推理成本。
通过发布两种类型,Qwen3 系列支持更广泛的用例:密集模型适用于鲁棒性、简单性和微调,MoE 模型适用于高效的大规模服务。
最后,我们来看看 Qwen3 235B-A22B(注意 A22B 表示“220 亿活跃参数”)与 DeepSeek-V3 的比较,后者的活跃参数几乎是前者的两倍(370 亿)。

图 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 为何仍保留共享专家。)
7. SmolLM3
SmolLM3 或许不如本文提到的其他大语言模型那样广受欢迎,但我认为它仍是一个有趣的模型,因为它在相对较小的 30 亿参数规模下提供了出色的建模性能,介于 1.7B 和 4B 的 Qwen3 模型之间,如图所示。
此外,与 OLMo 类似,它也分享了许多训练细节,这很罕见且值得赞赏!

图20:来自SmolLM3公告帖子的注释图,https://huggingface.co/blog/smollm3,比较了SmolLM3的胜率与Qwen3 1.7B和4B以及Llama 3 3B和Gemma 3 4B的胜率
如下图所示的架构比较,SmolLM3 的架构相当标准。或许最有趣的方面是其使用无位置嵌入(NoPE)。

图21:Qwen3 4B和SmolLM3 3B的并排架构比较
7.1 无位置嵌入(NoPE)
在大语言模型上下文中,NoPE 是一个较老的概念,源于 2023 年的论文《The Impact of Positional Encoding on Length Generalization in Transformers》,该论文提出移除显式位置信息注入(如早期 GPT 架构中的经典绝对位置嵌入层或现在的 RoPE)。
在基于Transformer的大语言模型中,位置编码通常是必要的,因为自注意力独立处理令牌,不考虑顺序。绝对位置嵌入通过添加额外的嵌入层来解决这个问题,为令牌嵌入增加位置信息。

RoPE 则通过根据令牌位置旋转查询和键向量来解决这个问题。
然而,在 NoPE 层中,完全不添加任何位置信号:不固定、不学习、不相对。什么都没有。
尽管没有位置嵌入,模型仍知道哪些令牌在前,这是因为因果注意力掩码。该掩码防止每个令牌关注未来的令牌。因此,位置 t 的令牌只能看到位置 ≤ t 的令牌,从而保留了自回归顺序。
因此,虽然没有显式添加位置信息,模型结构中仍隐含着方向感,大语言模型在常规基于梯度下降的训练中可以利用它,如果这对优化目标有益。(有关更多信息,请查看 NoPE 论文的定理。)
总体而言,NoPE 论文不仅发现无需注入位置信息,还发现 NoPE 具有更好的长度泛化能力,这意味着随着序列长度增加,模型回答性能下降较少,如图所示。

图23:来自NoPE论文(https://arxiv.org/abs/2305.19466)的注释图,展示了使用NoPE可以获得更好的长度泛化效果
请注意,上述实验使用约 1 亿参数的较小 GPT 风格模型和较小的上下文大小进行。尚不清楚这些发现对更大、现代大语言模型的泛化程度。
因此,SmolLM3 团队可能仅在每 4 层“应用”NoPE(或更准确地说,省略 RoPE)。
8. Kimi 2
Kimi 2 最近因其作为开源模型的出色性能在 AI 社区掀起波澜。根据基准测试,它与谷歌的 Gemini、Anthropic 的 Claude 和 OpenAI 的 ChatGPT 等最佳专有模型相当。
一个显著特点是其使用相对较新的 Muon 优化器而非 AdamW。据我所知,这是首次在如此规模的生产模型中将 Muon 用于 AdamW(之前仅展示其可扩展至 16B)。这带来了非常平滑的训练损失曲线,可能助力该模型登上上述基准测试榜首。
虽然有人评论其损失曲线异常平滑(因缺乏尖峰),但我认为并非特别平滑(例如,见下图中的 OLMo 2 损失曲线;此外,梯度的 L2 范数可能是跟踪训练稳定性的更好指标)。然而,损失曲线的衰减表现非常出色。
然而,如本文引言所述,训练方法是另一话题。
该模型拥有 1 万亿个参数,令人印象深刻。
截至本文撰写时,它可能是这一代最大的大语言模型(鉴于 Llama 4 Behemoth 未发布,专有模型不计入,且谷歌的 1.6 万亿 Switch Transformer 是来自不同世代的编码器-解码器架构)。
Kimi 2 的架构与本文开头讨论的 DeepSeek-V3 几乎相同,只是规模更大,如图所示:

图 25:DeepSeek V3 和 Kimi K2 之间的架构比较
如上图所示,Kimi 2.5 基本与 DeepSeek V3 相同,只是 MoE 模块中使用更多专家,多头潜在注意力(MLA)模块中使用的头数更少。
Kimi 2 并非凭空出现。此前的 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 是最令人印象深刻的开源模型。(来源)
架构趋势总结
| 技术模块 | 当前主流方案 | 代表模型 |
|---|---|---|
| 注意力机制 | GQA / MLA | DeepSeek V3、Gemma 3 |
| 位置编码 | RoPE / NoPE | SmolLM3、Gemma 3 |
| 归一化层 | RMSNorm(后归一化、多归一化) | OLMo 2、Gemma 3 |
| 前馈网络 | MoE(稀疏激活) | DeepSeek V3、Llama 4 |
| 训练优化器 | Muon | Kimi 2 |
| 推理优化技术 | 滑动窗口注意力、PLE、MatFormer | Gemma 3n、Qwen3 MoE |















