八大LLM架構大比較總結:從DeepSeek-V3->qwen3->Kimi K2看LLM架構設計 精華
自最初的 GPT 架構開發以來,已經過去了七年。乍一看,回顧 GPT-2(2019 年),展望 DeepSeek-V3 和 Llama 4(2024-2025 年),人們可能會驚訝于這些模型在結構上仍然如此相似。
當然,位置嵌入已經從絕對嵌入演進到旋轉嵌入(RoPE),多頭注意力機制已基本被分組查詢注意力機制所取代,而更高效的 SwiGLU 也取代了 GELU 等激活函數。但在這些細微的改進背后,我們是否真正看到了突破性的變化,還是僅僅在打磨相同的架構基礎?
比較 LLM 以確定有助于其良好(或不太好)性能的關鍵因素是出了名的困難:數據集、訓練技術和超參數差異很大,而且通常沒有很好的記錄。
然而,我認為研究架構本身的結構變化以了解 LLM 開發人員在 2025 年會做什么仍然很有價值。(其中的一部分如下圖 1 所示。)

圖 1:本文涵蓋的架構子集。
1. DeepSeek V3/R1
您可能已經聽說過不止一次,DeepSeek R1在 2025 年 1 月發布時引起了巨大反響。DeepSeek R1 是基于2024 年 12 月推出的DeepSeek V3 架構構建的推理模型。
雖然我在這里關注的是 2025 年發布的架構,但我認為包含 DeepSeek V3 是合理的,因為它是在 2025 年推出 DeepSeek R1 后才獲得廣泛關注和采用的。
如果您對 DeepSeek R1 的訓練特別感興趣,您可能也會發現我今年早些時候的文章很有用。
在本節中,我將重點介紹 DeepSeek V3 中引入的兩種關鍵架構技術,這些技術提高了其計算效率,并使其有別于許多其他 LLM:
- 多頭潛在注意力(MLA)
- 混合專家(MoE)
1.1 多頭潛在注意力(MLA)
在討論多頭潛在注意力 (MLA) 之前,我們先簡單回顧一下背景知識,解釋一下它的應用。首先,我們來談談分組查詢注意力 (GQA)。近年來,GQA 已成為多頭注意力 (MHA) 的新標準替代者,它在計算和參數方面都更具效率。
以下是 GQA 的簡要總結。與 MHA 不同,MHA 中的每個 head 都有自己的一組鍵和值,為了減少內存占用,GQA 將多個 head 分組以共享相同的鍵和值投影。
例如,如下圖 2 所示,如果有 2 個鍵值組和 4 個注意力頭,那么注意力頭 1 和 2 可能共享一組鍵值對,而注意力頭 3 和 4 則共享另一組鍵值對。這減少了鍵值對的計算總量,從而降低了內存占用并提高了效率(根據消融研究,這不會顯著影響建模性能)。

圖 2:MHA 與 GQA 的比較。此處,組大小為 2,其中兩個查詢共享一個鍵值對。
因此,GQA 的核心思想是通過在多個查詢頭之間共享鍵值頭來減少鍵值頭的數量。這 (1) 可以降低模型的參數數量,(2) 還可以減少推理過程中鍵值張量的內存帶寬占用,因為需要存儲和從鍵值緩存中檢索的鍵值更少。
(如果您好奇 GQA 在代碼中的樣子,請參閱我的GPT-2 到 Llama 3 轉換指南,其中有一個沒有 KV 緩存的版本,以及我的 KV 緩存變體。)
雖然 GQA 主要是 MHA 的一種計算效率解決方法,但消融研究(例如原始 GQA 論文和Llama 2 論文中的研究)表明,就 LLM 建模性能而言,它的表現與標準 MHA 相當。
現在,多頭潛在注意力 (MLA) 提供了一種不同的內存節省策略,并且與鍵值緩存 (KV) 配合得非常好。MLA 不像 GQA 那樣共享鍵值頭,而是將鍵值張量壓縮到低維空間,然后再將它們存儲在鍵值緩存中。
在推理時,這些壓縮的張量會被投影回其原始大小,然后再使用,如下圖 3 所示。這增加了額外的矩陣乘法,但減少了內存使用量。

圖 3:MLA(用于 DeepSeek V3 和 R1)與常規 MHA 的比較。
(順便說一句,查詢也被壓縮,但僅在訓練期間,而不是推理期間。)
順便說一句,MLA 并非 DeepSeek V3 中的新特性,其前身 DeepSeek-V2也曾使用(甚至引入)過它。此外,V2 論文中包含一些有趣的消融研究,或許可以解釋 DeepSeek 團隊為何選擇 MLA 而非 GQA(見下圖 4)。

圖 4:DeepSeek-V2 論文中的注釋表,https://arxiv.org/abs/2405.04434
如上圖 4 所示,GQA 的性能似乎不如 MHA,而 MLA 的建模性能優于 MHA,這可能就是 DeepSeek 團隊選擇 MLA 而非 GQA 的原因。(如果能比較一下 MLA 和 GQA 之間“每個令牌的鍵值緩存”節省情況,也一定很有趣!)
在我們進入下一個架構組件之前,總結一下本節,MLA 是一個巧妙的技巧,可以減少 KV 緩存內存的使用,同時在建模性能方面甚至略勝于 MHA。
1.2 混合專家(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和2022 DeepSpeedMoE 論文中就已提出。

圖 6:來自“DeepSeekMoE:邁向混合專家語言模型中的終極專家專業化”的注釋圖,https://arxiv.org/abs/2401.06066
DeepSpeedMoE 論文首次提出了共享專家的優勢,他們發現與沒有共享專家相比,共享專家可以提升整體建模性能。這可能是因為多個專家無需學習常見或重復的模式,從而為它們提供了更多學習更專業模式的空間。
1.3 DeepSeek總結
總而言之,DeepSeek-V3 是一個擁有 6710 億個參數的龐大模型,在發布時,其性能優于其他開放權重模型,包括 405B 的 Llama 3。盡管規模更大,但由于其混合專家 (MoE) 架構,它在推理時間上效率更高,該架構每個標記僅激活一小部分(僅 370 億個)參數。
DeepSeek-V3 的另一個關鍵區別在于它使用了多頭潛在注意力 (MLA) 算法,而非分組查詢注意力 (GQA)。MLA 和 GQA 都是標準多頭注意力 (MHA) 的高效推理替代方案,尤其是在使用鍵值緩存時。雖然 MLA 的實現更為復雜,但 DeepSeek-V2 論文中的一項研究表明,MLA 的建模性能優于 GQA。
2.OLMo 2
非營利機構艾倫人工智能研究所的OLMo系列模型值得關注,因為它在訓練數據和代碼方面非常透明,并且技術報告也相對詳細。
雖然您可能不會在任何基準或排行榜的頂部找到 OLMo 模型,但它們非常干凈,更重要的是,由于它們的透明度,它們是開發 LLM 的絕佳藍圖。
雖然 OLMo 模型因其透明度而廣受歡迎,但它們的表現也并不差。事實上,在 1 月份發布時(Llama 4、Gemma 3 和 Qwen 3 之前),OLMo 2模型處于計算性能比的帕累托前沿,如下圖 7 所示。

圖 7:不同 LLM 的建模基準性能(越高越好)與預訓練成本(FLOP;越低越好)的關系。此圖來自 OLMo 2 論文(https://arxiv.org/abs/2501.00656),帶注釋。
正如本文前面提到的,我旨在僅關注 LLM 架構細節(而非訓練或數據),以使其保持在可控的篇幅內。那么,OLMo2 中有哪些有趣的架構設計選擇呢?主要歸結為規范化:RMSNorm 層的放置以及 QK 范數的添加,我將在下文討論。
另外值得一提的是,OLMo 2 仍然采用傳統的多頭注意力(MHA),而不是 MLA 或 GQA。
2.1 Normalization Layer布局
總體而言,OLMo 2 在很大程度上遵循了原始 GPT 模型的架構,與其他當代 LLM 類似。然而,也存在一些值得注意的差異。讓我們從規范化層開始。
與 Llama、Gemma 和大多數其他 LLM 類似,OLMo 2 從 LayerNorm 轉換為 RMSNorm。
但由于 RMSNorm 已經過時(它本質上是 LayerNorm 的簡化版本,可訓練參數更少),我將跳過 RMSNorm 與 LayerNorm 的討論。(感興趣的讀者可以在我的GPT-2 到 Llama 轉換指南中找到 RMSNorm 的代碼實現。)
然而,RMNSorm 層的放置位置值得討論。原始 Transformer(來自“ Attention is all you need ”論文)將兩個歸一化層分別放置在 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:該圖顯示了 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 本質上是另一個 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 的架構比較。
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) 架構,在模型大小固定的情況下減少推理時的內存需求。(我們稍后將討論的其他幾個模型也采用了 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 的比例組合在一起。每個 token 可以關注附近上下文的 4k 個 token 窗口。
Gemma 2 每隔一層都使用滑動窗口注意力機制,而 Gemma 3 則采用了 5:1 的比例,這意味著每 5 個滑動窗口(局部)注意力層中只有一個完整的注意力層;此外,滑動窗口大小從 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 中使用的 Post-Norm(“你只需要注意力”),(2)由 GPT-2 推廣并在之后的許多其他架構中使用的 Pre-Norm,以及(3)我們之前看到的 OLMo 2 中的 Post-Norm 風格。

圖 14:OLMo2 和 Gemma 3 之間的架構比較;請注意 Gemma 3 中的附加規范化層。
我認為這種歸一化層放置方法相對直觀,因為它兼顧了兩種方法的優點:預歸一化和后歸一化。在我看來,增加一些額外的歸一化操作總是好的。在最壞的情況下,如果額外的歸一化操作是多余的,則會因冗余而導致效率低下。不過,在實踐中,由于 RMSNorm 總體上相對便宜,因此這應該不會造成任何明顯的影響。
3.3 Gemma 3 總結
Gemma 3 是一款性能良好的開放權重法學碩士 (LLM),但在我看來,它在開源圈中有點被低估了。它最有趣的部分是使用滑動窗口注意力機制來提高效率(未來將其與 MoE 結合起來會很有趣)。
此外,Gemma 3 具有獨特的規范化層放置,將 RMSNorm 層放置在注意力和前饋模塊之前和之后。
3.4 獎勵:Gemma 3n
在 Gemma 3 發布幾個月后,谷歌分享了Gemma 3n,這是一款針對小型設備效率進行了優化的 Gemma 3 型號,目標是在手機上運行。
Gemma 3n 中為了提高效率而做出的改進之一是所謂的“逐層嵌入 (PLE)”參數層。其核心思想是僅將模型參數的子集保存在 GPU 內存中。然后,特定于 token 層的嵌入(例如用于文本、音頻和視覺模態的嵌入)將按需從 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 億參數數量的差異,是因為谷歌在 LLM 中報告參數數量的方式很有意思。他們通常會排除嵌入參數,以使模型看起來更小,但在這種情況下,為了方便起見,可以添加嵌入參數來使模型看起來更大。這并非谷歌獨有,因為這種方法已成為整個領域的普遍做法。
另一個有趣的技巧是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 的原因很可能在于其自定義的分詞器,以及縮減了鍵值緩存和層數。除此之外,它仍然是一個標準架構,如下圖所示。

圖 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(6710 億個參數)和 Llama 4 Maverick(4000 億個參數)的架構比較。
雖然 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 擁有 370 億個活躍參數,是 Llama 4 Maverick(170 億)的兩倍多。
Llama 4 Maverick 采用了更經典的 MoE 設置,其專家數量更少但規模更大(2 名活躍專家,每名專家的隱藏層大小為 8,192),而 DeepSeek-V3 則使用了 9 名活躍專家,每名專家的隱藏層大小為 2,048。此外,DeepSeek 在每個轉換器模塊(前 3 個除外)中都使用了 MoE 層,而 Llama 4 則在每個轉換器模塊中交替使用 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。
(順便說一句,請注意“Qwen3”中缺少的空格并不是拼寫錯誤;我只是嘗試保留 Qwen 開發人員選擇的原始拼寫。)
6.1 Qwen3(Dense)
我們先來討論一下密集模型架構。截至撰寫本文時,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 更多,這導致運行速度較慢(每秒生成 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 仍然保留著他們的共享專家。)
7. SmolLM3
SmolLM3可能不如本文介紹的其他 LLM 那么受歡迎,但我認為它仍然是一個有趣的模型,因為它在相對較小且方便的 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)
在 LLM 環境中,NoPE 是一個較舊的想法,可以追溯到 2023 年的一篇論文(位置編碼對 Transformer 長度泛化的影響),旨在消除顯式的位置信息注入(例如通過早期 GPT 架構中的經典絕對位置嵌入層或現在的 RoPE)。
在基于 Transformer 的 LLM 中,位置編碼通常是必需的,因為自注意力機制會獨立于順序來處理 token。絕對位置嵌入通過添加一個額外的嵌入層來解決這個問題,該嵌入層會將信息添加到 token 嵌入中。

圖 22:來自我的《從頭開始構建大型語言模型》一書(https://www.amazon.com/Build-Large-Language-Model-Scratch/dp/1633437167)的修改圖,展示了絕對位置嵌入。
另一方面,RoPE 通過相對于其標記位置旋轉查詢和鍵向量來解決這個問題。
然而,在 NoPE 層中,根本沒有添加任何位置信號:不是固定的,不是學習到的,也不是相對的。什么都沒有。
即使沒有位置嵌入,由于因果注意力掩碼的存在,模型仍然知道哪些標記在前面。此掩碼阻止每個標記關注后面的標記。因此,位置t處的標記只能看到位置≤ t處的標記,從而保持了自回歸排序。
因此,雖然沒有明確添加位置信息,但模型結構中仍然隱含著方向感,而 LLM 在常規的梯度下降訓練中,如果發現方向感對優化目標有利,就可以學習利用它。(更多信息,請參閱 NoPE 論文的定理。)
所以,總體來說,NoPE 論文不僅發現不需要位置信息注入,而且還發現 NoPE 具有更好的長度泛化能力,這意味著隨著序列長度的增加,LLM 應答性能下降得更少,如下圖所示。

圖 23:NoPE 論文(https://arxiv.org/abs/2305.19466)中的注釋圖,顯示 NoPE 具有更好的長度泛化能力。
請注意,上述實驗是使用一個相對較小的 GPT 類模型進行的,該模型包含約 1 億個參數,上下文規模也相對較小。目前尚不清楚這些發現能否推廣到更大規模的當代 LLM。
因此,SmolLM3 團隊可能僅在每 4 層“應用”NoPE(或者更確切地說省略了 RoPE)。
8. KIMI2
Kimi 2最近在 AI 社區引起了轟動,因為它是一個性能卓越的開放權重模型。基準測試顯示,它的性能堪比谷歌 Gemini、Anthropic 的 Claude 以及 OpenAI 的 ChatGPT 等頂級專有模型。
值得一提的是,它使用了相對較新的Muon優化器的一個變體來替代 AdamW。據我所知,這是 Muon 首次用于這種規模的生產模型,而非 AdamW(此前,它僅被證明可以擴展到 16B)。這帶來了非常漂亮的訓練損失曲線,這可能有助于該模型躍居上述基準測試的榜首。
雖然有人評論說損失函數異常平滑(因為沒有尖峰),但我認為它并非異常平滑(例如,參見下圖中的 OLMo 2 損失曲線;此外,梯度的 L2 范數可能是追蹤訓練穩定性的更好指標)。然而,值得注意的是損失曲線衰減得如此之好。
然而,正如本文介紹中所提到的,培訓方法是另一個話題。
該模型本身有 1 萬億個參數,這確實令人印象深刻。
截至撰寫本文時,它可能是這一代最大的 LLM(考慮到 Llama 4 Behemoth 尚未發布、專有 LLM 不算數以及谷歌的 1.6 萬億Switch Transformer是來自不同世代的編碼器-解碼器架構等限制)。
它也完成了一個循環,因為 Kimi 2 使用了我們在本文開頭介紹過的 DeepSeek-V3 架構,只不過他們把它做得更大了,如下圖所示。

圖 25:DeepSeek V3 和 Kimi K2 的架構比較。
如上圖所示,Kimi 2.5 與 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 是最令人印象深刻的開放重量模型。
譯自:?????https://sebastianraschka.com/blog/2025/the-big-llm-architecture-comparison.html??
本文轉載自??大模型自然語言處理?? 作者:Raschka

















