Gemma 4 發布:開源多模態模型,支援本機運行
TL;DR
Gemma 4,Google DeepMind 新推出的多模態系列,現在在 Hugging Face 上以 Apache 2.0 授權公開提供,提供圖像、音訊和影像理解,最高可達 256 K 上下文視窗,並可透過 transformers、llama.cpp、MLX、Rust 和 WebGPU 進行本機部署。
Gemma 4 有哪些新功能?
Gemma 4 在 Gemma 系列中加入真正的多模態(圖像、音訊、影像),支援可變長寬比的圖像 token 預算,並提供五種模型規模——從 2.3 B 參數的邊緣模型(E2B)到 31 B 密集模型——每種都有基礎和指令微調版本。所有模型皆支援 128 k 或 256 k token 上下文視窗,使長形式推理和代理使用案例能在本機運行。
| 模型 | 有效參數 | 上下文 | 檢查點 |
|---|---|---|---|
| Gemma 4 E2B | 2.3 B(含嵌入後為 5.1 B) | 128 k | 基礎,指令微調 |
| Gemma 4 E4B | 4.5 B(含嵌入後為 8 B) | 128 k | 基礎,指令微調 |
| Gemma 4 12B Unified | 11.95 B 密集(無編碼器) | 256 k | 基礎,指令微調 |
| Gemma 4 31B | 31 B 密集 | 256 k | 基礎,指令微調 |
| Gemma 4 26B A4B (MoE) | 26 B 總計,4 B 活躍 | 256 k | 基礎,指令微調 |
架構亮點
交錯滑動視窗與全域注意力
較小的密集模型使用 512‑token 滑動視窗;較大的模型使用 1024‑token 視窗,並與全域上下文層交錯出現,以保持線性計算同時維持長距離依賴。
雙 RoPE 配置
標準旋轉位置嵌入(RoPE)驅動滑動層;一種修剪過的 RoPE 變體驅動全域層,在不增加額外記憶體的情況下擴展有效上下文。
每層嵌入(PLE)
PLE 為每個 token 添加一個輕量的、每層的條件向量。它結合了 token 身份查詢與上下文感知投射,使後續層能夠接收 token 特定訊號而不會過載初始嵌入表。這在適度參數成本下提升專業化,並可透過使用 pad token ID 來處理多模態佔位符。
共享 KV 快取
最後的 N 層會重複使用來自同類型注意力的前一非共享層的鍵‑值(KV)張量。這在推理時減少計算與記憶體佔用,特別是對長上下文生成,品質損失可忽略不計。
視覺與音訊編碼器
- 視覺編碼器(除 12B 外的所有模型)使用學習到的 2‑D 位置、多維 RoPE,並支援 70‑1120 token 的 token 預算,保持原始長寬比。
- 音訊編碼器(E2B、E4B)是與 Gemma‑3n 相同的 USM‑style conformer。
- 統一 12B 移除了獨立編碼器;原始圖像塊和音訊波形直接投射進 LLM 嵌入空間,簡化延遲與微調。
多模態能力
Gemma 4 內建支援 OCR、語音轉文字、物件偵測、指向以及多模態函式呼叫。模型遵循嚴格的輸入順序:圖像先於文字,音訊後於文字。此慣例是內建聊天範本所必需的。
範例:GUI 元素偵測
提示:「圖片中的 "view recipe" 元素的邊界框是什麼?」 模型會返回相對於 1000 × 1000 畫布的座標 JSON,無需後處理。
範例:影片理解
Gemma 4 可擷取帶有可選音訊提取的影片 URL。較小的模型(E2B/E4B)可處理音訊;較大的模型處理僅影片串流。範例輸出展示了準確的場景描述與歌曲主題推斷。
範例:音訊問答與轉錄
使用同樣的聊天範本,Gemma 4 能回答關於語音的詳細問題或甶出逐字轉錄。E4B 模型的轉錄與參考文字在標點與大寫方面完全匹配。
範例:多模態函式呼叫
當被問到「這張圖片中的城市是什麼?去那裡查天氣」,模型會辨識城市(曼谷)並發出正確格式的工具呼叫 get_weather(city="Bangkok\)。
隨處部署
Gemma 4 提供第零天支援多種推理引擎,使邊緣與瀏覽器部署成為可能。
Transformers(Python)
pip install -U transformers
from transformers import pipeline
pipe = pipeline("any-to-any", model="google/gemma-4-e2b-it\)
該 pipeline 接受混合模態訊息以及可選的 load_audio_from_video=True 用於影片。
Llama.cpp(C++)
curl -LsSf https://llama.app/install.sh | sh
llama serve -hf ggml-org/gemma-4-E2B-it-GGUF
所有規模均提供 GGUF 檢查點;可在服務時選擇量化。
Transformers.js(瀏覽器)
Gemma 4 透過 transformers.js 在 WebGPU 上運行。一個示範空間展示了直接在瀏覽器中的圖像‑文字與音訊‑文字推理。
MLX(Apple Silicon)
mlx‑vlm 函式庫提供 TurboQuant 4× 記憶體減少,並支援 M 系列晶片上的長上下文推理。
Mistral.rs(Rust)
Mistral.rs 提供一個內建工具呼叫與多模態支援的 OpenAI‑相容伺服器。透過單一腳本安裝,並可服務任何 Gemma 4 檢查點。
多標記預測草擬器
Google 為所有 Gemma 4 規模發佈了推測草擬器。草擬器在單次前向傳遞中提出數個未來 token;目標模型進行驗證,可在不損失品質的情況下獲得最高約 3× 的加速。草擬器與主模型共享 KV 快取,並對邊緣變體使用嵌入器聚類。
DiffusionGemma:透過擴散產生文字
DiffusionGemma(26B A4B)透過平行去噪 token 塊而不是逐個 token 自回歸來產生文字。它每次前向傳遞可達 15‑20 token,在 H100 FP8 上低批次時可超過 1100 token/s。準確度略有下降(例如 MMLU Pro 77.6 % 對比自回歸 26B A4B 的 82.6 %),但對延遲敏感的應用程式來說吞吐量提升顯著。
微調變得簡單
TRL 整合
Gemma 4 與 trl 庫相容,用於監督微調,包括多模態工具回應訓練。一個範例腳本示範如何訓練模型在 CARLA 模擬器中駕駛,展示視覺到動作的學習。
Vertex AI 支援
一個完整的 Vertex AI 範例展示如何啟動含 CUDA 的自訂容器,安裝 Transformers 與 TRL,並在 H100 實例上微調 Gemma 4。
Unsloth Studio
Unsloth Studio 提供一個 UI,可在本機或 Colab 上進行微調。使用者可選擇任意 Gemma 4 檢查點,點擊幾下即可開始訓練。
基準測試結果
Gemma 4 在推理、編碼、視覺、音訊及長上下文任務上建立了新的帕累托前緣。(指令微調模型)
| 基準 | 31B | 26B A4B | 12B Unified | 4B E4B | 2.3B E2B |
|---|---|---|---|---|---|
| MMLU Pro | 85.2 % | 82.6 % | 77.2 % | 69.4 % | 60.0 % |
| AIME 2026 (無工具) | 89.2 % | 88.3 % | 77.5 % | 42.5 % | 37.5 % |
| GPQA Diamond | 84.3 % | 82.3 % | 78.8 % | 58.6 % | 43.4 % |
| LiveCodeBench v6 | 80.0 % | 77.1 % | 72.0 % | 52.0 % | 44.0 % |
| MMMU Pro(視覺) | 76.9 % | 73.8 % | 69.1 % | 52.6 % | 44.2 % |
| MRCR v2 128k(長上下文) | 66.4 % | 44.1 % | 43.4 % | 25.4 % | 19.1 % |
31 B 密集模型在 LMArena 純文字評估中估計得分為 1452,而 26 B MoE 僅使用 4 B 活躍參數即達到 1441,展現極高效率。
意義
- 開源前沿 – 完全採用 Apache 2.0 授權,Gemma 4 為社群提供高品質多模態模型,可在手機、筆電與伺服器上運行,無授權障礙。
- 本機代理 – 長上下文、共享 KV 快取與高效量化的結合,使 Gemma 4 適合作為本地助理、自主機器人及保護隱私的應用。
- 工具呼叫平等 – 多模態工具呼叫的運作方式與純文字呼叫相同,使更豐富的代理工作流程成為可能(例如視覺導向的天氣查詢)。
- 速度‑品質權衡 – DiffusionGemma 提供一種以速度為優先的生成密集型工作負載新路徑,而 MTP 草擬器則在不犧牲答案品質的情況下加速標準 Gemma 4 推理。
今日嘗試 Gemma 4
- Transformers 示範 – 互動空間適用於 E4B、12B Unified、26B A4B 與 31B。
- WebGPU 示範 – 透過
transformers.js在瀏覽器中運行 Gemma 4。 - 模型中心 – 所有檢查點、GGUF 檔案與 ONNX 匯出可在 https://huggingface.co/collections/google/gemma-4 取得。
致謝
此版本之得以發布,歸功於 Google DeepMind 的模型貢獻以及 Hugging Face 社群的廣泛整合工作:Cyril、Raushan、Eustache、Arthur、Lysandre(transformers)、Joshua(transformers.js)、Eric(mistral.rs)、Son(llama.cpp)、Prince(MLX)、Quentin、Albert、Kashif(TRL)、Adarsh(SGLang)與 Toshihiro(示範工程)。}
Sources
相關
- Dispatch
- Dispatch
- Dispatch
- Dispatch
- Dispatch