怎麼做 Gemma 4 12B 本地部署
這篇教你確認 Gemma 4 12B 的硬體需求、看懂公開基準,並在本機跑起多模態模型。

這篇教你確認 Gemma 4 12B 的硬體需求、看懂公開基準,並在本機跑起多模態模型。
這篇給想把 Gemma 4 12B 直接部署到筆電或桌機的開發者看,重點是先判斷硬體能不能跑,再把模型接進自己的應用。
照著做完,你會拿到一套可用的本地推理環境、一份可對照的效能讀法,還有一個能處理文字、圖片、音訊與影片輸入的實作路線。
開始之前
訂閱 AI 趨勢週報
每週精選模型發布、工具應用與深度分析,直送信箱。不定期,不騷擾。
不會寄垃圾信,隨時可取消。
- Google 帳號,用來查看模型文件與存取說明。
- 已安裝 Ollama 文件 或 llama.cpp GitHub repo 對應的執行環境。
- Node 20+ 或 Python 3.11+,用來串接你的應用程式。
- 至少 16 GB RAM 或 16 GB VRAM,才適合做實際本地推理。
- Apple Silicon Mac 且有 16 GB unified memory,如果你要走 MLX 路線。
- 已下載一份 Gemma 4 12B 的量化 GGUF 或 MLX 版本。
Step 1: 確認硬體配置
這一步的產出是「部署路線表」,因為先決定硬體是否符合 16 GB 等級,後面才不會白忙一場。

先確認你手上是 16 GB VRAM 的 GPU、16 GB unified memory 的 Mac,或足夠的系統 RAM。若不確定,先把目標設成 Q4 量化,這是本地跑 12B 模型最實際的起點。
你應該能明確說出自己要走 Ollama、llama.cpp,或 MLX 其中一條路,而不是只知道「想試試看」。
Step 2: 安裝本地推理引擎
這一步的產出是「可啟動的推理引擎」,因為模型只有在 runner 能載入後才真的能用。

依你的工作流選一個 runtime。想要最省事的 CLI,就用 Ollama;想要更高控制度,就用 llama.cpp;Apple Silicon 則優先考慮 MLX。
# Ollama 範例
ollama pull gemma4:12b
ollama run gemma4:12b你應該看到模型成功載入,並在終端機或介面中回傳一段短回答。
Step 3: 載入量化模型檔
這一步的產出是「可在你機器上跑的模型檔」,因為 12B 版本要靠量化才能落在本地可用的記憶體範圍內。
如果你用 llama.cpp,就下載 GGUF 的 Q4 類量化;如果你用 LM Studio,就在模型瀏覽器選同級量化;如果你用 MLX,就選對應 Apple Silicon 與記憶體預算的版本。
你應該看到模型能順利啟動,不會頻繁 swap,也不會在第一個 prompt 就卡死或中斷。
Step 4: 驗證多模態輸入
這一步的產出是「多模態驗收結果」,因為它能證明模型不只會回文字,還能處理圖片、音訊與影片。
若你的 runtime 支援,就各送一次圖片、短音訊與短影片。Gemma 4 12B 是 encoder-free 架構,所以同一條 decoder 路徑可以處理這些輸入型態。
你應該看到的是 caption、逐字稿或摘要,而且內容要真的對應你上傳的媒體,而不是泛用的文字回覆。
Step 5: 量測本機速度
這一步的產出是「本機吞吐數字」,因為實際速度比發表時的說法更能決定你要不要上線。
先跑一段短文字 prompt,記下 tokens per second,再用你的目標 context length 重跑一次。社群測試曾回報 RTX 4060 經 llama.cpp 約 21 tokens/s,MacBook Pro 透過 MLX 也有順暢表現。
你也可以對照官方模型卡與自己的實測,因為 Google 的說法是 12B 在標準基準上接近 26B MoE,但記憶體占用不到一半。
你應該看到穩定的 token 生成速度,且在你的工作負載下不會因量化或 context 變長而完全失速。
| 指標 | 基準/優化前 | 結果/優化後 |
|---|---|---|
| 記憶體占用 | Gemma 3 27B 級本地執行 | Gemma 4 12B 少於一半記憶體占用 |
| 基準表現 | 較早期的 Gemma 3 27B | 公開說法顯示 Gemma 4 12B 在多項測試上更好 |
| 社群速度 | 一般桌機本地推理 | RTX 4060 透過 llama.cpp 約 21 tokens/s |
Step 6: 接上你的應用程式
這一步的產出是「可用的本地應用」,例如文件摘要器、私有助理,或內部工具。
如果你用 Ollama,就把應用指向 localhost:11434 的 OpenAI 相容端點;如果你用 llama.cpp 或 MLX,就用你偏好的 SDK 包一層本地 server 或 binding,然後加上自己的 prompt template。
POST http://localhost:11434/v1/chat/completions
{
"model": "gemma4:12b",
"messages": [
{"role": "user", "content": "Summarize this invoice and list due dates."}
]
}你應該看到應用程式直接透過本地模型回應,而且資料不需要送到雲端 API。
常見錯誤
- 在 16 GB 機器上直接跑全精度。修法:改用 Q4 量化,或縮小 context window。
- 把所有 benchmark 數字都當成官方保證。修法:沒有模型卡明確寫出的數字,就只引用相對比較。
- 用純文字 wrapper 去接多模態輸入。修法:改用支援圖片、音訊或影片 ingestion 的 runtime。
接下來可以看什麼
本地跑通之後,下一步可以做私有多模態工作流,然後拿 Gemma 4 12B 跟 Qwen 或其他開源權重模型,在你的真實任務上做對照。