AI在线 AI在线

现代LLM架构设计一览:从DeepSeek-V3到Kimi K2

主要内容现代LLM架构的演进主要围绕以下几个核心目标:提高推理效率:通过GQA、MLA、滑动窗口注意力、MoE等技术减少内存占用和计算量。 增强训练稳定性:通过归一化层(如RMSNorm)的放置和QK-Norm等技术优化训练过程。 优化模型容量与性能:通过MoE实现更大参数量和知识吸收能力,同时保持推理效率。

主要内容

现代LLM架构的演进主要围绕以下几个核心目标:

  1. 提高推理效率:通过GQA、MLA、滑动窗口注意力、MoE等技术减少内存占用和计算量。
  2. 增强训练稳定性:通过归一化层(如RMSNorm)的放置和QK-Norm等技术优化训练过程。
  3. 优化模型容量与性能:通过MoE实现更大参数量和知识吸收能力,同时保持推理效率。
  4. 探索位置编码的替代方案:如NoPE,挑战传统位置编码的必要性。

这些架构创新共同推动了LLM在性能、效率和可扩展性方面的持续进步。

I. 核心架构演进与效率提升

1. 注意力机制的演变:

  • 多头注意力(MHA):传统机制。
  • 分组查询注意力(GQA):MHA的计算和参数高效替代方案,通过共享键(key)和值(value)投影来减少内存使用和推理带宽。
  • 多头潜注意力(MLA):DeepSeek V3/R1采用,通过将键和值张量压缩到较低维空间来节省KV缓存内存,并在推理时解压缩。相比GQA,MLA在建模性能上可能更优。
  • 滑动窗口注意力:Gemma 3采用,限制每个Token的上下文大小,实现局部注意力,大幅减少KV缓存内存需求。Gemma 3调整了局部与全局注意力的比例(5:1),并缩小了窗口大小。

2. 专家混合(MoE)架构:

  • 概念:用多个专家层(每个也是一个前馈模块)替换Transformer块中的前馈模块。
  • 优势:大幅增加模型总参数量(提高容量),但通过路由器仅激活少数专家(保持推理效率),实现稀疏性。
  • 应用:DeepSeek V3/R1和Llama 4广泛采用。DeepSeek V3引入了“共享专家”机制,进一步提升性能。
  • 模型对比:DeepSeek V3(671B参数,9个活跃专家)和Llama 4 Maverick(400B参数,2个活跃专家)在专家数量和活跃参数量上存在差异。Qwen3也提供了MoE变体。

II. 训练稳定性与归一化策略

1. 归一化层放置:

  • Post-Norm:原始Transformer架构,归一化层在注意力模块和前馈模块之后。
  • Pre-Norm:GPT-2及多数LLM采用,归一化层在注意力模块和前馈模块之前,有助于梯度行为和训练稳定性。
  • OLMo 2的Post-Norm变体:归一化层在注意力模块和前馈模块之后,但仍在残差层内部,旨在提高训练稳定性。
  • Gemma 3的混合归一化:在分组查询注意力模块周围同时使用Pre-Norm和Post-Norm的RMSNorm,兼顾两者优点。

2. QK-Norm:

概念:在多头注意力模块内部,对查询(q)和键(k)在应用旋转位置嵌入(RoPE)之前添加另一个RMSNorm层。

作用:与Post-Norm结合,有助于稳定训练。OLMo 2和Gemma 2/3都使用了QK-Norm。

III. 位置编码的探索

1. 传统位置编码:

  • 绝对位置嵌入:早期GPT架构通过额外嵌入层添加位置信息。
  • 旋转位置嵌入(RoPE):通过旋转查询和键向量相对于其Token位置来编码位置信息。

2. 无位置嵌入(NoPE):

概念:SmolLM3采用,不显式添加任何位置信号(不固定、不学习、不相对)。

原理:模型通过因果注意力掩码(阻止关注未来Token)隐含地保留了方向感。

优势:研究表明,NoPE可能不需要位置信息注入,并具有更好的长度泛化能力。

IV. 特定模型亮点与优化

1. DeepSeek V3/R1:

特点:庞大的671B参数MoE模型,推理时仅激活37B参数,效率高。

关键技术:多头潜注意力(MLA)和专家混合(MoE)与共享专家。

2. OLMo 2:

特点:非营利组织AI2的模型,以训练数据和代码透明度著称。

关键技术:RMSNorm的Post-Norm变体放置,以及QK-Norm,共同稳定训练损失。

3. Gemma 3/3n:

特点:Google模型,注重27B规模,词汇量大。

关键技术:滑动窗口注意力(大幅减少KV缓存内存),独特的混合归一化层放置。

Gemma 3n:针对小型设备优化,引入逐层嵌入(PLE)和MatFormer概念。

4. Mistral Small 3.1:

  • 特点:24B参数,在多项基准测试中超越Gemma 3 27B,速度更快。
  • 可能原因:自定义Token分词器,缩小KV缓存和层数,放弃滑动窗口注意力而使用常规GQA(可能结合FlashAttention)。

5. Llama 4:

  • 特点:采用MoE架构,与DeepSeek-V3相似,但使用GQA。
  • MoE配置:更经典的MoE设置,专家数量更少但规模更大。

6. Qwen3:

  • 特点:提供密集模型和MoE模型两种变体,性能优秀。
  • MoE变体:235B-A22B,不再使用共享专家(与DeepSeek V3不同)。

7. SmolLM3:

  • 特点:相对较小的3B参数模型,性能良好。
  • 关键技术:无位置嵌入(NoPE),通过因果注意力掩码实现顺序感知。

8. Kimi 2:

  • 特点:1T参数的开源模型,性能卓越,与DeepSeek-V3架构高度相似。
  • 关键技术:MoE模块中更多专家,MLA模块中更少注意力头。使用了Muon优化器变体。

自最初的GPT架构开发至今已有七年。乍一看,从GPT-2(2019年)回顾到DeepSeek-V3和Llama 4(2024-2025年),这些模型在结构上仍然如此相似,或许令人惊讶。

当然,位置嵌入(positional embeddings)已从绝对位置嵌入(absolute)演变为旋转位置嵌入(Rotary Positional Embedding, RoPE),多头注意力(Multi-Head Attention, MHA)已在很大程度上被分组查询注意力(Grouped-Query Attention)取代,而更高效的SwiGLU也取代了GELU等激活函数。但除了这些细微的改进,我们是否真正看到了突破性的变革,或者仅仅是在完善相同的架构基础?

对比LLM以确定哪些关键要素有助于其良好(或不佳)性能是出了名的挑战:数据集、训练技术和超参数差异巨大,且通常文档记录不详。

然而,我认为深入研究架构本身的结构变化,以了解2025年LLM开发者正在探索的方向,仍然具有重要价值。(其中一部分如图1所示。)

图1:本文涵盖的部分架构图1:本文涵盖的部分架构

因此,在本文中,我将重点关注定义当今旗舰开源模型的架构发展,而非基准性能或训练算法。

(您可能还记得,我前不久撰写了关于多模态LLM的文章;在本文中,我将重点关注近期模型的文本能力,并将多模态能力的讨论留待下次。)

提示:这是一篇相当全面的文章,因此我建议使用导航栏访问目录(只需将鼠标悬停在Substack页面的左侧)。

1. DeepSeek V3/R1

您可能已经不止一次听说过,DeepSeek R1在2025年1月发布时产生了巨大影响。DeepSeek R1是一款基于DeepSeek V3架构构建的推理模型,DeepSeek V3于2024年12月推出。

尽管我在此处的重点是2025年发布的架构,但我认为将DeepSeek V3纳入其中是合理的,因为它是在2025年DeepSeek R1发布后才获得广泛关注和采用的。

在本节中,我将重点介绍DeepSeek V3中引入的两种关键架构技术,它们提高了其计算效率,并使其区别于许多其他LLM:

  • 多头潜注意力(Multi-Head Latent Attention, MLA)
  • 专家混合(Mixture-of-Experts, MoE)

1.1 多头潜注意力(MLA)

在讨论多头潜注意力(MLA)之前,让我们简要回顾一下其背景,以阐明其使用动机。为此,我们从分组查询注意力(Grouped-Query Attention, GQA)开始,近年来,GQA已成为MHA的一种计算和参数效率更高的新型替代方案。

简而言之,GQA的总结如下。与MHA中每个注意力头都拥有自己的键(key)和值(value)集不同,为了减少内存使用,GQA将多个注意力头分组以共享相同的键和值投影。

图2:MHA与GQA的对比其中,分组大小为2,表示一个键值对由两个查询共享图2:MHA与GQA的对比其中,分组大小为2,表示一个键值对由两个查询共享

例如,如图2所示,如果存在2个键值组和4个注意力头,那么头1和头2可能共享一组键和值,而头3和头4共享另一组。这减少了键和值计算的总量,从而降低了内存使用并提高了效率(根据消融研究,对模型性能没有显著影响)。

因此,GQA的核心思想是通过在多个查询头之间共享键和值头来减少它们的数量。这(1)降低了模型的参数数量,(2)减少了推理期间键和值张量(tensor)的内存带宽使用,因为需要存储和从KV缓存中检索的键和值更少。

虽然GQA主要是一种针对MHA的计算效率优化方案,但消融研究(例如原始GQA论文和Llama 2论文中的研究)表明,在LLM建模性能方面,其表现与标准MHA相当。

现在,多头潜注意力(MLA)提供了一种不同的内存节省策略,它与KV缓存特别契合。MLA不像GQA那样共享键和值头,而是将键和值张量压缩到较低维空间中,然后将其存储在KV缓存中。

图3:MLA(用于DeepSeek V3和R1)与常规MHA的对比图3:MLA(用于DeepSeek V3和R1)与常规MHA的对比

在推理时,这些压缩后的张量会在使用前被投影回原始大小,如图3所示。这增加了一次额外的矩阵乘法,但减少了内存使用。

(顺便提一下,查询(query)也在训练期间被压缩,但推理时不会。)

顺便说一句,MLA并非DeepSeek V3的新技术,其前身DeepSeek-V2也使用了(甚至引入了)它。此外,V2论文包含了一些有趣的消融研究,可能解释了DeepSeek团队选择MLA而非GQA的原因(参见图4)。

图4:DeepSeek-V2论文中的标注表格,https://arxiv.org/abs/2405.图4:DeepSeek-V2论文中的标注表格,https://arxiv.org/abs/2405.

如图4所示,GQA的性能似乎不如MHA,而MLA在建模性能方面优于MHA,这可能是DeepSeek团队选择MLA而非GQA的原因。(如果能看到MLA和GQA在“每Token KV缓存节省”方面的对比,那会很有趣!)

在进入下一个架构组件之前,总结一下本节:MLA是一种巧妙的技巧,可以减少KV缓存内存使用,同时在建模性能方面甚至略优于MHA。

1.2 专家混合(MoE)

DeepSeek中另一个值得强调的主要架构组件是其专家混合(MoE)层的使用。虽然DeepSeek并非MoE的发明者,但它在今年重新兴起,我们稍后将介绍的许多架构也采用了它。

您可能已经熟悉MoE,但快速回顾一下可能会有所帮助。

MoE的核心思想是用多个专家层替换Transformer块中的每个前馈(FeedForward)模块,其中每个专家层也是一个前馈模块。这意味着我们将单个前馈块替换为多个前馈块,如图5所示。

图片图片

图5:DeepSeek V3/R1中专家混合(Mixture-of-Experts, MoE)模块(右)与采用标准前馈(FeedForward)块的LLM(左)的示意图

Transformer块内部的前馈块(图中深灰色块所示)通常包含模型总参数的很大一部分。(请注意,Transformer块以及前馈块在LLM中会重复多次;在DeepSeek-V3的例子中,重复了61次。)

因此,用多个前馈块替换单个前馈块(如MoE设置中所做)会大幅增加模型的总参数数量。然而,关键的技巧在于我们不会为每个Token都使用(“激活”)所有专家。相反,一个路由器(router)会为每个Token选择一小部分专家。

由于一次只激活少数专家,MoE模块通常被称为稀疏(sparse),与始终使用完整参数集的密集(dense)模块形成对比。然而,通过MoE实现的大量总参数增加了LLM的容量(capacity),这意味着它可以在训练期间吸收更多知识。但稀疏性保持了推理效率,因为我们不会同时使用所有参数。

例如,DeepSeek-V3每个MoE模块有256个专家,总参数量为671B。但在推理期间,一次只有9个专家处于活跃状态(1个共享专家加上路由器选择的8个)。这意味着每个推理步骤只使用了37B参数,而不是全部671B。

DeepSeek-V3的MoE设计的一个显著特点是使用了共享专家(shared expert)。这是一个始终对每个Token都活跃的专家。这

图片图片

图6:“DeepSeekMoE: Towards Ultimate Expert Specialization in Mixture-of-Experts Language Models”论文中的标注图,https://arxiv.org/abs/2401.06066

个想法并不新鲜,在DeepSeek 2024 MoE和2022 DeepSpeedMoE论文中已经引入。

共享专家的好处首次在DeepSpeedMoE论文中被提及,他们发现它比没有共享专家更能提升整体建模性能。这可能是因为常见或重复的模式不必由多个独立专家学习,这使得它们有更多空间学习更专业的模式。

1.3 DeepSeek总结

总而言之,DeepSeek-V3是一个庞大的671B参数模型,在发布时其性能超越了其他开源模型,包括405B参数的Llama 3。尽管参数量更大,但由于其专家混合(MoE)架构,它在推理时效率更高,每个Token仅激活一小部分(仅37B)参数。

另一个关键的显著特点是DeepSeek-V3使用了多头潜注意力(MLA)而非分组查询注意力(GQA)。MLA和GQA都是标准多头注意力(MHA)的推理高效替代方案,尤其是在使用KV缓存时。虽然MLA实现起来更复杂,但DeepSeek-V2论文中的一项研究表明,它比GQA提供了更好的建模性能。

2. OLMo 2

非营利组织Allen Institute for AI的OLMo系列模型因其在训练数据和代码方面的透明度以及相对详细的技术报告而引人注目。

虽然您可能不会在任何基准测试或排行榜上找到OLMo模型名列前茅,但它们非常简洁,更重要的是,由于其透明度,它们是开发LLM的绝佳蓝图。

尽管OLMo模型因其透明度而受欢迎,但它们也并非表现不佳。事实上,在1月发布时(在Llama 4、Gemma 3和Qwen 3之前),OLMo 2模型处于计算性能的帕累托前沿,如图7所示。

图片图片

图7:不同LLM的模型基准性能(越高越好)与预训练成本(FLOPs;越低越好)对比图这是OLMo 2论文中的标注图,https://arxiv.org/abs/2501.00656

如本文前面所述,我旨在仅关注LLM架构细节(而非训练或数据),以保持文章篇幅适中。那么,OLMo2中有哪些有趣的架构设计选择呢?主要归结为归一化:RMSNorm层的放置以及QK-norm的添加,我将在下面讨论。

另一件值得一提的是,OLMo 2仍然使用传统的多头注意力(MHA)而不是MLA或GQA。

2.1 归一化层放置

总体而言,OLMo 2在很大程度上遵循了原始GPT模型的架构,类似于其他当代LLM。然而,也有一些值得注意的偏差。让我们从归一化层开始。

与Llama、Gemma和大多数其他LLM类似,OLMo 2从LayerNorm切换到了RMSNorm。

但由于RMSNorm已是老生常谈(它基本上是LayerNorm的简化版本,可训练参数更少),我将跳过RMSNorm与LayerNorm的讨论。

然而,RMSNorm层的放置位置值得讨论。原始Transformer(来自“Attention is all you need”论文)将两个归一化层分别放置在Transformer块中的注意力模块和前馈模块之后。

这也被称为Post-LN或Post-Norm。

GPT和之后的大多数其他LLM将归一化层放置在注意力模块和前馈模块之前,这被称为Pre-LN或Pre-Norm。Post-Norm和Pre-Norm的对比如图所示。

图8:Post-Norm、Pre-Norm和OLMo 2的Post-Norm变体的对比图8:Post-Norm、Pre-Norm和OLMo 2的Post-Norm变体的对比

2020年,Xiong等人表明,Pre-LN在初始化时能产生更良好的梯度行为。此外,研究人员提到,Pre-LN即使在没有仔细学习率预热的情况下也能很好地工作,而学习率预热对于Post-LN来说是至关重要的工具。

现在,我之所以提到这一点,是因为OLMo 2采用了一种Post-LN的形式(但使用RMSNorm而不是LayerNorm,所以我称之为Post-Norm)。

在OLMo 2中,归一化层不是放置在注意力层和前馈层之前,而是放置在之后,如图所示。然而,请注意,与原始Transformer架构不同,归一化层仍然在残差层(跳跃连接)内部。

那么,他们为什么要改变归一化层的位置呢?原因是它有助于训练稳定性,如下图所示。

图片图片

图9:显示Pre-Norm(如GPT-2、Llama 3等)与OLMo 2的Post-Norm变体训练稳定性对比图这是OLMo 2论文中的标注图,https://arxiv.org/abs/2501.00656

不幸的是,这张图显示的是重排序与QK-Norm结合的结果,而QK-Norm是一个独立的概念。因此,很难判断归一化层重排序本身贡献了多少。

2.2 QK-Norm

既然上一节已经提到了QK-norm,并且我们稍后讨论的其他LLM,如Gemma 2和Gemma 3,也使用了QK-norm,那么让我们简要讨论一下这是什么。

QK-Norm本质上是另一个RMSNorm层。它放置在多头注意力(MHA)模块内部,并在应用RoPE之前应用于查询(q)和键(k)。为了说明这一点,下面是我为Qwen3从零实现编写的分组查询注意力(GQA)层的一个摘录(GQA中QK-norm的应用类似于OLMo中的MHA):

如前所述,QK-Norm与Post-Norm一起,稳定了训练。请注意,QK-Norm并非由OLMo 2发明,而是可以追溯到2023年的《Scaling Vision Transformers》论文。

2.3 OLMo 2总结

简而言之,OLMo 2值得注意的架构设计决策主要是RMSNorm的放置:RMSNorm放置在注意力模块和前馈模块之后而非之前(一种Post-Norm变体),以及在注意力机制内部为查询和键添加RMSNorm(QK-Norm),两者共同有助于稳定训练损失。

图片图片

图10:Llama 3与OLMo 2的架构对比

下面是进一步并排比较OLMo 2和Llama 3的图;可以看出,除了OLMo 2仍然使用传统的MHA而不是GQA之外,这两种架构在其他方面相对相似。(然而,OLMo 2团队在3个月后发布了一个使用GQA的32B参数变体。)

3. Gemma 3

Google的Gemma模型一直表现出色,我认为与Llama系列等其他热门模型相比,它们一直有点被低估。

Gemma的一个显著特点是其相当大的词汇量(以更好地支持多种语言),以及更侧重于27B规模(而非8B或70B)。但请注意,Gemma 2也有较小规模的版本:1B、4B和12B。

27B的规模达到了一个非常好的平衡点:它比8B模型能力强得多,但又不像70B模型那样资源密集,并且在我的Mac Mini上本地运行良好。

那么,Gemma 3还有哪些有趣之处呢?如前所述,Deepseek-V3/R1等其他模型使用专家混合(MoE)架构来在给定模型大小的情况下减少推理时的内存需求。

Gemma 3使用了一种不同的“技巧”来降低计算成本,即滑动窗口注意力(sliding window attention)。

3.1 滑动窗口注意力

通过滑动窗口注意力(最初在2020年的LongFormer论文中引入,并且Gemma 2也已使用),Gemma 3团队成功大幅减少了KV缓存中的内存需求,如下图所示。

图片图片

图11:Gemma 3论文(https://arxiv.org/abs/2503.19786)中的标注图,展示了通过滑动窗口注意力(sliding window attention)实现的KV缓存内存节省

那么,什么是滑动窗口注意力呢?如果我们把常规自注意力(self-attention)看作一种全局注意力机制,因为每个序列元素都可以访问所有其他序列元素,那么我们可以把滑动窗口注意力看作局部注意力,因为它限制了当前查询位置周围的上下文大小。这在下图中有所说明。

图12:常规注意力(左)与滑动窗口注意力(右)的对比图12:常规注意力(左)与滑动窗口注意力(右)的对比

请注意,滑动窗口注意力可以与多头注意力(Multi-Head Attention)和分组查询注意力(Grouped-Query Attention)一起使用;Gemma 3使用的是分组查询注意力。

如上所述,滑动窗口注意力也被称为局部注意力,因为局部窗口围绕并随当前查询位置移动。相比之下,常规注意力是全局的,因为每个Token都可以访问所有其他Token。

现在,如上文简要提及,Gemma 2的前代架构也曾使用滑动窗口注意力。Gemma 3的不同之处在于,它们调整了全局(常规)注意力与局部(滑动)注意力之间的比例。

例如,Gemma 2使用一种混合注意力机制,以1:1的比例结合滑动窗口(局部)和全局注意力。每个Token可以关注附近4k Token窗口的上下文。

Gemma 2在每隔一层使用滑动窗口注意力,而Gemma 3现在采用5:1的比例,这意味着每5个滑动窗口(局部)注意力层只有1个完整的注意力层;此外,滑动窗口大小从4096(Gemma 2)减少到仅1024(Gemma 3)。这使得模型的重点转向更高效的局部计算。

根据他们的消融研究,滑动窗口注意力的使用对建模性能的影响微乎其微,如下图所示。

图片图片

图13:Gemma 3论文(https://arxiv.org/abs/2503.19786)中的标注图,显示滑动窗口注意力对LLM生成输出的困惑度影响甚微

虽然滑动窗口注意力是Gemma 3最显著的架构特征,但我想简要回顾一下归一化层的放置,作为对之前OLMo 2部分的补充。

3.2 Gemma 3中的归一化层放置

一个虽小但有趣的细节是,Gemma 3在其分组查询注意力模块周围同时使用了Pre-Norm和Post-Norm设置的RMSNorm。

这与Gemma 2类似,但仍然值得强调,因为它不同于(1)原始Transformer(“Attention is all you need”)中使用的Post-Norm,(2)由GPT-2推广并在之后许多其他架构中使用的Pre-Norm,以及(3)我们之前看到的OLMo 2中的Post-Norm变体。

图14:OLMo2与Gemma 3的架构对比;请注意Gemma 3中额外的归一化层图14:OLMo2与Gemma 3的架构对比;请注意Gemma 3中额外的归一化层

我认为这种归一化层放置是一种相对直观的方法,因为它兼顾了Pre-Norm和Post-Norm的优点。在我看来,额外的一点归一化不会有什么坏处。在最坏的情况下,如果额外的归一化是冗余的,这会通过冗余增加一点效率低下。然而,在实践中,由于RMSNorm在整体上相对廉价,这应该不会产生任何明显的影响。

3.3 Gemma 3总结

Gemma 3是一款表现良好的开源LLM,在我看来,它在开源社区中有点被低估了。最有趣的部分是使用滑动窗口注意力来提高效率(未来将其与MoE结合会很有趣)。

此外,Gemma 3具有独特的归一化层放置,将RMSNorm层放置在注意力模块和前馈模块之前和之后。

3.4 额外内容:Gemma 3n

在Gemma 3发布几个月后,Google发布了Gemma 3n,这是一个为小型设备效率而优化的Gemma 3模型,目标是在手机上运行。

Gemma 3n为实现更高效率而进行的一项改变是所谓的逐层嵌入(Per-Layer Embedding, PLE)参数层。其核心思想是仅将模型参数的一个子集保留在GPU内存中。然后,文本、音频和视觉模态等Token层特定的嵌入会按需从CPU或SSD流式传输。

下图说明了PLE内存节省,列出了标准Gemma 3模型的5.44B参数。这可能指的是Gemma 3的4B参数变体。

图片图片

图15:Google的Gemma 3n博客(https://developers.googleblog.com/en/introducing-gemma-3n/)中的标注图,说明了PLE内存节省

5.44B与4B参数之间的差异是因为Google在报告LLM参数数量时有一种有趣的方式。他们通常会排除嵌入参数,以使模型看起来更小,除非在这种情况下,为了使模型看起来更大而方便地包含它们。这并非Google独有,这种方法已成为该领域的普遍做法。

另一个有趣的技巧是MatFormer概念(Matryoshka Transformer的缩写)。例如,Gemma 3n使用一个共享的LLM(Transformer)架构,可以将其切片成更小、可独立使用的模型。每个切片都经过训练以独立运行,因此在推理时,我们只需运行您需要的部分(而不是整个大型模型)。

4. Mistral Small 3.1

Mistral Small 3.1 24B于3月发布,紧随Gemma 3之后,其值得注意之处在于在多项基准测试中(数学除外)超越了Gemma 3 27B,同时速度更快。

Mistral Small 3.1比Gemma 3推理延迟更低的原因可能在于其自定义Token分词器,以及缩小了KV缓存和层数。除此之外,它是一个标准架构,如下图所示。

图16:Gemma 3 27B与Mistral 3.1 Small 24B的架构对比图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等模型。然而,由于本文重点关注语言建模,我们只关注文本模型。)

图17:DeepSeek V3(671B参数)与Llama 4 Maverick(400B参数)的架图17:DeepSeek V3(671B参数)与Llama 4 Maverick(400B参数)的架

虽然Llama 4 Maverick架构总体上与DeepSeek-V3非常相似,但仍有一些值得强调的有趣差异。

首先,Llama 4像其前身一样使用分组查询注意力(Grouped-Query Attention),而DeepSeek-V3使用多头潜注意力(Multi-Head Latent Attention),我们在本文开头讨论过。现在,DeepSeek-V3和Llama 4 Maverick都是非常大的架构,DeepSeek-V3的总参数量大约比Llama 4 Maverick大68%。然而,DeepSeek-V3的活跃参数量(37B)是Llama 4 Maverick(17B)的两倍多。

Llama 4 Maverick使用更经典的MoE设置,专家数量更少但规模更大(2个活跃专家,每个隐藏层大小为8192),而DeepSeek-V3则有更多活跃专家(9个活跃专家,每个隐藏层大小为2048)。此外,DeepSeek在每个Transformer块(除了前3个)都使用MoE层,而Llama 4则在每隔一个Transformer块中交替使用MoE和密集模块。

鉴于架构之间存在许多细微差异,很难确定它们对最终模型性能的确切影响。然而,主要结论是,MoE架构在2025年显著流行起来。

6. Qwen3

Qwen团队持续提供高质量的开源LLM。当我协助共同指导NeurIPS 2023的LLM效率挑战赛时,我记得获胜的顶级解决方案都基于Qwen2。

现在,Qwen3是另一个热门模型系列,在其规模类别中位居排行榜前列。它有7个密集模型:0.6B、1.7B、4B、8B、14B和32B。还有2个MoE模型:30B-A3B和235B-A22B。

6.1 Qwen3(密集模型)

我们首先讨论密集模型架构。截至本文撰写之时,0.6B模型很可能是目前最小的当前代开源模型。根据我的个人经验,考虑到其小巧的尺寸,它的性能确实非常出色。如果您打算在本地运行它,它具有出色的Token/秒吞吐量和较低的内存占用。更重要的是,由于其体积小巧,它也易于本地训练(用于教育目的)。

因此,Qwen3 0.6B已经取代了Llama 3 1B,满足了我大部分的需求。这两种架构的对比图如下。

图片图片

图18:Qwen3 0.6B与Llama 3 1B的架构对比;请注意,Qwen3是层数更深(deeper)的架构,而Llama 3是注意力头数更宽(wider)的架构

如果您对不依赖外部第三方LLM库、可读性强的Qwen3实现感兴趣,我最近从零开始(纯PyTorch)实现了Qwen3。

上图中显示的计算性能数据基于我在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的对比,后者拥有近两倍的活跃参数(37B)。

图19:DeepSeek-V3与Qwen3 235B-A22B的架构对比图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回应如下:

当时我们没有发现共享专家有足够显著的改进,并且我们担心共享专家可能导致的推理优化问题。老实说,这个问题没有直接的答案。

7. SmolLM3

SmolLM3可能不像本文中介绍的其他LLM那样受欢迎,但我认为它仍然是一个有趣的模型,因为它在相对较小且方便的3B参数模型尺寸下提供了非常好的建模性能,介于1.7B和4B的Qwen3模型之间,如下图所示。

图片图片

图20:SmolLM3发布帖(https://huggingface.co/blog/smollm3)中的标注图,对比了SmolLM3与Qwen3 1.7B、4B以及Llama 3 3B和Gemma 3 4B的胜率

此外,它还分享了许多训练细节,类似于OLMo,这很罕见,也总是值得赞赏!

如下图所示的架构对比图,SmolLM3架构看起来相当标准。然而,最有趣的方面可能是它使用了无位置嵌入(No Positional Embeddings, NoPE)。

图19:DeepSeek-V3与Qwen3 235B-A22B的架构对比图19:DeepSeek-V3与Qwen3 235B-A22B的架构对比

7.1 无位置嵌入(NoPE)

在LLM语境中,NoPE是一个较旧的概念,可以追溯到2023年的一篇论文(《The Impact of Positional Encoding on Length Generalization in Transformers》),旨在移除显式的位置信息注入(例如通过早期GPT架构中的经典绝对位置嵌入层或现今的RoPE)。

在基于Transformer的LLM中,位置编码通常是必需的,因为自注意力机制独立于顺序处理Token。绝对位置嵌入通过添加一个额外的嵌入层来解决这个问题,该层向Token嵌入添加信息。

图22:绝对位置嵌入图22:绝对位置嵌入

另一方面,RoPE通过旋转查询和键向量相对于其Token位置来解决这个问题。

然而,在NoPE层中,根本没有添加任何此类位置信号:不固定、不学习、不相对。什么都没有。

即使没有位置嵌入,模型仍然知道哪些Token在前,这得益于因果注意力掩码(causal attention mask)。此掩码阻止每个Token关注未来的Token。因此,位置t的Token只能看到位置$\le$t的Token,这保留了自回归顺序。

因此,虽然没有显式添加位置信息,但模型的结构中仍然隐含着方向感,并且LLM在常规的基于梯度下降的训练中,如果发现它对优化目标有益,则可以学习利用它。(有关更多信息,请查看NoPE论文的定理。)

因此,总的来说,NoPE论文不仅发现不需要位置信息注入,而且还发现NoPE具有更好的长度泛化能力,这意味着LLM回答性能随序列长度增加而下降的程度更小,如下图所示。

图23:NoPE论文(https://arxiv.org/abs/2305.19466)中的标注图,图片

图23:NoPE论文(https://arxiv.org/abs/2305.19466)中的标注图,显示NoPE具有更好的长度泛化能力

请注意,上面所示的实验是在一个相对较小的GPT风格模型上进行的,大约有0.1B参数,上下文大小也相对较小。这些发现如何推广到更大、更现代的LLM尚不清楚。

因此,SmolLM3团队可能只在每第四层“应用”了NoPE(或者说省略了RoPE)。

8. Kimi 2

Kimi 2最近在AI社区引起了巨大轰动,因为它是一个开源模型,性能令人难以置信。根据基准测试,它与Google的Gemini、Anthropic的Claude和OpenAI的ChatGPT等最优秀的专有模型不相上下。

一个值得注意的方面是它使用了相对较新的Muon优化器的一种变体,而非AdamW。据我所知,这是Muon首次用于如此规模的生产模型(此前,它只被证明可以扩展到16B)。这带来了非常好的训练损失曲线,这可能有助于将该模型推向上述基准测试的顶端。

虽然人们评论说损失异常平滑(因为没有尖峰),但我认为它并非异常平滑(例如,参见下图中OLMo 2的损失曲线;此外,梯度的L2范数可能是一个更好的衡量训练稳定性的指标)。然而,值得注意的是损失曲线的衰减程度。

然而,如本文引言所述,训练方法论是另一个话题。

图片图片

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

该模型本身拥有1T参数,这确实令人印象深刻。

截至本文撰写之时,它可能是这一代最大的LLM(考虑到Llama 4 Behemoth尚未发布、专有LLM不计入在内,以及Google的1.6T Switch Transformer是不同代次的编码器-解码器架构)。

Kimi 2也回归了本源,它使用了我们在本文开头介绍的DeepSeek-V3架构,只是将其规模扩大了,如下图所示。

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

如上图所示,Kimi 2.5与DeepSeek V3基本相同,只是在MoE模块中使用了更多专家,在多头潜注意力(Multi-head Latent Attention, 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是最令人印象深刻的开源模型。

这么多年过去了,LLM的发布仍然令人兴奋,我很好奇接下来会发生什么!

参考资料:Raschka, S. (2025, July 19). The big LLM architecture comparison. AI Magazine. Retrieved from https://magazine.sebastianraschka.com/p/the-big-llm-architecture-comparison

相关资讯

LLM 大语言模型定义以及关键技术术语认知

大语言模型定义LLM(Large Language Models)是基于 Transformer 架构(可以理解为不同寻常的大脑)的深度神经网络,通过海量文本数据训练获得语言理解和生成能力。 其核心特征包括:参数规模达数十亿级别(GPT-3 175B参数)知识储备惊人,可以理解为脑细胞数量是普通人的千亿倍(1750亿参数),相当于把整个图书馆的书都装进大脑自回归生成机制(逐词预测)说话方式像接龙,当它写作文时,就像我们玩词语接龙:先写"今天",然后根据"今天"想"天气",接着根据"今天天气"想"晴朗",逐字逐句生成内容。 注意力机制实现长程依赖建模特别会抓重点就像我们读小说时,会自动记住关键人物关系(比如注意到"陈平安喜欢宁姚"),它能自动捕捉文字间的深层联系。
3/4/2025 1:00:00 AM
山河已无恙

爆火Block Diffusion引发LLM架构变革?自回归+扩散模型完美结合

扩散模型被广泛应用于生成图像和视频,并且在生成离散数据(如文本或生物序列)任务上的效果也越来越好,与自回归模型相比,扩散模型有望加速「生成过程」并提高模型输出的「可控性」。 然而,离散扩散模型目前仍然有三个局限性:在聊天系统等应用中,模型需要生成任意长度的输出序列(例如,对用户问题的回答),但大多数现有的扩散架构只能生成固定长度的向量;离散扩散在生成过程中使用双向上下文,因此无法利用键值缓存(KV caching)复用之前的计算,使得推理效率较低。 从困惑度等标准指标来看,离散扩散模型的质量仍落后于自回归方法,也进一步限制了其应用范围。
3/25/2025 9:04:12 AM
新智元

构建生产级LLM应用完整指南:从原型到落地的全流程实践

一、LLM应用落地的真实挑战当Jasper AI的写作助手因意外流量在数小时内崩溃时,人们意识到:让LLM应用从实验室走向真实用户,绝非简单的代码迁移。 根据Anthropic 2024年开发者调查,73%的LLM应用在触达用户前折戟沉沙,问题并非出在AI模型本身,而是支撑系统无法应对真实世界的复杂性——用户的不可预测输入、API的偶发故障、成本的突然飙升,这些都是原型阶段未曾遭遇的“暗礁”。 本文将以实战为导向,结合代码示例与架构设计,详解如何将一个基于OpenAI API的简单聊天机器人,升级为具备容错能力、成本可控且可弹性扩展的生产级系统。
6/5/2025 2:45:00 AM
大模型之路
  • 1