精品一区二区三区在线成人,欧美精产国品一二三区,Ji大巴进入女人66h,亚洲春色在线视频

硬核拆解大模型,從 DeepSeek-V3 到 Kimi K2 ,一文看懂 LLM 主流架構

人工智能 新聞
如果從 2019 年的 GPT-2 出發,回顧至 2024–2025 年的 DeepSeek-V3 和 LLaMA 4,不難發現一個有趣的現象:盡管模型能力不斷提升,但其整體架構在這七年中保持了高度一致。

自首次提出 GPT 架構以來,轉眼已經過去了七年。

如果從 2019 年的 GPT-2 出發,回顧至 2024–2025 年的 DeepSeek-V3 和 LLaMA 4,不難發現一個有趣的現象:盡管模型能力不斷提升,但其整體架構在這七年中保持了高度一致。

當然,細節上仍有不少演進。例如,位置編碼從最初的絕對位置(Absolute Positional Encoding)發展為旋轉位置編碼(RoPE);注意力機制也從標準的多頭注意力(Multi-Head Attention)逐步過渡為更高效的分組查詢注意力(Grouped-Query Attention);而激活函數方面,則從 GELU 被更高效的 SwiGLU 所取代。

然而,這些變化中究竟有沒有「顛覆性創新」?七年間,大語言模型的架構是否真正迎來了質的飛躍,還是仍在原有框架上不斷精雕細琢?

本文博客來自于 Sebastian Raschka,知名 AI 研究者和博主、《Python 機器學習》作者。

image.png

博客詳細列舉了 8 個主流大語言模型,包含 DeepSeek 和 Kimi 等國產大模型,硬核拆解了每個大模型的架構設計和革新思路,深度介紹了現代最新大語言模型的架構設計以及大模型的架構演進趨勢。

image.png

圖 1:本文所涵蓋的部分 LLM 架構示意圖。

DeepSeek V3/R1

DeepSeek R1 在 2025 年 1 月發布時引起了巨大反響。

DeepSeek R1 是一個以 DeepSeek V3 架構為基礎構建的推理模型,而 DeepSeek V3 最初于 2024 年 12 月推出。盡管本文重點討論 2025 年發布的架構,但作者認為應當將 DeepSeek V3 納入其中。

本節將重點介紹 DeepSeek V3 引入的兩項關鍵架構技術,這些技術提升了其計算效率,也使其在眾多大型語言模型中脫穎而出。

若對 DeepSeek V3 關鍵技術感興趣,請參照技術報告:

image.png

  • 論文標題:DeepSeek-V3 Technical Report
  • 論文鏈接:https://arxiv.org/abs/2412.19437

多頭潛在注意力機制 (MLA)

在討論多頭潛在注意力機制之前,應從近年來被廣泛采用的分組查詢注意力機制(GQA)說起,它已成為相較于傳統多頭注意力機制(Multi-Head Attention, MHA)更具計算與參數效率的新標準替代方案。

下面是對 GQA 的簡要說明:與 MHA 中每個注意力頭都有自己的一組鍵(key)和值(value)不同,GQA 的做法是將多個注意力頭分組,讓它們共享相同的 key 和 value 投影,從而降低內存使用。

如下圖 2 所示,假設有 2 組 key-value 和 4 個注意力頭,那么注意力頭 1 和 2 可以共享第一組 key 和 value,而注意力頭 3 和 4 共享第二組。這種做法減少了總的 key 和 value 計算量,降低了內存使用,提高了效率。

image.png

圖 2:多頭注意力機制(MHA)與分組查詢注意力機制(GQA)的對比示意圖。

GQA 的核心思想是:通過讓多個 query 頭共享一組 key 和 value,從而減少 key 和 value 的總數。這帶來了兩個主要好處:

1. 降低模型參數總量;

2. 在推理時減少 KV 緩存中 key 和 value 張量的內存帶寬使用,因為需要存取的鍵值對變少了。

接下來介紹的 多頭潛在注意力機制(MLA),則提供了一種 不同的內存節省策略,并且它與 KV 緩存機制的配合更加緊密。

與 GQA 通過「共享鍵值頭」不同,MLA 是將 key 和 value 張量壓縮到一個低維潛在空間后再存入 KV 緩存。而在推理過程中,這些壓縮張量會被重新投影回原始維度再使用(如圖 3 所示)。這一過程中雖然引入了一次額外的矩陣乘法,但大大節省了內存使用。

image.png

圖 3:多頭潛在注意力機制(MLA,應用于 DeepSeek V3 和 R1)與常規多頭注意力機制(MHA)的對比。

值得說明的是,MLA 并不是 DeepSeek V3 首創的技術,它的前代模型 DeepSeek V2 就已經使用(甚至首次提出)了該機制。

MLA 是一種非常巧妙的技術手段,能夠在提升模型表現的同時,大幅降低 KV 緩存的內存占用。相比之下,它甚至略優于傳統的 MHA。接下來將進入下一個架構模塊的分析。

Mixture-of-Experts (MoE)

DeepSeek 架構中另一個值得重點關注的重要組成部分是它對 MoE(Mixture-of-Experts,專家混合)層的應用。雖然 MoE 并非由 DeepSeek 首創,但這一技術在 2025 年迎來了回歸,在后文介紹的許多架構中也能看到它的身影。

MoE 的核心思想是:將 Transformer 中的每個前饋模塊(FeedForward)替換為多個「專家層」(每個專家層本質上也是一個前饋網絡)。也就是說,原本單一的前饋結構被替換為多個并行的前饋子模塊,具體如圖 5 所示。

image.png

圖 5:右圖展示了 DeepSeek V3/R1 中 Mixture-of-Experts(MoE)模塊的結構,對比左圖中標準 LLM 所使用的普通前饋模塊。

在 Transformer 塊內部的前饋模塊(上圖中的深灰色塊)通常占據了模型總參數量的很大一部分。

因此,將一個前饋模塊替換為多個前饋模塊(即構建 MoE 結構)會顯著增加模型的總參數量。不過,關鍵的技巧在于:并不為每個 token 啟用所有的專家模塊(experts),而是由一個「路由器(router)」為每個 token 挑選出其中一小部分進行激活。MoE 的這種設計使得模型擁有極大的參數容量,在訓練階段能吸收更多知識;但在推理時由于稀疏激活,大幅降低了計算開銷。

舉個例子:DeepSeek-V3 每個 MoE 模塊中擁有 256 個專家,總參數量高達 6710 億。但在推理時,每個 token 實際只激活其中 9 個專家(1 個共享專家 + 路由選出的 8 個專家)

image.png圖 6:DeepSeekMoE 的注釋圖

關于 DeepSeek MoE 的更多細節,請參閱以下論文:

image.png

  • 論文標題:DeepSeekMoE: Towards Ultimate Expert Specialization in Mixture-of-Experts Language Models
  • 論文鏈接:https://arxiv.org/abs/2401.06066

在 DeepSpeedMoE 論文中首次指出,引入「共享專家」(shared expert)可以顯著提升模型整體的建模性能。其原理很可能是:對于通用或重復性強的模式,不需要多個專家分別學習;只需由共享專家統一處理,從而釋放出其他專家的容量,專注于學習更加專業的知識模式。

OLMo 2

由非營利機構 Allen Institute for AI 發布的 OLMo 系列模型,因其在訓練數據、代碼和技術報告方面的高度透明而備受關注。

OLMo 模型結構清晰、設計規范,更重要的是,由于極高的透明度,它們為大語言模型的開發提供了極佳的參考范式。

在 OLMo 2 中有哪些值得注意的架構設計選擇呢?

主要集中在歸一化策略上:包括 RMSNorm 層的位置安排,以及 QK-norm(Query-Key 歸一化) 的引入。

另一個值得一提的是,OLMo 2 仍采用傳統的多頭注意力機制(MHA),并未采用 MLA 或 GQA 等新型注意力結構。

關于更多 OLMo 2 的細節信息,請參照論文:

image.png

  • 論文標題:2 OLMo 2 Furious
  • 論文鏈接:https://arxiv.org/abs/2501.00656

歸一化層位置選擇

總體而言,OLMo 2 在架構上大體沿用了最初 GPT 模型的設計,與當前多數主流大型語言模型相似。但它也存在一些值得關注的不同之處,先從歸一化層的設計說起。

與 Llama、Gemma 以及大多數現代 LLM 一樣,OLMo 2 將歸一化方法從 LayerNorm 替換為 RMSNorm。

真正值得討論的是 RMSNorm 的位置選擇。在最初的 Transformer 架構中,兩個歸一化層分別位于注意力模塊和前饋模塊之后,這種結構被稱為 Post-LN 或 后歸一化(Post-Norm)。

而 GPT 及其后大多數的 LLM 模型,則將歸一化層放在注意力模塊和前饋模塊的之前,這種做法稱為 Pre-LN 或 前歸一化(Pre-Norm)。

下圖展示了 Post-Norm 與 Pre-Norm 的結構對比:

image.png

圖 8:Post-Norm、Pre-Norm 以及 OLMo 2 采用的 Post-Norm 變體的對比圖。

早在 2020 年,Xiong 等人就指出 Pre-LN 在模型初始化時可以帶來更穩定的梯度。此外,研究人員還提到,Pre-LN 即使在不使用學習率預熱的情況下也能正常訓練,而這是 Post-LN 通常難以做到的。

在 OLMo 2 中,歸一化層并不是放在注意力層和前饋網絡之前,而是放在之后,如上圖所示。然而,與最初 Transformer 架構不同的是,這些歸一化層仍然嵌套在殘差層內部。

那么,他們為何要調整歸一化層的位置呢?

原因在于這種設計有助于提升訓練的穩定性,這一點將在下圖中進行展示。

image.png

圖 9:展示了 Pre-Norm(如 GPT-2、Llama 3 等所采用)與 OLMo 2 所采用的 Post-Norm 變體在訓練穩定性方面的對比。

不過遺憾的是,這張圖展示的結果同時包含了歸一化順序調整和 QK-Norm 兩個因素,而后者是一個獨立的概念。因此很難明確判斷,歸一化位置的改變對訓練穩定性的提升到底貢獻了多少。

QK-Norm

QK-Norm 本質上是另一個 RMSNorm 層,它被放置在 多頭注意力模塊內部,在應用旋轉位置編碼(RoPE)之前,對 Query 和 Key 進行歸一化處理。

如前所述,QK-Norm 與 Post-Norm 結合使用,有助于穩定訓練過程。關于 QK-Norm 更多細節,請參閱以下論文:

image.png

  • 論文標題:Scaling Vision Transformers
  • 論文鏈接:https://arxiv.org/abs/2106.04560

簡而言之,OLMo 2 架構中的主要設計亮點是 RMSNorm 的放置方式:將 RMSNorm 放置在注意力模塊和前饋模塊之后(屬于 Post-Norm 的一種變體),并在注意力機制中對 query 和 key 引入額外的 RMSNorm(即 QK-Norm)。這兩項改動結合使用,有助于穩定訓練損失。

下圖展示了 OLMo 2 與 Llama 3 的架構對比;可以看到,除了 OLMo 2 仍使用傳統的 MHA 而非 GQA 外,二者在整體結構上相對接近。

image.png

圖 10:Llama 3 與 OLMo 2 的架構對比圖。

Gemma 3

谷歌的 Gemma 系列模型一直表現非常出色,但相比于 Llama 系列等熱門模型,它們的關注度似乎總是略顯不足。

Gemma 3 在架構上使用了另一種「技巧」來降低計算成本:滑動窗口注意力(sliding window attention)。

借助滑動窗口注意力機制,Gemma 3 團隊成功大幅降低了 KV 緩存的內存需求,具體效果如下圖所示。

image.png

圖 11:Gemma 3 的 KV 緩存內存節省效果。

如果把常規的自注意力看作一種「全局」注意力機制,因為序列中的每個元素都可以訪問其他所有元素,那么滑動窗口注意力則可以看作是一種「局部」注意力機制,因為它限制了當前查詢位置周圍的上下文范圍。下圖展示了這一機制的原理。

image.png

圖 12:常規注意力機制(左)與滑動窗口注意力機制(右)的對比圖。

需要注意的是,滑動窗口注意力機制既可以與多頭注意力配合使用,也可以與分組查詢注意力(GQA)一起使用;Gemma 3 就采用了 GQA。

如上所述,滑動窗口注意力也被稱為「局部注意力」,因為其關注的上下文僅限于圍繞當前查詢位置的一個局部窗口,并且該窗口會隨著查詢位置的移動而滑動。相對地,常規注意力機制則是「全局」的,每個 token 都可以訪問所有其他 token。

雖然滑動窗口注意力是 Gemma 3 架構中最顯著的特點,但作為對前文 OLMo 2 部分的補充,在此簡要介紹一下 Gemma 3 中歸一化層的放置方式。

一個小但有趣的細節是:Gemma 3 在其 GQA 模塊周圍同時使用了 RMSNorm 的 Pre-Norm 和 Post-Norm 形式。

這與 Gemma 2 的做法類似,但依然值得強調,因為它不同于以下幾種主流做法:

1. 原始 Transformer 架構使用的 Post-Norm;

2. 由 GPT-2 推廣、并被許多后續架構采用的 Pre-Norm;

3. 前文在 OLMo 2 中看到的、特殊的 Post-Norm 變體。

Gemma 3 的這種雙重歸一化策略展示了一種不同尋常的歸一化設計選擇,可能與其在推理效率和訓練穩定性之間的權衡有關。

image.png

圖 14:OLMo 2 與 Gemma 3 的架構對比;請注意 Gemma 3 中額外的歸一化層。

這種歸一化層的放置方式相對直觀,因為它結合了 Pre-Norm 和 Post-Norm 的優勢。

作者認為,多加一點歸一化并無壞處。

關于 Gemma 3 的更多細節,請參閱技術報告:

image.png

  • 論文標題:Gemma 3 Technical Report
  • 論文鏈接:https://arxiv.org/abs/2503.19786

Mistral Small 3.1

Mistral Small 3.1 24B 于今年 3 月發布,緊隨 Gemma 3 之后。它值得關注的一個原因是,在多個基準測試中,其表現優于 Gemma 3 27B,同時推理速度更快。

造成 Mistral Small 3.1 推理延遲低于 Gemma 3 的主要原因,可能在于其定制的分詞器(tokenizer),以及更小的 KV 緩存和更少的層數。除此之外,它整體上采用的是標準架構,如下圖所示。

image.png

圖 16:Gemma 3 27B 與 Mistral 3.1 Small 24B 的架構對比圖。

有趣的是,早期的 Mistral 模型曾使用滑動窗口注意力機制,但在 Mistral Small 3.1 中似乎放棄了這一設計。

與使用滑動窗口的 Gemma 3 不同,Mistral 采用了常規的 GQA。

作者推測,盡管滑動窗口注意力可以降低內存使用,但它并不一定能降低推理延遲,而這正是 Mistral Small 3.1 所優先關注的性能指標。

Llama 4

前文對專家混合模型(MoE)的詳細介紹又派上用場了。

Llama 4 同樣采用了 MoE 架構,其余部分則延續了較為標準的設計,整體架構與 DeepSeek-V3 非常相似,如下圖所示。

image.png

圖 17:DeepSeek V3(6710 億參數)與 Llama 4 Maverick(4000 億參數)架構對比圖。

盡管 Llama 4 Maverick 的整體架構看起來與 DeepSeek-V3 非常相似,但其中仍有一些值得注意的差異。

首先,Llama 4 采用了與其前代模型相同的 GQA,而 DeepSeek-V3 則使用了 MLA。

這兩款模型都是非常龐大的架構,DeepSeek-V3 的總參數量大約比 Llama 4 Maverick 多出 68%。但從實際推理中參與計算的參數數量來看,DeepSeek-V3 啟用的參數達 370 億,是 Llama 4 Maverick(170 億)的兩倍多。

在 MoE 設置方面,Llama 4 Maverick 使用的是更為傳統的架構:每次僅激活 2 個專家,每個專家的隱藏層維度為 8192;而 DeepSeek-V3 每次激活 9 個專家,每個專家的隱藏層維度為 2048。此外,DeepSeek 在除了前 3 層外的每個 Transformer Block 中都插入了 MoE 層,而 Llama 4 則是交替使用 MoE 模塊和密集(Dense)模塊,即每隔一個 Block 加一次 MoE。

可以明確的一點是,MoE 架構在 2025 年迎來了顯著的發展與普及。

Qwen3

Qwen 團隊一直以來都在穩定輸出高質量的開源大語言模型。在 NeurIPS 2023 的 LLM 效率挑戰賽時,最終獲勝的方案全部基于 Qwen2 構建。

而如今,Qwen3 系列再次成為各自參數規模下的榜單冠軍,表現依舊亮眼。

Qwen3 (Dense)

先來看看 Qwen3 Dense 模型架構。截至目前,Qwen3 0.6B 可能是當前世代中體量最小的開源權重模型之一。

在本地運行時,它具有很高的每秒生成 token 數(token/sec)和很低的顯存占用,非常適合輕量部署。而且因為參數量小,對于想在本地進行訓練實驗(例如教學用途)的人來說,也非常友好。

image.png

圖 18:Qwen3 0.6B 與 Llama 3 1B 架構對比圖。可以看到,Qwen3 架構更深(有更多的 transformer 層),而 Llama 3 架構更寬(具有更多的注意力頭)。

Qwen3 (MoE)

如前所述,Qwen3 系列還包括兩個 MoE(Sparse)變體。那么,為什么像 Qwen3 這樣的架構會同時發布普通(Dense)和 MoE(Sparse)版本呢?

正如本文開頭所提到的,MoE 變體旨在降低大規模基礎模型的推理成本。提供 Dense 和 MoE 兩種版本,可以讓用戶根據不同的目標與資源約束靈活選擇。

通過同時發布這兩類模型,Qwen3 系列能夠覆蓋更廣泛的應用場景:致密模型強調魯棒性、簡單性和可微調性;MoE 模型則面向大規模部署中的推理效率。

image.png

圖 19:DeepSeek-V3 與 Qwen3 235B-A22B 架構對比。

如上圖所示,DeepSeek-V3 和 Qwen3 235B-A22B 在架構上非常相似。不過值得注意的是,Qwen3 模型取消了共享專家(此前的 Qwen2.5-MoE 等模型采用了共享專家機制)。

遺憾的是,Qwen3 團隊并未公開說明他們放棄共享專家的原因。

作者猜測,可能是因為在將專家數量從 Qwen2.5-MoE 的 2 個增加到 Qwen3 的 8 個之后,訓練穩定性已經不再依賴共享專家。因此,他們選擇省略共享專家,以節省額外的計算和顯存開銷(避免從 8 個增加到 8+1 個專家)。不過,這并不能解釋為何 DeepSeek-V3 至今仍保留共享專家機制。

SmolLM3

SmolLM3 或許不像本文其他提到的大模型那樣廣為人知,但作者認為它依然值得納入討論,因為該模型在僅有約 30 億參數的體量下,展現出非常出色的建模性能,定位介于 Qwen3 的 17 億參數模型與 40 億參數模型之間,如下圖所示。

此外,SmolLM3 也像 OLMo 一樣公開了大量訓練細節,這在業內并不常見,因此尤為值得稱贊。

image.png

圖 20:SmolLM3 相較于 Qwen3 1.7B 和 4B,以及 Llama 3 3B 和 Gemma 3 4B 的勝率比較。

如下面的架構對比圖所示,SmolLM3 的整體結構相對標準。不過,其中最有趣的一點或許是它采用了 無位置嵌入(NoPE)機制。

image.png圖 21:Qwen3 4B 與 SmolLM3 3B 的并排架構對比圖。

在 LLM 的背景下,NoPE 是一種較早提出的理念,該方法旨在移除顯式的位置編碼信息注入機制,例如早期 GPT 架構中常用的絕對位置嵌入,或當前主流的 RoPE(旋轉位置編碼)。

在基于 Transformer 的語言模型中,位置編碼通常是必要的,因為自注意力機制默認對輸入序列中的 token 順序不敏感,即每個 token 被獨立處理。為了解決這一問題,絕對位置嵌入通過添加一個額外的嵌入層,將位置信息與 token 嵌入相加,從而為模型提供序列順序感知能力。

image.png

圖 22:展示了絕對位置嵌入的機制。

相比之下,RoPE 通過將 Query 和 Key 向量按 token 的位置進行旋轉來注入位置信息。

而在 NoPE 層中,則完全不加入任何位置編碼信息:沒有固定的、沒有可學習的,也沒有相對位置編碼 —— 什么都沒有。

即使沒有顯式的位置編碼,模型依然可以通過因果注意力掩碼知道哪些 token 是在前面。這個掩碼會阻止每個 token 訪問其后的 token,從而保證了自回歸順序的正確性。也就是說,位于位置 t 的 token 只能「看到」位置小于等于 t 的 token。

總結來說,NoPE 不僅不需要注入位置編碼,還在序列長度泛化方面更具優勢。也就是說,隨著輸入序列長度的增加,模型的表現下降幅度更小。如下圖所示:

image.png

圖 23:展示了 NoPE 在長度泛化上的優勢表現。

正因如此,SmolLM3 團隊在實際應用中,并未在每一層都使用 NoPE,而是選擇在每 4 層中使用一次 NoPE(或說每 4 層省略一次 RoPE),作為一種折中策略。

關于 NoPE 的更多細節,請參閱以下論文:

image.png

  • 論文標題:The Impact of Positional Encoding on Length Generalization in Transformers
  • 論文鏈接:https://arxiv.org/abs/2305.19466

Kimi K2

Kimi K2 最近因其出色的性能在 AI 社區引起了巨大反響。作為一個開源權重模型,它在多個基準測試中表現堪比 Google 的 Gemini、Anthropic 的 Claude 和 OpenAI 的 ChatGPT 等頂級閉源模型。

一個值得注意的方面是,它在訓練中首次在此規模的生產級模型中使用了 Muon 優化器的變體,而非傳統的 AdamW。

據作者所知,這是 Muon 優化器首次在超大模型中應用(此前僅在最多 160 億參數規模上展示過可擴展性)。這一選擇帶來了極為理想的訓練損失曲線,很可能正是 Kimi  K2 能在上述各項基準測試中脫穎而出的重要原因。

Kimi  K2 的參數規模達到了 1 萬億(1T),這無疑令人印象深刻。它可能是目前這一代中最大的 LLM(截至本文撰寫時),在不考慮尚未發布的 Llama 4 Behemoth、閉源模型以及架構不同的 Google 1.6 萬億 Switch Transformer(其為編碼器 - 解碼器模型)前提下,Kimi  K2 幾乎是無出其右的。

從架構上看,Kimi K2 基于本文開頭提到的 DeepSeek-V3 架構,但進行了更大規模的擴展和增強,如下圖所示(圖略)。這也標志著一種「循環回歸」:Kimi  K2 將 DeepSeek-V3 的設計理念推向了極致。

image.png

如上圖所示,Kimi  K2 在整體架構上基本與 DeepSeek V3 保持一致,主要的差異在于:

  • Kimi  K2 在 MoE 模塊中使用了更多的專家,
  • 在 MLA 模塊中使用了更少的注意力頭(heads)。

在歷經數年之后,LLM 的發布依然充滿驚喜與期待。新技術永遠讓人心潮澎湃,永遠期待更多的大模型架構改進的出現。

更多信息請參閱原博客:

  • 博客鏈接:https://magazine.sebastianraschka.com/p/the-big-llm-architecture-comparison
責任編輯:張燕妮 來源: 機器之心
相關推薦

2025-07-31 01:00:00

LLM架構模型

2025-07-29 07:46:00

2025-02-12 08:30:18

2025-02-19 10:49:30

2025-02-10 09:42:14

2025-07-17 08:14:22

2025-03-26 10:38:40

2025-01-03 19:38:33

2025-02-14 01:00:00

LLaMALLM模型

2025-08-18 09:15:00

2024-07-23 10:34:57

2025-02-11 15:56:18

2025-05-21 09:04:38

2023-04-10 11:35:31

評估模型業務流程

2025-08-01 09:41:52

2025-09-12 16:13:12

2020-03-31 14:40:24

HashMap源碼Java

2025-03-26 10:57:40

PyTorchGGUF

2025-02-20 09:27:46

2023-02-24 09:55:17

自動駕駛神經網絡
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 前郭尔| 堆龙德庆县| 文水县| 大荔县| 定日县| 介休市| 望都县| 义马市| 霍州市| 喜德县| 永吉县| 宜春市| 喜德县| 新民市| 南木林县| 宁河县| 望奎县| 绥滨县| 利津县| 正蓝旗| 华亭县| 太白县| 莱西市| 房产| 秦安县| 迭部县| 丹阳市| 南木林县| 德惠市| 巴青县| 陵川县| 泰顺县| 阳西县| 金塔县| 磐安县| 和平县| 邓州市| 嵊州市| 武平县| 徐水县| 平南县|