<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Gemma on 凱凱的技術筆記</title><link>https://kaikai365.com/tags/gemma/</link><description>Recent content in Gemma on 凱凱的技術筆記</description><generator>Hugo</generator><language>zh-TW</language><lastBuildDate>Fri, 05 Jun 2026 11:10:00 +0800</lastBuildDate><atom:link href="https://kaikai365.com/tags/gemma/index.xml" rel="self" type="application/rss+xml"/><item><title>Gemma 4 12B 深度評測：Google 的encoder-free 多模態小巨人</title><link>https://kaikai365.com/posts/2026-06-05-gemma-4-12b-review/</link><pubDate>Fri, 05 Jun 2026 11:10:00 +0800</pubDate><guid>https://kaikai365.com/posts/2026-06-05-gemma-4-12b-review/</guid><description>&lt;h2 id="引言12b-的參數26b-的野心">引言：12B 的參數，26B 的野心&lt;/h2>
&lt;p>2026 年 6 月 3 日，Google DeepMind 在官方部落格發表了一篇看似平淡卻暗藏殺機的聲明——&lt;strong>Gemma 4 12B&lt;/strong> 正式開源。&lt;/p>
&lt;p>這聽起來只是一個數字遊戲：12B 參數、Apache 2.0 授權、16GB VRAM 就能跑。但如果你仔細看它的架構設計和基準測試數據，會發現 Google 在這款「中型」模型上塞進了不少過去只有大模型才有的黑科技。&lt;/p>
&lt;p>這篇文章結合 Google 官方技術部落格與社群實測影片，來一次完整拆解：Gemma 4 12B 到底強在哪裡？值得你從 Qwen 2.5 7B 跳槽嗎？&lt;/p>
&lt;hr>
&lt;h2 id="一架構革命去編碼器encoder-free的多模態設計">一、架構革命：去編碼器（Encoder-free）的多模態設計&lt;/h2>
&lt;h3 id="傳統多模態模型的痛點">傳統多模態模型的痛點&lt;/h3>
&lt;p>大多數多模態大模型（比如早期的 GPT-4V、Claude Vision）都採用「編碼器 + LLM」的雙段式架構：&lt;/p>
&lt;ol>
&lt;li>&lt;strong>視覺編碼器&lt;/strong>（Vision Encoder）先把圖片轉成向量表示&lt;/li>
&lt;li>&lt;strong>音訊編碼器&lt;/strong>（Audio Encoder）再把聲音轉成特徵&lt;/li>
&lt;li>最後把這些向量餵給語言模型做理解&lt;/li>
&lt;/ol>
&lt;p>這個流程的問題很明顯：&lt;strong>編碼器佔記憶體、增加延遲、而且每個模態都要單獨訓練一套編碼器&lt;/strong>。&lt;/p>
&lt;h3 id="gemma-4-的解法直接丟進-llm">Gemma 4 的解法：直接丟進 LLM&lt;/h3>
&lt;p>Gemma 4 12B 做了兩件大事：&lt;/p>
&lt;p>&lt;strong>視覺處理：&lt;/strong> 用一個極輕量的嵌入模組取代了傳統視覺編碼器——只有一個矩陣乘法、位置嵌入（positional embedding）和正規化。換句話說，圖片被直接投影到跟文字相同的向量空間，然後由 LLM 主幹直接處理視覺資訊。&lt;/p>
&lt;p>&lt;strong>音訊處理：&lt;/strong> 更徹底。直接把原始音訊訊號投影到文字 token 的維度空間，&lt;strong>完全省掉了音訊編碼器&lt;/strong>。這也是 Gemma 4 系列第一個內建原生音訊輸入的中型模型。&lt;/p>
&lt;p>這種 encoder-free 架構的好處是：&lt;/p>
&lt;ul>
&lt;li>&lt;strong>更低的延遲&lt;/strong>：少了一次編碼器的轉換&lt;/li>
&lt;li>&lt;strong>更小的記憶體佔用&lt;/strong>：不用額外儲存編碼器權重&lt;/li>
&lt;li>&lt;strong>更統一的訓練&lt;/strong>：所有模態在同一個 LLM 上 jointly train&lt;/li>
&lt;/ul>
&lt;p>用 Google 的原話說：「我們讓 LLM backbone 自己接管視覺處理。」&lt;/p></description></item><item><title>十年前的 Xeon 伺服器，也能跑得動 260 億參數的 Gemma 4</title><link>https://kaikai365.com/posts/2026-06-05-gemma-4-on-a-2016-xeon/</link><pubDate>Wed, 03 Jun 2026 14:15:43 +0800</pubDate><guid>https://kaikai365.com/posts/2026-06-05-gemma-4-on-a-2016-xeon/</guid><description>&lt;h2 id="引言一台不該跑-ai的機器">引言：一台「不該跑 AI」的機器&lt;/h2>
&lt;p>這篇文章是 point.free 上一篇 Gemma 4 系列的最後一篇——前面兩篇講了怎麼把 Gemma 4 的 MTP drafter 量化、怎麼跟 verifier 配對，而這一篇要回答一個更刁鑽的問題：&lt;/p>
&lt;p>&lt;strong>「把這些成果丟到一台根本沒有資格跑 AI 的機器上，會怎樣？」&lt;/strong>&lt;/p>
&lt;p>作者的硬體規格聽起來像是一台從墳墓裡挖出來的古董：&lt;/p>
&lt;ul>
&lt;li>CPU：Intel Xeon E5-2620 v4（2016 年產，約為當前筆電 CPU 的五分之一慢）&lt;/li>
&lt;li>記憶體：128 GB DDR3（頻寬只有最新筆電 RAM 的五分之一到六分之一）&lt;/li>
&lt;li>GPU：無（連內顯都沒有）&lt;/li>
&lt;/ul>
&lt;p>換作一般工具，比如 ollama，直接放棄。但這篇文章的作者說：「等等，聽我說完……」&lt;/p>
&lt;hr>
&lt;h2 id="核心問題記憶体牆memory-wall">核心問題：記憶体牆（Memory Wall）&lt;/h2>
&lt;p>要理解這篇文章的精髓，先搞懂一個概念——&lt;strong>LLM 推理的瓶頸不在運算能力，而在記憶體頻寬&lt;/strong>。&lt;/p>
&lt;p>當你使用 ChatGPT 看著文字逐字流出時，你看到的是「decoder pass」。在這個階段，處理器要不斷把龐大的模型權重從記憶體拉進 CPU cache 才能計算下一個 token。處理器的運算速度其實很快，但它大部分時間都在等記憶體傳輸——這就叫「記憶體受限」（memory-bound），而非「運算受限」（compute-bound）。&lt;/p>
&lt;p>這就是著名的「記憶体牆」問題。不管你用的是 2016 年的 Xeon 還是最新的 H100，這堵牆都在那裡。&lt;/p>
&lt;p>所以，直接拿預設參數跑 llama-cli 在 DDR3 機器上會慢到令人發指。解法是什麼？把 ik_llama.cpp 能用的優化選項全部拉滿。&lt;/p>
&lt;hr>
&lt;h2 id="那串魔法咒語">那串「魔法咒語」&lt;/h2>
&lt;p>作者甩出了一長串 llama-cli 參數，看起來像中世紀巫師的咒語：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>llama-cli &lt;span style="color:#ae81ff">\
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ae81ff">&lt;/span> --model gemma-4-26B-A4B-it-Q8_0.gguf &lt;span style="color:#ae81ff">\
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ae81ff">&lt;/span> --model-draft wikitext-2-raw_ik-llama-mtp_drafter-conservative/gemma-4-26B-A4B-it-assistant-Q8_0.gguf &lt;span style="color:#ae81ff">\
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ae81ff">&lt;/span> --spec-type mtp --draft-max &lt;span style="color:#ae81ff">3&lt;/span> --draft-p-min 0.0 --spec-autotune &lt;span style="color:#ae81ff">\
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ae81ff">&lt;/span> -cnv --color --jinja --special &lt;span style="color:#ae81ff">\
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ae81ff">&lt;/span> -sm graph -smgs -sas -mea &lt;span style="color:#ae81ff">256&lt;/span> --split-mode-f32 &lt;span style="color:#ae81ff">\
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ae81ff">&lt;/span> --temp 0.7 -t &lt;span style="color:#ae81ff">8&lt;/span> --parallel &lt;span style="color:#ae81ff">8&lt;/span> &lt;span style="color:#ae81ff">\
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ae81ff">&lt;/span> --cpu-moe --merge-up-gate-experts &lt;span style="color:#ae81ff">\
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ae81ff">&lt;/span> --flash-attn on --mla-use &lt;span style="color:#ae81ff">3&lt;/span> &lt;span style="color:#ae81ff">\
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ae81ff">&lt;/span> --mlock --run-time-repack --no-kv-offload
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>25 個參數，一半沒有文件說明，四分之一會靜默失敗。這就是作者所說的「可用性的護城河」（usability moat）——黑盒工具讓你看不見這些，但也讓你無法優化。&lt;/p></description></item></channel></rss>