![]()
機(jī)器之心編輯部
過(guò)去一段時(shí)間,很多人對(duì)大模型都有一個(gè)明顯感受:token 總是不夠用
畢竟用戶想大模型更「聰明」更連貫,上下文窗口只會(huì)越來(lái)越大。
而在模型背后,長(zhǎng)上下文是相當(dāng)「奢侈」的。用戶 token 消耗翻倍,其實(shí)是模型更大的 KV cache 和更高的 attention 計(jì)算成本。
尤其是在推理模型和 Agent 逐漸成為主流后,長(zhǎng)上下文已經(jīng)從一個(gè)「宣傳亮點(diǎn)」,逐漸轉(zhuǎn)變?yōu)榇竽P图軜?gòu)設(shè)計(jì)需要正面解決的問(wèn)題。
Sebastian 精準(zhǔn)地捕捉到,最近幾個(gè)月發(fā)布的一批 LLM,正好體現(xiàn)了這個(gè)趨勢(shì)。
從 Google 的 Gemma 4,到 Poolside 的 Laguna XS.2、Zyphra 的 ZAYA1-8B,再到 DeepSeek V4,這些模型在 Transformer 內(nèi)部做了各種「省錢(qián)設(shè)計(jì)」,試圖圍繞長(zhǎng)上下文推理降低計(jì)算和存儲(chǔ)成本
Sebastian 為此發(fā)布了技術(shù)博客,以下為博客鏈接與全文翻譯。
![]()
近期 LLM 一覽。
- 博客標(biāo)題:LLM 架構(gòu)的最新發(fā)展:KV 共享、mHC 與壓縮注意力
- 博客鏈接:https://magazine.sebastianraschka.com/p/recent-developments-in-llm-architectures
Gemma 4:
通過(guò)跨層復(fù)用 KV Tensor 縮小 KV Cache
時(shí)間回到四月初,Google 發(fā)布了全新的開(kāi)源權(quán)重模型系列 Gemma 4。整個(gè)系列大致可以分為三類(lèi):
- 面向移動(dòng)端與小型本地(嵌入式)設(shè)備(即 IoT)的 Gemma 4 E2B 與 E4B;
- 面向高效本地推理、采用混合專(zhuān)家架構(gòu)(MoE)的 Gemma 4 26B;
- 以及采用 Dense 架構(gòu)、追求更高模型質(zhì)量與更便捷后訓(xùn)練流程的 Gemma 4 31B(因?yàn)?MoE 模型通常更難進(jìn)行后訓(xùn)練和調(diào)優(yōu))。
![]()
Gemma 4 架構(gòu)示意圖
Gemma 4 E2B 與 E4B 的第一個(gè)小型架構(gòu)改動(dòng),是采用了「共享 KV Cache」機(jī)制:后續(xù)層會(huì)復(fù)用前面層已經(jīng)計(jì)算出的 Key-Value 狀態(tài),從而降低長(zhǎng)上下文場(chǎng)景下的顯存占用與計(jì)算成本。
這種方法并不是 Gemma 4 首創(chuàng)。例如 NeurIPS 2024 的論文《Reducing Transformer Key-Value Cache Size with Cross-Layer Attention》已經(jīng)提出類(lèi)似思路。但 Gemma 4 是第一次將其大規(guī)模應(yīng)用于主流開(kāi)源架構(gòu)中。
為什么 KV Cache 如此重要?
正如我最近幾個(gè)月不斷提到的,當(dāng)前 LLM 架構(gòu)設(shè)計(jì)中的一個(gè)核心主題,就是「縮小 KV Cache」。而縮小 KV Cache 的根本目的,是降低模型運(yùn)行所需的顯存占用,從而支持更長(zhǎng)的上下文窗口。這一點(diǎn)在推理模型和 Agent 時(shí)代尤其重要。
舉一個(gè)經(jīng)典的例子(Gemma 4 目前依然在使用):Grouped Query Attention(GQA)本身就已經(jīng)通過(guò)讓多個(gè) Query Head 共享同一組 Key-Value(KV)Head,來(lái)減少 KV Cache 的大小,如下圖所示。
![]()
Gemma 4 的跨層 KV 共享機(jī)制
如前所述,Gemma 4 使用了 GQA。不過(guò),除了 GQA 中不同 Query Head 之間的 KV 共享之外,Gemma 4 還進(jìn)一步在不同 Transformer Layer 之間共享 KV Projection,而不是像傳統(tǒng)做法那樣,在每一層 Attention 模塊中分別計(jì)算自己的 KV
這種 KV 共享機(jī)制也被稱(chēng)為 Cross-Layer Attention,其結(jié)構(gòu)如下圖所示。
![]()
正如架構(gòu)示意圖中所提到的,Gemma 4 E2B 采用了普通 GQA 與 Sliding Window Attention 按照 4:1 的方式組合使用。(更準(zhǔn)確地說(shuō),Gemma 4 E2B 實(shí)際使用的是 MQA,也就是 GQA 中只有一個(gè) KV Head 的特殊情況。)
在 GQA(或 MQA)機(jī)制下,KV 共享的方式如下:后續(xù)層不再單獨(dú)計(jì)算自己的 Key 和 Value Projection,而是直接復(fù)用最近一個(gè)、同類(lèi)型且未共享層所生成的 KV Tensor。
換句話說(shuō):Sliding Window Attention 層會(huì)復(fù)用前面某個(gè) Sliding Window 層的 KV, Full Attention 層則會(huì)復(fù)用前面某個(gè) Full Attention 層的 KV。
當(dāng)然,每一層仍然會(huì)計(jì)算自己的 Query Projection,因此不同層依然可以形成各自不同的 Attention Pattern;但代價(jià)最高、最占顯存的 KV Cache,則會(huì)被多個(gè)層共同復(fù)用。例如:
- Gemma 4 E2B 一共有 35 層 Transformer Layer,但只有前 15 層會(huì)真正計(jì)算自己的 KV Projection;后面的 20 層則直接復(fù)用之前同類(lèi)型層的 KV Tensor。
- 類(lèi)似地,Gemma 4 E4B 共 42 層,其中 24 層負(fù)責(zé)計(jì)算 KV,最后 18 層采用共享機(jī)制。
這種設(shè)計(jì)到底能節(jié)省多少資源?
由于大約有一半的 KV 在不同層之間被共享,因此 KV Cache 的整體大小也大致減少了一半。對(duì)于最小的 E2B 模型來(lái)說(shuō),在 128K 長(zhǎng)上下文、bfloat16 精度下,可以節(jié)省約2.7GB顯存;而 E4B 在同樣條件下,則大約能夠節(jié)省6GB
![]()
Gemma 4 E2B 類(lèi)似配置中,GQA 與跨層 KV 共享帶來(lái)的 KV Cache 顯存節(jié)省效果
當(dāng)然,KV Sharing 的缺點(diǎn)在于,它本質(zhì)上是一種對(duì)完整 Attention 計(jì)算的「近似」。更準(zhǔn)確地說(shuō),它會(huì)削弱模型容量。
不過(guò),根據(jù) Cross-Layer Attention 論文中的實(shí)驗(yàn)結(jié)果,在被測(cè)試的小規(guī)模模型上,這種影響可以非常有限。
Gemma 4 E2B / E4B:
Per-Layer Embeddings(PLE)與「有效參數(shù)量」
Gemma 4 的 E2B 與 E4B 版本還引入了第二種以效率為導(dǎo)向的設(shè)計(jì):Per-Layer Embeddings(PLE,逐層嵌入)。這一機(jī)制與前面提到的 KV Sharing 是相互獨(dú)立的。
KV Sharing 的目標(biāo)是縮小 KV Cache,而 PLE 關(guān)注的則是參數(shù)效率(parameter efficiency):它讓小尺寸的 Gemma 4 模型能夠攜帶更多 token-specific information(與 token 相關(guān)的特征信息),但又不會(huì)讓整個(gè) Transformer 主干像同參數(shù)量 Dense 模型那樣昂貴。
例如,Gemma 4 E2B 與 E4B 中的「E」,代表的就是「effective」(有效參數(shù)量) 。具體來(lái)說(shuō):
- Gemma 4 E2B 標(biāo)注為 2.3B effective parameters,但如果把 embedding 參數(shù)也算進(jìn)去,總參數(shù)量實(shí)際上達(dá)到 5.1B;
- Gemma 4 E4B 的 effective parameters 為 4.5B,而包含 embedding 后則約為 8B。
換句話說(shuō),在這些 「E」系列模型中,真正負(fù)責(zé)主要計(jì)算的 Transformer Stack,其計(jì)算規(guī)模更接近前面的較小數(shù)字;而后面的總參數(shù)量,則包含了額外的 embedding table。
從概念上來(lái)看,PLE 的結(jié)構(gòu)大致如下:
![]()
帶有 PLE residual path 的簡(jiǎn)化版 Gemma 4 Block。普通 Transformer Block 會(huì)先完成 Attention 與 Feed-Forward 的 residual update;隨后,生成的 hidden state 會(huì)作為 gating 信號(hào),控制 layer-specific 的 PLE vector,并在 Block 末尾額外加入一次 projected PLE residual update。
PLE Vector 本身是在 Transformer Block 外部提前構(gòu)建的。簡(jiǎn)單來(lái)說(shuō),它有兩個(gè)輸入來(lái)源:token ID 經(jīng)過(guò) per-layer embedding lookup; 普通 token embedding 再通過(guò)一個(gè) linear projection,映射到同一個(gè) PLE 空間。
隨后,這兩部分結(jié)果會(huì)被相加、縮放,并 reshape 成一個(gè) tensor,其中每一層都對(duì)應(yīng)一個(gè)獨(dú)立 slice,而每個(gè) Transformer Block 只會(huì)接收屬于自己的那一份。
![]()
簡(jiǎn)化版 PLE(Per-Layer Embeddings)構(gòu)建流程
這里有一個(gè)很重要的細(xì)節(jié):PLE 并不是給每個(gè) Transformer Block 單獨(dú)復(fù)制一整套 embedding layer。相反,per-layer embedding lookup 只會(huì)計(jì)算一次,然后再給每一層分發(fā)一個(gè)較小的 token-specific embedding slice。
因此,對(duì)于每個(gè)輸入 token,Gemma 4 會(huì)提前準(zhǔn)備一個(gè) packed PLE tensor,其中包含每一層 decoder 對(duì)應(yīng)的一小段 embedding vector。
真正進(jìn)入 Transformer Block 后,Attention 與 Feed-Forward 分支仍然按正常方式運(yùn)行。在完成 Feed-Forward residual update 后,當(dāng)前 hidden state(圖中記作 z)會(huì)用于 gate layer-specific PLE vector。被 gate 后的 PLE vector 會(huì)重新投影回 model hidden size、做 normalization,并作為額外 residual update 加回模型中。
一個(gè)比較直觀的理解方式是 Transformer Block 的主體結(jié)構(gòu)并沒(méi)有改變,Gemma 4 只是額外在 Feed-Forward 分支后面,插入了一小段「層特定 token 向量」。這樣做能夠通過(guò) embedding 參數(shù)與小規(guī)模 projection,提升模型的表達(dá)能力,同時(shí)避免把整個(gè) Transformer Stack 都擴(kuò)展到更大的參數(shù)規(guī)模。
為什么要用 PLE?
一種更直接的方法,其實(shí)是簡(jiǎn)單縮小 Dense 模型,比如減少層數(shù)、縮小 hidden state 或縮小 Feed-Forward Network。
這樣當(dāng)然能降低顯存與延遲,但也會(huì)直接削弱模型真正負(fù)責(zé)計(jì)算的核心部分。
而 PLE 的思路則是:讓昂貴的 Transformer Block 保持在較小的 「effective size」,同時(shí)把額外容量存儲(chǔ)在 per-layer embedding table 中。由于 embedding 本質(zhì)上主要是 lookup-style parameter,它們遠(yuǎn)比增加 Attention 或 FFN 權(quán)重更便宜,也更容易緩存。
當(dāng)然,目前我們還只能相信 Google 的實(shí)驗(yàn)結(jié)果,認(rèn)為這確實(shí)是一個(gè)有效的設(shè)計(jì)。作者也提到,未來(lái)如果能看到更多對(duì)比實(shí)驗(yàn),例如:PLE 版 Gemma 4 E2B vs 普通 2.3B Dense 模型 vs 普通 5.1B Dense 模型 。
這樣的對(duì)比會(huì)非常有意思。
此外,從理論上講,PLE 并不只適用于小模型。更大的模型同樣可以加入 per-layer embedding slice。但由于大模型本身已經(jīng)具有足夠容量,因此這些額外 embedding 的收益可能不再明顯。而且在大模型中,我們通常已經(jīng)通過(guò) MoE 等結(jié)構(gòu),在不顯著增加計(jì)算量的前提下提升模型容量。
Laguna XS.2:
Layer-wise Attention Budgeting
Laguna 是歐洲公司 Poolside 推出的首個(gè) open-weight 模型,Poolside 主要專(zhuān)注于面向代碼場(chǎng)景的 LLM 訓(xùn)練。
不同 Layer 使用不同 Attention Budget。
下圖中的 Laguna XS.2 架構(gòu)乍一看其實(shí)相當(dāng)標(biāo)準(zhǔn)。不過(guò),有一個(gè)我沒(méi)有畫(huà)進(jìn)去(或者說(shuō)沒(méi)法硬塞進(jìn)圖里)的細(xì)節(jié),是一個(gè)可以稱(chēng)為 「Layer-wise attention budgeting」 的概念。
![]()
Poolside 的 Laguna XS.2 架構(gòu)示意圖。
這里所謂 attention budgeting 的核心思路之一,是不再讓每個(gè) Transformer Layer 都擁有完全相同的 Attention 預(yù)算,而是根據(jù)層的不同,動(dòng)態(tài)分配不同的 Attention 成本
Laguna XS.2 總共有 40 層,其中 30 層使用 Sliding-Window Attention,10 層使用 Global / Full Attention。
和常見(jiàn)做法一樣,Sliding-Window Layer 只會(huì)關(guān)注局部窗口(這里是 512 個(gè) token),因此 KV Cache 與 Attention 計(jì)算成本都更低;而 Global Layer 雖然更昂貴,但能夠保留對(duì)整個(gè)上下文窗口中所有信息的訪問(wèn)能力。
這種 Sliding-Window Attention 與 Global / Full Attention 混合使用的結(jié)構(gòu),并不是 Laguna XS.2 獨(dú)有的,很多其他模型(包括 Gemma 4)也采用了類(lèi)似設(shè)計(jì)。
但真正新的地方在于:Laguna XS.2 引入了「逐層不同 Query Head 數(shù)量」的設(shè)計(jì)。
例如,在 Hugging Face 的 config.json 中,可以看到一個(gè)名為 num_attention_heads_per_layer 的配置項(xiàng),這意味著不同 Layer 可以擁有不同數(shù)量的 Query Head,同時(shí)仍然保持 KV Cache 結(jié)構(gòu)兼容。
![]()
Laguna 中的逐層 Query-Head Budgeting。其中 Full Attention Layer 每個(gè) KV Head 對(duì)應(yīng) 6 個(gè) Query Head; Sliding Window Attention Layer 每個(gè) KV Head 對(duì)應(yīng) 8 個(gè) Query Head。
因此,Laguna XS.2 的實(shí)際做法是:給 Sliding-Window Layer 分配更多 Query Head,給 Global Layer 分配更少 Query Head,同時(shí)將 KV Head 數(shù)固定為 8
這才是真正意義上的 「Layer-wise Head Budgeting」。
Laguna XS.2 是近期 open model 中最具代表性的逐層 Query-Head Budgeting 實(shí)踐之一。不過(guò),更廣義上的「按層動(dòng)態(tài)分配模型容量」這一思路,其實(shí)至少可以追溯到 Apple 在 2024 年提出的 OpenELM。
為什么這樣設(shè)計(jì)?
和 KV Sharing 類(lèi)似,它的核心目標(biāo)依然是:把 Attention Capacity 花在最值得的地方,而不是讓所有 Layer 平均分配相同預(yù)算
具體來(lái)說(shuō),F(xiàn)ull Attention Layer 因?yàn)樾枰L問(wèn)整個(gè)上下文窗口,本身計(jì)算代價(jià)就更高,因此 Laguna 會(huì)相對(duì)減少它們的 Query Head 數(shù)量;而計(jì)算成本更低的 Sliding-Window Layer,則可以擁有更多 Query Head。
(此外,還有一個(gè)較小的實(shí)現(xiàn)細(xì)節(jié):Laguna 還采用了 per-head attention-output gating,這一點(diǎn)與 Qwen3-Next 等模型有些類(lèi)似。不過(guò)由于我之前已經(jīng)討論過(guò)類(lèi)似機(jī)制,因此這里不再展開(kāi)。)
ZAYA1-8B:壓縮卷積注意力(CCA)
和 Laguna 類(lèi)似,ZAYA1-8B 也是一位新玩家。它由 Zyphra 開(kāi)發(fā),而這次發(fā)布中一個(gè)很有意思的細(xì)節(jié)是:該模型并不是基于更常見(jiàn)的 NVIDIA GPU(或 Google TPU)訓(xùn)練,而是使用 AMD GPU 完成訓(xùn)練的。
不過(guò),真正關(guān)鍵的架構(gòu)設(shè)計(jì),是一種名為Compressed Convolutional Attention(CCA,壓縮卷積注意力)的機(jī)制,并且它與 Grouped-Query Attention(GQA)共同使用。
與 MLA(Multi-head Latent Attention)這類(lèi)主要把 latent representation 當(dāng)作緊湊 KV Cache 格式的設(shè)計(jì)不同,CCA 會(huì)直接在壓縮后的 latent space 中完成 Attention 計(jì)算。不過(guò)這一點(diǎn)我們后面再詳細(xì)展開(kāi)。
(順帶一提:ZAYA1-8B 的 config.json 中實(shí)際上列出了 80 個(gè)交替出現(xiàn)的 layer entry,而不是傳統(tǒng)意義上的 40 個(gè) Transformer Block。這些 layer 在結(jié)構(gòu)上會(huì)在 CCA/GQA Attention 與 MoE Feed-Forward Layer 之間交替出現(xiàn)。不過(guò)在架構(gòu)圖里,把它們簡(jiǎn)化理解成 40 個(gè)重復(fù)的 「Attention + MoE」 Pair 會(huì)更直觀,兩種表示在概念上是等價(jià)的。)
![]()
采用 Compressed Convolutional Attention 的 ZAYA1(8B)Transformer Block。
正如上圖所示,ZAYA1-8B 采用了 CCA,并結(jié)合了 4:1 的 GQA 結(jié)構(gòu)。這里最關(guān)鍵的一點(diǎn)在于:它的 Attention Block 是圍繞 CCA 構(gòu)建的,而不是傳統(tǒng)的 Sliding-Window Attention。
什么是 Compressed Convolutional Attention(CCA)?
我認(rèn)為,從整體思路上來(lái)看,CCA 與 DeepSeek 模型中的 MLA(Multi-head Latent Attention)是相近的,因?yàn)樗鼈兌荚?Attention Block 中引入了壓縮后的 latent representation。不過(guò),兩者使用 latent space 的方式并不相同。
MLA 的核心目標(biāo),主要是通過(guò) latent representation 來(lái)壓縮 KV Cache。在 MLA 中,KV Tensor 會(huì)以壓縮形式存儲(chǔ),隨后再被投影回 Attention Head 空間,用于真正的 Attention 計(jì)算。
![]()
普通 Multi-head Attention(MHA)與 Multi-head Latent Attention(MLA)對(duì)比。
而 CCA 則更進(jìn)一步,它不僅壓縮 K、V,還同時(shí)壓縮 Q,并且直接在壓縮后的 latent space 中完成 Attention 運(yùn)算。也正因?yàn)槿绱耍珻CA 不僅能夠減少 KV Cache 的大小,還能夠降低 Prefill 階段與訓(xùn)練階段的 Attention FLOPs。
![]()
MLA 與 CCA 的結(jié)構(gòu)對(duì)比。
正如上圖所示的,在 CCA 中,壓縮后的 latent representation 會(huì)直接進(jìn)入 Attention 機(jī)制,而生成出的 compressed attention vector 隨后再被 up-project 回原始空間。
為什么叫「卷積注意力」?
這里需要特別注意:它被稱(chēng)為 「Compressed Convolutional Attention」,而不僅僅是「Compressed Attention」,是因?yàn)?strong>在 latent K 與 latent Q 上,還額外加入了 convolutional mixing(卷積混合)
由于結(jié)構(gòu)圖中空間有限,沒(méi)有把這一部分畫(huà)出來(lái),但它本身其實(shí)并不復(fù)雜。正如 Figure 12 所暗示的,卷積混合是直接作用在壓縮后的 Q Tensor 與 K Tensor 上的。
原因在于壓縮會(huì)讓 Q、K、V 維度變窄,從而降低計(jì)算量與緩存開(kāi)銷(xiāo),但與此同時(shí),也可能削弱 Attention 的表達(dá)能力。
而卷積則是一種相對(duì)廉價(jià)的方法,它能夠在 Q 與 K 被用于 Attention Score 計(jì)算之前,為這些壓縮后的表示補(bǔ)充更多局部上下文信息。
(這里的卷積只作用于 Q 與 K,而不作用于 V。因?yàn)?Q 與 K 決定的是 Attention Score,而 V 則代表最終被加權(quán)聚合的內(nèi)容。)
![]()
Sequence-Mixing Convolution 的概念示意圖。
除了前文中展示的 Sequence Mixing 外,CCA 還包含一個(gè) Channel Mixing Component。不過(guò)它們?cè)谠砩陷^為類(lèi)似,因此這里不再單獨(dú)展開(kāi)。
CCA 看起來(lái)是 Zyphra 在 ZAYA1-8B Technical Report 發(fā)布之前就已經(jīng)提出的一種 Attention 機(jī)制。獨(dú)立論文《Compressed Convolutional Attention: Efficient Attention in a Compressed Latent Space》最早發(fā)表于 2025 年 10 月,并正式提出了 CCA;而 ZAYA1-8B 則將這一機(jī)制作為核心架構(gòu)組件之一實(shí)際投入使用。
CCA 是否真的比 MLA 更好?
根據(jù) CCA 論文中的實(shí)驗(yàn)結(jié)果,在相同壓縮設(shè)置下,CCA 的表現(xiàn)確實(shí)優(yōu)于 MLA。
![]()
CCA 論文中的實(shí)驗(yàn)結(jié)果標(biāo)注圖。
總體來(lái)說(shuō),這部分真正有意思的地方,其實(shí)是新的 Attention 機(jī)制本身。
當(dāng)然,ZAYA1-8B 同時(shí)也采用了相當(dāng)激進(jìn)(也就是非常稀疏)的 MoE 結(jié)構(gòu):每個(gè) token 只激活一個(gè) routed expert。不過(guò)這一點(diǎn)相對(duì)已經(jīng)比較常見(jiàn)。
真正更特殊的是 CCA,它直接在壓縮 latent space 中執(zhí)行 Attention 計(jì)算,并通過(guò)對(duì)壓縮后的 Q/K 做卷積混合,來(lái)緩解壓縮 Attention 本身表達(dá)能力受限的問(wèn)題。
簡(jiǎn)而言之,ZAYA1-8B 不只是想在 Feed-Forward Layer 上節(jié)省計(jì)算量,它甚至試圖從 Attention Mechanism 本身開(kāi)始降低計(jì)算成本。
DeepSeek V4:mHC 與壓縮注意力
DeepSeek V4 是今年最受關(guān)注的大模型之一。有意思的是,如果按照 active-parameter share(活躍參數(shù)占比)來(lái)衡量,DeepSeek V4-Pro 同時(shí)也是參數(shù)最稀疏的 MoE 模型。
關(guān)于 DeepSeek V4,其實(shí)有很多可以討論的內(nèi)容。不過(guò)由于它已經(jīng)在新聞與社區(qū)中被廣泛討論,同時(shí)為了繼續(xù)聚焦「架構(gòu)層面的改動(dòng)」,這里我主要關(guān)注兩個(gè)相較以往架構(gòu)真正新的部分:
- 用于擴(kuò)展 Residual Path 的 mHC;
- 用于長(zhǎng)上下文 Attention 壓縮與稀疏化的 CSA/HCA。
從下圖中的 DeepSeek V4 架構(gòu)圖來(lái)看,整個(gè)結(jié)構(gòu)似乎非常復(fù)雜。不過(guò),一個(gè)比較有效的閱讀方式是將 Residual Path 上的改動(dòng)(mHC),與 Attention Path 上的改動(dòng)(CSA/HCA 與 Compressed Attention Cache)分開(kāi)理解。
![]()
DeepSeek V4-Pro 架構(gòu)概覽。
5.1 mHC:流形約束超連接
我們先從 DeepSeek V4 中的 mHC 組件開(kāi)始。
這一設(shè)計(jì)最早來(lái)自 DeepSeek 團(tuán)隊(duì)在去年(2025 年 12 月 31 日)發(fā)布的一篇研究論文《mHC: Manifold-Constrained Hyper-Connections》。不過(guò),當(dāng)時(shí)論文中的實(shí)驗(yàn)只在一個(gè) 27B 規(guī)模的實(shí)驗(yàn)?zāi)P蜕贤瓿伞6缃瘢覀円呀?jīng)在他們的旗艦?zāi)P椭锌吹搅诉@一機(jī)制,這也意味著,這一想法很可能已經(jīng)在真實(shí)生產(chǎn)環(huán)境中被驗(yàn)證有效。
mHC 的核心目標(biāo),是重新設(shè)計(jì) Transformer Block 內(nèi)部的 Residual Connection。這一點(diǎn)其實(shí)非常新鮮,因?yàn)榻陙?lái)絕大多數(shù)架構(gòu)改動(dòng),通常都集中在Attention Mechanism、Normalization Layer 的放置方式與MoE 結(jié)構(gòu)本身。
mHC 本身建立在更早的 Hyper-Connections 工作之上(見(jiàn) Zhu 等人 2024 年論文《Hyper-connections》),因此我們需要先簡(jiǎn)單理解一下 Hyper-Connections。
傳統(tǒng) Transformer 中,只有一條單獨(dú)的 Residual Stream。而 Hyper-Connections 會(huì)把它替換成:多條并行 Residual Stream,并通過(guò)可學(xué)習(xí)映射(learned mappings)在它們之間交換信息。
Hyper-Connections 的核心思想,是「擴(kuò)寬 Residual Stream」。
可以把它理解為模型同時(shí)維護(hù)多條并行 Residual Path,并額外加入一個(gè) Res Mapping 線性變換,在不同 Residual Stream 之間進(jìn)行信息混合
由于 Attention Layer 或 MoE Layer 本身仍然工作在普通 Hidden Size 上,因此 Hyper-Connections 還會(huì)增加:
- Pre Mapping:把多條 Residual Stream 合并成單一 Hidden Vector;
- Post Mapping:再把 Layer 輸出重新分發(fā)回多個(gè) Residual Stream。
![]()
普通 Transformer Block(上)與帶 Hyper-Connections 的 Transformer Block(下)。
上圖主要展示了 Attention Branch 中的結(jié)構(gòu),但同樣的思想也適用于圍繞 MoE Layer 的第二條 Residual Branch。
Hyper-Connections 的目的,是在不真正擴(kuò)大 Attention 或 MoE Layer 本身寬度的情況下,讓 Residual Path 擁有更強(qiáng)表達(dá)能力。
而它帶來(lái)的 FLOPs 增長(zhǎng)其實(shí)很有限,因?yàn)檫@些額外映射只作用在較小的 residual-stream 維度上(例如 DeepSeek V4 中 n=4),而不是作用在巨大的 hidden dimension 上。
在最初的 Hyper-Connections 論文中,7B OLMo MoE 模型的 FLOPs per token 從 13.36G 增加到 13.38G,幾乎沒(méi)有變化;而性能指標(biāo)則獲得了穩(wěn)定但溫和的提升。
當(dāng)然,只看 FLOPs 其實(shí)有些過(guò)于簡(jiǎn)單。因?yàn)閿U(kuò)寬后的 Residual State 依然需要存儲(chǔ)、在顯存中移動(dòng)并參與混合計(jì)算。 因此,真正的額外開(kāi)銷(xiāo)更多可能來(lái)自Memory Traffic 與 Implementation Complexity,而不僅僅是算術(shù)計(jì)算本身。
不過(guò)考慮到 DeepSeek V4 整體都在追求效率,這看起來(lái)依然是一個(gè)值得加入的設(shè)計(jì)。
![]()
Hyper-Connections 相較 Baseline 的性能表現(xiàn)。
傳統(tǒng) Transformer 只有單一 residual stream。而 Hyper-Connections 將其擴(kuò)展成多個(gè)并行 residual stream。
此外,如圖所示:Hyper-Connections 在大約只使用一半訓(xùn)練 token的情況下,就達(dá)到了 Baseline 的性能水平。
而從普通 Hyper-Connections(HC)到 Manifold-Constrained Hyper-Connections(mHC)最關(guān)鍵的變化,在于這些 Mapping 不再是「無(wú)約束」的。
在普通 HC 中,Res Mapping 是一個(gè)可學(xué)習(xí)矩陣,用于混合不同 Residual Stream。但當(dāng)多個(gè)這樣的矩陣不斷堆疊時(shí),信號(hào)可能會(huì)不可預(yù)測(cè)地被放大或縮小。
而在 mHC 中,這個(gè) Residual Mapping 會(huì)被約束到「雙隨機(jī)矩陣(doubly stochastic matrix)」流形上。也就是說(shuō):所有元素非負(fù); 每一行之和為 1; 每一列之和為 1。
這樣一來(lái):Residual Mixing 會(huì)更像是一種穩(wěn)定的信息重新分配(stable redistribution),而不是不可控的信號(hào)放大或衰減。
與此同時(shí) Pre Mapping 與 Post Mapping 也同樣會(huì)被約束為非負(fù)且有界,從而避免在讀取與寫(xiě)回?cái)U(kuò)寬 Residual State 時(shí)出現(xiàn)信息抵消。
簡(jiǎn)而言之,mHC 保留了 HC 更豐富的 Residual Mixing 能力,同時(shí)加入額外約束,使其在更大、更深的模型中能夠更穩(wěn)定地?cái)U(kuò)展。
除此之外,多 Residual Stream 的整體思路并沒(méi)有改變,如下圖所示。
![]()
采用 HC 與 mHC 的 Transformer Block。
在 mHC 論文中,DeepSeek 團(tuán)隊(duì)基于 27B 模型實(shí)驗(yàn)表明:在使用融合優(yōu)化(fusion)、重計(jì)算(recomputation)與 pipeline scheduling 后,即使在整個(gè) Transformer 中使用 4 條 Residual Stream(n=4),訓(xùn)練時(shí)間額外開(kāi)銷(xiāo)也僅增加約 6.7%。
總結(jié)來(lái)說(shuō):HC/mHC 的本質(zhì),是通過(guò)把單一 Residual Stream 替換為多條相互交互的 Residual Stream,重新定義信息在 Transformer Layer 中的傳播方式。mHC 則進(jìn)一步加入穩(wěn)定性約束,同時(shí)只帶來(lái)很小的計(jì)算額外開(kāi)銷(xiāo)
此外,它也與后面將介紹的 CSA/HCA Attention 改動(dòng)形成了很好的配合。
通過(guò) CSA 與 HCA 實(shí)現(xiàn)壓縮 Attention
DeepSeek V4 的另一項(xiàng)核心架構(gòu)升級(jí),發(fā)生在 Attention 部分。其背后的動(dòng)機(jī)依然非常明確:在超長(zhǎng)上下文場(chǎng)景下,Attention 的成本不僅來(lái)自 Attention Score 本身的計(jì)算,還來(lái)自 KV Cache 會(huì)隨著 Sequence Length 持續(xù)增長(zhǎng)。
DeepSeek V4 針對(duì)這一問(wèn)題,引入了兩種壓縮 Attention 機(jī)制的混合設(shè)計(jì):
- Compressed Sparse Attention(CSA)
- Heavily Compressed Attention(HCA)
首先需要注意的是:DeepSeek V4 中的 CSA/HCA,與 DeepSeek V2/V3 中 MLA 風(fēng)格的壓縮并不是同一種思路。
MLA 的壓縮對(duì)象主要是「每個(gè) token 對(duì)應(yīng)的 KV 表示」,而 CSA/HCA 壓縮的則是「Sequence Dimension 本身」。
也就是說(shuō),它們不再為每個(gè)歷史 token 都保留一個(gè)完整(或壓縮)KV Entry,而是把一組 token 匯總成更少的壓縮 KV Entry,因此整個(gè) Cache 本身也變短了。
![]()
MLA、CSA 與 HCA 的概念對(duì)比。
MLA 會(huì)壓縮每個(gè) token 的 KV Representation,但依然保留「一 token 對(duì)應(yīng)一個(gè) latent KV」。而 CSA,尤其是 HCA,則進(jìn)一步減少「Sequence Entry 的數(shù)量」
因此模型會(huì)犧牲部分 token-level 信息,以換取顯著更低的長(zhǎng)上下文成本。
當(dāng)然,這種壓縮也存在質(zhì)量上的 Trade-off:如果壓縮過(guò)強(qiáng),模型能力就可能下降。
也正因如此,DeepSeek V4 并沒(méi)有只依賴(lài)一種壓縮機(jī)制,而是:交替使用 CSA 與 HCA
- CSA 使用較輕的壓縮率,并結(jié)合類(lèi)似 DSA(DeepSeek Sparse Attention)的 Sparse Selector;
- HCA 則采用更激進(jìn)的壓縮,用于更便宜地覆蓋全局上下文;
- 兩者都保留了一個(gè) Local Sliding-Window Branch,用于處理最近的未壓縮 token。
HCA 是其中更激進(jìn)的版本:它會(huì)把每 128 個(gè) token 壓縮成一個(gè) KV Entry,然后在這些高度壓縮后的 KV 上執(zhí)行 Dense Attention。
換句話說(shuō),CSA 保留更多細(xì)節(jié),但采用 Sparse Selection; HCA 保留更少 Entry,但因此能夠負(fù)擔(dān) Dense Attention
![]()
CSA 與 HCA 的對(duì)比。
CSA 與 HCA 在某種程度上是互補(bǔ)的,這也是為什么 DeepSeek V4 會(huì)交替使用它們,而不是只采用其中一種。
根據(jù) DeepSeek V4 論文,在 1M Token Context 下,相比采用 MLA 與 DSA 的 DeepSeek V3.2:DeepSeek V4-Pro 的單 token 推理 FLOPs 僅為后者的 27%,KV Cache 大小僅為后者的 10%。
而 DeepSeek V4-Flash 更進(jìn)一步:FLOPs 降至 10%,KV Cache 降至 7%。
![]()
DeepSeek V4 相較 DeepSeek V3.2 的 1M Context 效率數(shù)據(jù)。
不過(guò),我并不會(huì)簡(jiǎn)單地把 CSA/HCA 定義為「比 MLA 更好」。CSA/HCA 本質(zhì)上是一種更激進(jìn)、更偏向長(zhǎng)上下文效率的設(shè)計(jì),而且它本身也更加復(fù)雜。
遺憾的是,論文中并沒(méi)有提供完整的 Ablation Study。不過(guò)整體來(lái)看,論文確實(shí)展示了非常強(qiáng)的最終結(jié)果,例如:DeepSeek V4-Flash-Base 在多數(shù) Base Benchmark 上超過(guò) DeepSeek V3.2-Base; 同時(shí)擁有很強(qiáng)的 1M-token Retrieval 能力。
但需要注意的是,這些結(jié)果來(lái)自整個(gè) DeepSeek V4 完整訓(xùn)練體系,包括:更好的數(shù)據(jù)、基于 Muon 的優(yōu)化、mHC、精度與存儲(chǔ)優(yōu)化以及訓(xùn)練推理系統(tǒng)優(yōu)化;
而不僅僅是 CSA/HCA 本身。就我個(gè)人而言,目前我更傾向于把 CSA/HCA 看作:
一種以效率為核心的長(zhǎng)上下文設(shè)計(jì)。它似乎能夠在大型旗艦?zāi)P椭泻芎玫乇A裟P唾|(zhì)量,但并不意味著它在所有場(chǎng)景下都絕對(duì)優(yōu)于 MLA。
總結(jié)
2026 年的新一代開(kāi)源 LLM,一個(gè)非常明顯的趨勢(shì)是:大家都在嘗試降低長(zhǎng)上下文成本,但并不是簡(jiǎn)單地通過(guò)縮小模型總參數(shù)量來(lái)實(shí)現(xiàn),而是通過(guò)大量結(jié)構(gòu)級(jí)優(yōu)化。
- Gemma 4:跨層 KV 共享 + PLE
- Laguna:分層 Attention Budget
- ZAYA1:壓縮 latent attention
- DeepSeek V4:mHC + CSA/HCA
Transformer Block 仍然在持續(xù)演化,但這種變化已經(jīng)變得越來(lái)越定向化。
相比 GPT-2 時(shí)代幾十行 PyTorch 就能實(shí)現(xiàn),如今的 Attention Variant,代碼復(fù)雜度可能已經(jīng)增長(zhǎng)了 10 倍。
但這些復(fù)雜化的目的并不是增加成本,而是為了實(shí)現(xiàn)真正的超長(zhǎng)上下文推理。
但另一方面,理解這些組件本身,以及它們之間如何相互作用,也正在變得越來(lái)越困難。
![]()
從 GPT-2(2019)到 DeepSeek V4-Pro(2026)的演化過(guò)程。
對(duì)此,你怎么看?
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.