🗺️ AI 學習與考證地圖
On-device LLM · 實測筆記 · 2026.09

手機跑 Gemma 4 實測

把 Google 的開放模型 Gemma 4 直接放進手機,不連網、不上雲,在 iPhone 17 Pro Max 與 Pixel 10 上用同一段題目各跑 8 種組合,看 CPU、GPU、模型大小與 MTP 加速各自的差別,並整理出看懂這份數據需要的名詞。

iPhone 17 Pro Max(iOS) Google Pixel 10(Android) 引擎 LiteRT-LM 0.17.1 模型 Gemma 4 E2B/E4B
01

先看重點

iPhone

GPU 全面勝出。E2B 用 GPU 讀題 1.4 秒、打字約 60 字/秒;用 CPU 是 2.9 秒、39 字/秒。讀題快約 2 倍、打字快約 1.5 倍。

Pixel 10

GPU 讀題快,打字反而比 CPU 慢。E2B 用 GPU 讀題 1.5 秒(CPU 6.1 秒),但打字只有 14.6 字/秒(CPU 22.9 字/秒)。回答 150 字時兩者總時間差不多。

兩台

讀題靠算力、打字靠記憶體頻寬。讀題可以平行運算,GPU 在兩台都大幅加速;打字每個字都要把整個模型讀一遍,快慢取決於各手機的記憶體與引擎最佳化,所以結果不同。

兩台

MTP 加速這次沒有幫上忙。iPhone 搭 GPU 只快約 2%,其他組合大多變慢。

兩台

GPU 第一次要先編譯。Pixel 10 第一次載入要 26~35 秒,iPhone 約 8~9 秒;之後走快取,只要幾秒。

02

測試方式

每次回答長度不同(144~412 字),所以比較時看「每秒字數」,不要直接比總秒數。

03

圖表

iPhone 17 Pro MaxPixel 10

一次回答的時間花在哪裡

第一次載入讀題打字

括號內是該次回答的字數。「載入」只在切換組合後第一次出現。

04

完整數據

每秒效能(不含第一次載入)

黃底=該手機「150 字估算」最短的組合。150 字估算=讀題秒數+150 ÷ 打字速度,是推算值。

實測總時間(含第一次載入)

單位:秒。讀題+打字=實測總計-載入。字數是該次回答實際產生的中文字數。

05

第一次載入會讓數字看起來很怪

在 Pixel 10 上,E4B 的「實測總計」有時比 E2B 還短,看起來像大模型比較快。其實是兩個因素疊在一起:

  • 總計包含第一次載入。E2B+GPU+MTP 載入花了 26.6 秒(第一次編譯 GPU),E4B+GPU+MTP 只花 7.1 秒(已經有快取),光這裡就差了將近 20 秒。
  • E2B 寫得比較長。題目要求 120 字內,E4B 大約寫 160 字,E2B 卻寫了 338~377 字。小模型比較不會遵守字數限制,字多自然花得久。
  • 只看每秒效能,8 種組合都是 E2B 比 E4B 快。例如 Pixel 10 用 CPU 是 22.9 對 10.5 字/秒,用 GPU 是 14.6 對 8.4 字/秒。
  • CPU 的「載入」只有零點幾秒,不代表真的載完。引擎先把模型檔對應到記憶體,第一次運算時才真正讀進來,所以 CPU 第一次的讀題時間會偏長。

想比得更公平,可以每種組合連跑兩次、只看第二次,並把回答長度限制得更緊。

06

手機上的架構

模型、引擎和運算全部在手機裡完成。下圖是一段問題從送出到出現回答所經過的路徑:

輸入Promptsystem prompt(角色與規則)+ 使用者的題目與參考資料
輸出逐字顯示引擎一段一段串流回傳,畫面像在打字
LiteRT-LM 引擎(Google 官方,裝在手機上)
步驟 1對話模板套上模型規定的對話格式
步驟 2斷詞Tokenizer 把文字切成 token 編號
步驟 3Prefill 讀題整段一起算,K、V 存進 KV cache
步驟 4Decode 打字一次 1 個 token,取樣後轉回文字
KV cache:已算過的內容先存起來,下一個字不用重算前文
運算CPU 或 GPUiPhone 的 GPU 走 Metal,Android 的 GPU 走 OpenCL;可選 MTP 加速
儲存模型檔 .litertlmE2B 約 2.6GB、E4B 約 3.7GB,4-bit 量化,放在手機儲存空間
  1. 組 prompt:把角色規則(system prompt)和這次的題目、參考資料放在一起。先把正確資料交給模型、要它只根據資料回答,叫做 grounding,可以降低幻覺。

  2. 對話模板與斷詞:引擎自動套上 Gemma 4 規定的對話格式,再把文字切成 token。

  3. Prefill(讀題):整段 prompt 一次送進模型,每一層算出 Q、K、V,並把 K、V 存進 KV cache。能平行運算,所以 GPU 加速最明顯。

  4. Decode(打字):每次只產生 1 個 token。新 token 跟 KV cache 做注意力運算,再用取樣挑出下一個字。每產生一個字都要把整個模型權重從記憶體讀一遍,所以速度受記憶體頻寬限制。

  5. 回傳:文字以串流方式一段段送回畫面。整個過程不需要網路,資料不會離開手機。

07

為什麼不在手機上跑 12B 以上

Gemma 4 共有 5 種尺寸,Google 只替 E2B、E4B 推出手機版。載入權重所需記憶體(Google 官方數字,已含約 20% 額外開銷、不含 KV cache):

結論:E2B、E4B 是 Google 專為手機設計的尺寸,E4B 大約就是現在手機上的實用上限;12B 以上適合電腦或伺服器。

08

名詞解釋

📝 iPAS 考點提醒

邊緣 AI(Edge AI/On-device AI)是把模型放在手機、筆電等終端裝置上直接執行。好處是資料不離開裝置(隱私)、可以離線使用、少了往返雲端的網路延遲;代價是記憶體、算力、電量與散熱都有限,只能用小尺寸模型並搭配量化。考題常考這組取捨:強調隱私或離線 → 邊緣部署;需要大模型能力或集中管理 → 雲端部署。另一個常見考點:LLM 推論分兩段,Prefill(讀入整段提示)可以平行運算、吃算力;Decode(逐字產生)每一步都要讀一次權重、吃記憶體頻寬,KV cache 則用來避免重算前文。

想練情境題與詳解 → Akira iPAS AI 互動式考證地圖

❓ 常見問題

手機可以不連網跑大型語言模型嗎?

可以,但只限小尺寸模型。本頁用 Google 官方的 LiteRT-LM 引擎,在手機上執行 Gemma 4 的 E2B 與 E4B 版本(4-bit 量化,模型檔約 2.6GB 與 3.7GB)。模型、引擎和運算全在手機內完成,不需要網路,資料也不會離開裝置。

手機跑 LLM 用 GPU 一定比 CPU 快嗎?

不一定。本頁單次實測中,讀題(Prefill)階段 GPU 在兩台手機都明顯較快;但打字(Decode)階段,iPhone 的 GPU 約 60 字/秒勝過 CPU 的 39 字/秒,Pixel 10 反而是 GPU 14.6 字/秒輸給 CPU 22.9 字/秒。打字速度主要受記憶體頻寬與引擎最佳化影響,不只看算力。

為什麼讀題和打字的速度瓶頸不一樣?

Prefill 把整段提示一次送進模型,可以平行運算,所以主要吃算力;Decode 一次只產生一個 token,每產生一個都要把整個模型權重從記憶體讀一遍,所以受記憶體頻寬限制。KV cache 會把前文算過的 K、V 存起來,讓 Decode 不必每次重算前文。

為什麼不在手機上跑 Gemma 4 12B 以上的模型?

12B 以上沒有 LiteRT-LM 的手機版模型檔;就算壓成 4-bit,光權重就約 6.7GB,再加上 KV cache,會超過手機給單一 App 的記憶體上限。模型越大,每個字要讀的資料越多,打字會更慢,長時間高負載也會讓手機發燙降頻。E4B 大約就是目前手機上的實用上限。

為什麼第一次載入特別慢?

GPU 第一次使用時要先編譯,本頁實測 Pixel 10 需要 26~35 秒、iPhone 約 8~9 秒,之後走快取只要幾秒。所以比較效能時要看不含第一次載入的每秒數字,或讓每種組合連跑兩次、只看第二次。

🧭 相關主題

← 返回 Akira iPAS AI 互動式考證地圖