Gemma 4 :從注意力機制、MoE 到多模態圖片處理一次看懂

文章基本資訊

如果你最近在看 Google 的 Gemma 4 模型家族,卻覺得官方資料講得太快、太硬,這篇文章就是幫你把整套概念拆開說清楚。這不是單純列規格,而是從模型架構、注意力設計、視覺輸入、MoE,到小模型與大模型的差異,一步一步整理成比較容易吸收的版本。

Gemma 4 最值得注意的地方,不只是參數量,而是它把幾個重要設計組合在一起:local attention 與 global attention 的交錯設計、對 global attention 的記憶體優化、支援多模態輸入、可處理多張不同尺寸圖片,以及某些版本採用 Mixture of Experts(MoE)。如果你是第一次接觸這些名詞,沒關係,後面會逐段拆開說。

Gemma 4 家族有哪些型號?

根據原文整理,Gemma 4 家族目前有四個主要版本:

  • Gemma 4 – E2B:dense model,採用 per-layer embeddings,等效約 20 億參數級別
  • Gemma 4 – E4B:dense model,採用 per-layer embeddings,等效約 40 億參數級別
  • Gemma 4 – 31B:31B 參數的 dense model
  • Gemma 4 – 26B A4B:Mixture of Experts(MoE)模型,總參數量 26B,但推論時只有 4B active parameters 會被啟用

這樣的設計意味著,Gemma 4 不只想覆蓋大型模型市場,也同時瞄準可落地到較小硬體上的版本。對開發者來說,這是很實際的好處:你可以依照自己的硬體、延遲需求與工作負載,選擇不同大小的模型。

Gemma 4 的共同架構:先理解它們共享的骨幹

雖然 Gemma 4 家族有不同尺寸與不同架構變體,但它們共享一些重要設計。原文點出的共通特徵包括:

  • Interleaving Layers:local attention 與 global attention 交錯排列
  • 最後一層一定是 global attention
  • K = V:在 global attention 中,Keys 會與 Values 等同處理
  • p-RoPE:對部分維度套用 Rotary Positional Encoding,而不是全部
  • 所有模型都是 multimodal,能處理圖片輸入

這裡最重要的觀念是:Gemma 4 不是只把模型做大,而是試圖在 效能、記憶體成本、長上下文能力與多模態能力 之間取得平衡。

Local Attention 與 Global Attention:為什麼要交錯設計?

Gemma 4 和 Gemma 3 一樣,採用了 local attention(也常被叫做 sliding window attention)與 global attention 的交錯設計。

兩者差異可以先這樣理解:

  • Global attention:每個 token 都能看到前面所有 token
  • Local attention:每個 token 只能看到固定視窗內的 token

為什麼需要 local attention?因為完整 global attention 的成本非常高,尤其當上下文變長時,計算量與記憶體使用都會快速增加。local attention 的好處是便宜很多,因為它只看局部範圍。

但 local attention 不是免費午餐。當模型只看局部視窗時,較早出現的資訊可能逐步被稀釋。原文用一個很貼切的比喻來說明:這有點像傳話遊戲,訊息雖然能透過 hidden states 一層一層傳下去,但每傳一次就可能失真一些。

因此,Gemma 4 採用的策略不是二選一,而是:

  • 大多數層使用 local attention,以節省成本
  • 定期插入 global attention 層,以重新看完整上下文

Gemma 4 的 attention 交錯比例

原文提到,Gemma 4 不同模型的 interleaving pattern 略有差異:

  • E2B 使用 4:1 模式:4 層 local attention + 1 層 global attention
  • 其他版本 使用 5:1 模式:5 層 local attention + 1 層 global attention

另外還有一個很重要的調整:最後一層一定是 global attention。這是 Gemma 4 相比 Gemma 3 的修正之一,因為在 Gemma 3 某些型號中,最後一層可能剛好落在 local attention,導致最終輸出不是建立在完整上下文之上。

這個改動看起來很小,但其實很關鍵。因為最後一層若能看到完整上下文,最終表示通常會更穩定,也更能反映整體序列的全域結構。

Sliding Window 有多大?

Gemma 4 的 local attention 視窗大小也依模型不同而異:

  • E2B / E4B:512 tokens
  • 26B A4B / 31B:1024 tokens

也就是說,小模型偏向更省記憶體與更高效率,大模型則保留較大的局部視窗,讓模型能看到更長的近距離上下文。

Global Attention 為什麼還能再省?

即使有 local attention 幫忙節流,global attention 本身仍然昂貴,因為它要對整段上下文做完整注意力計算。為了降低這個成本,Gemma 4 在 global attention 上做了幾個額外優化。

1. Grouped Query Attention(GQA)

Gemma 4 延續了 Grouped Query Attention(GQA)的設計。其核心概念是:多個 Query heads 共用同一組 Key / Value heads,以減少 KV-cache 的記憶體需求。

原文指出:

  • local attention 層中,2 個 Query heads 共用 1 個 KV head
  • global attention 層中,8 個 Query heads 共用 1 個 KV head

這樣做能大幅減少 global attention 需要快取的內容量,對長上下文尤其重要。

2. Keys 維度加倍

不過,當多個 Query 共用 Key / Value 時,模型表達力可能會下降。為了補償這件事,Gemma 4 將 Keys 的維度加倍。這是效率與表達能力之間的一種折衷設計。

3. K = V

另一個更有趣的技巧,是在 global attention 中使用 K = V,也就是讓 Keys 與 Values 等同處理。這會進一步降低 KV-cache 的記憶體負擔。

原文的意思不是說這完全沒有代價,而是說在實務上,這樣的簡化對效能影響不大,卻能換來不錯的效率收益。

p-RoPE:為什麼不是所有維度都要加位置資訊?

在大型語言模型中,位置編碼很重要,因為模型本身不懂字詞順序。Gemma 4 使用的是 RoPE(Rotary Positional Encoding)的變體,稱為 p-RoPE

先理解一個核心問題:RoPE 會把位置資訊加到 Query 與 Key 上,但不是所有維度都同樣適合承載位置資訊。

原文提到:

  • 高頻維度很適合表達位置,因為它們對小位移很敏感
  • 低頻維度更適合保留語意內容

問題是,如果連低頻維度也套用位置旋轉,反而可能把原本應該拿來表達語意的空間污染掉,特別是在長上下文下,這種小旋轉累積起來甚至可能造成遠距 token 對齊失真。

p-RoPE 的做法就是:

  • 只對部分維度套用 RoPE
  • 其餘維度保留原本語意表示

例如當 p = 0.25 時,就只有前 25% 的維度對會承載位置資訊,其餘維度不加位置旋轉。

Gemma 4 將 p-RoPE 用在 global attention 上,因為 global attention 的上下文最長,也最容易受到長距離位置偏移影響。

Gemma 4 的多模態能力:圖片是怎麼進模型的?

Gemma 4 的一大亮點,是家族全員都支援多模態輸入,也就是不只處理文字,也能處理圖片。原文進一步指出,小模型甚至支援音訊輸入。

圖片處理的核心,是一個基於 Vision Transformer(ViT) 的 vision encoder。

ViT 的基本想法可以簡單理解成:

  • 把圖片切成很多小 patch
  • 把每個 patch 當成類似文字 token 的輸入單位
  • 再用 Transformer 去處理這些 patch embeddings

在這裡,每個 patch 通常是 16 × 16 像素。這也是 ViT 經典做法的來源之一。

為什麼圖片的位置編碼比文字更麻煩?

文字本質上是一維序列,所以位置 1、位置 2、位置 3 很直覺。但圖片不是一維,而是二維空間。當圖片尺寸與長寬比不同時,同樣是「第 4 個 patch」,它在不同圖片中的空間意義可能完全不同。

為了解決這件事,Gemma 4 使用了 2D RoPE。做法是把 patch embedding 切成兩半:

  • 一半編碼寬度方向的位置
  • 另一半編碼高度方向的位置

這樣模型就不是用單一序列位置理解圖片,而是用真正接近圖片空間結構的方式去理解 patch 所在的位置。

Gemma 4 為什麼能支援不同長寬比?

傳統 ViT 往往會把圖片硬縮放成固定大小的正方形,這樣雖然方便切 patch,但可能會扭曲圖片,或裁掉重要內容。

Gemma 4 採取的方式比較彈性:

  • 支援不同長寬比
  • 會自適應調整圖片尺寸
  • 必要時以 padding 方式補齊
  • 確保最終仍能切成 16 × 16 patch

這樣一來,模型就不需要強迫所有圖片變成同一種外觀比例,也能保留更多原始視覺資訊。

Soft Token Budget:Gemma 4 如何控制圖片解析度成本?

即使解決了長寬比問題,另一個麻煩又來了:如果圖片解析度很高,patch 數量就會暴增,推論成本也會快速上升。

Gemma 4 的解法是引入 soft token budget,也就是讓使用者選擇願意給圖片多少視覺 token 預算。原文提到可用的 budget 有:

  • 70
  • 140
  • 280
  • 560
  • 1120

budget 越高,模型就能保留越高解析度與越多 patch 細節;budget 越低,圖片就會被縮得更小,以降低推論成本。

這個設計很實際,因為不同任務對圖片細節需求差很多:

  • 做物件辨識、細節辨認時,需要較高 budget
  • 做影格較多的影片理解時,可能更適合較低 budget,以換取速度

Patch Pooling:為什麼最後 token 數不會爆掉?

即使使用較高解析度,Gemma 4 仍不會把所有原始 patch 都原封不動送進 LLM。它會先對鄰近 patch 做 pooling,也就是把相鄰區塊合併,降低最終視覺 token 的數量。

原文舉的例子是把 3 × 3 鄰近 patch 合併成一個 embedding。這樣的好處是:

  • 保留空間資訊
  • 減少視覺 token 數量
  • 讓模型在高解析度下仍然可運作

也就是說,soft token budget 並不是直接對應原始 patch 數,而是對應經過 pooling 後要送進語言模型的視覺表示數量。

Patch Embeddings 怎麼對齊到語言模型?

vision encoder 產生的 patch embeddings,不能直接丟進語言模型,因為兩邊的向量空間與維度分布不一定相容。

Gemma 4 的做法是:

  • 先用一個小型投影網路把 patch embeddings 映射到 LLM 期望的維度
  • 再接 RMSNorm,讓尺度與後續 Transformer block 更相容

這一步的本質,就是把「視覺空間表示」對齊到「語言模型能理解的表示空間」。如果少了這步,圖片 embedding 即使有資訊,語言模型也不一定能正確使用。

Gemma 4 – 31B:大型 dense model 的代表

在 Gemma 4 家族中,31B 版本是比較典型的大型 dense model。原文認為它是整個家族中相對「標準」的一個代表,也就是比較接近沒有特殊 tricks 疊太多的主幹設計。

它延續了 Gemma 3 某些主要結構,但也加入了前面提到的改進,例如:

  • K = V
  • p-RoPE
  • 最後一層一定是 global attention

如果你想把 Gemma 4 當作一個整體來理解,31B 其實是很好的切入點,因為它能讓你看到 Gemma 4 的基本骨架長什麼樣,而不會先被 MoE 或 per-layer embeddings 分散注意力。

Gemma 4 – 26B A4B:Mixture of Experts(MoE)怎麼運作?

26B A4B 這個名字中最重要的資訊,是 A4B 代表 active parameters 為 4B。也就是說,雖然整體模型有 26B 參數載入記憶體,但單次推論只會啟用其中一部分。

這正是 Mixture of Experts(MoE)的核心精神:不是讓所有參數每次都一起工作,而是把模型拆成多個 expert,讓 router 決定某個 token 要交給哪些 expert 處理。

MoE 的兩個主要組件可以這樣理解:

  • Experts:多個較小的 FFNN
  • Router:決定 token 要送去哪些 experts

這樣做的最大好處,是讓模型總參數量可以很大,但單次推論實際啟用的參數相對少,因此速度與成本都可能比同等規模的 dense model 更有優勢。

小模型 E2B / E4B 值得注意什麼?

原文特別提到,他對 Gemma 4 的小模型很有興趣,因為這些版本不只支援文字與圖片,也支援音訊。這使得 E2B / E4B 變得特別適合部署在較有限的硬體環境中,或者用來做多模態輕量應用。

如果你關注的是:

  • 小型部署
  • 邊緣裝置
  • 多模態但硬體受限的場景

那這兩個版本反而可能比 31B 更值得關注。

重點整理

  • Gemma 4 家族包含 E2B、E4B、31B 與 26B A4B 四個主要版本。
  • 共同架構重點包括:local / global attention 交錯、最後一層固定 global、K = V、p-RoPE、多模態能力。
  • Gemma 4 透過 GQA、K = V 與 p-RoPE 降低 global attention 的成本。
  • 在圖片處理上,Gemma 4 支援不同長寬比、2D RoPE、soft token budget 與 patch pooling。
  • 31B 是比較典型的大型 dense model;26B A4B 則代表 Gemma 4 的 MoE 路線。
  • E2B / E4B 小模型則更強調輕量部署與多模態彈性。

Takeaway

Gemma 4 最值得注意的,不只是它有多大,而是它在設計上同時考慮了 效率、長上下文能力、多模態輸入與可部署性。它沒有只靠堆參數來追求能力,而是透過多種架構層面的調整,讓不同規模的模型都能有清楚的定位。

如果你想快速理解 Gemma 4 的價值,可以先記住一句話:Gemma 4 是一個把注意力效率優化、多模態輸入設計與模型家族分工做得更完整的開放模型系列。

免責聲明

本文由 AI 整理與撰寫,內容主要依據公開論文、技術文件與可取得之研究資料進行彙整、解讀與摘要。儘管已盡力確保內容之完整性與可讀性,仍可能因模型理解限制、資料來源差異或語意轉譯過程而存在疏漏、不精確或更新延遲之處。本文內容僅供研究交流與知識分享參考,實際技術細節、實驗設定與最終結論,仍應以原始論文、官方文件及作者公開資料為準。

You may also like