Gemma 3 4B 端側延遲與部署
微調後的 Gemma 3 4B 在 iPhone、Pixel、Raspberry Pi 和瀏覽器上的實測延遲與準確率,並附上 QLoRA 訓練參數和 GGUF 量化檔位的選擇建議。
在手機、Raspberry Pi 或 IoT 閘道器上執行 AI——完全不依賴伺服器——徹底改變了什麼是可能的。沒有網路往返的延遲。沒有隨用戶數增長 的 API 費用。不依賴網路連線。資料完全私密,因為什麼都不會離開裝置。
Gemma 3 是 Google 專為此目的打造的開放模型系列。Llama 和 Qwen 是為伺服器端推論設計、再壓縮至較小硬體的,而 Gemma 3 從一開始就是為資源受限環境所設計的。其結果是一個運行更快、記憶體占用更少、在同等參數量下比競爭對手更優雅地處理裝置端限制的模型。
4B 模型是大多數裝置端部署的目標。在 Q4_K_M 量化下,它可以運行在不到 3 GB 的 RAM 中——完全在現代智慧型手機、Raspberry Pi 5 或瀏覽器分頁的能力範圍內。當你針對特定任務進行微調後,它可以達到比它大 5 倍的模型的同等水準。
Gemma 3 模型規格
| 模型 | 參數量 | 大小 (Q4_K_M) | 所需 RAM | 目標部署 |
|---|---|---|---|---|
| Gemma 3 1B | 1B | 0.7 GB | 1.2 GB | 微控制器、穿戴裝置、超受限環境 |
| Gemma 3 4B | 4B | 2.5 GB | 3.5 GB | 手機、平板、Raspberry Pi、瀏覽器 |
| Gemma 3 12B | 12B | 7.5 GB | 9 GB | 筆記型電腦、桌面應用、邊緣伺服器 |
| Gemma 3 27B | 27B | 16 GB | 19 GB | 工作站、GPU 伺服器 |
4B 模型是裝置端部署的最佳選擇。它夠大,足以處理有意義的任務(分類、擷取、簡單生成、意圖偵測),又夠小,能在人們已擁有的硬體上運行。
1B 模型適用於極端受限的場景——穿戴裝置、嵌入式系統,或需要絕對最小體積的情境。它能處理簡單的分類和短形式任務,但在需要超過基礎模式匹配的任何事情上都會遇到困難。
為何選擇 Gemma 用於裝置端
架構優化
Google 在設計 Gemma 3 時就考慮到裝置端推論:
- 交替層的滑動視窗注意力機制在同等上下文長度下,比完整注意力機制減少 30-40% 的記憶體使用。對於裝置端,這意味著你可以處理更長的輸入而不耗盡 RAM。
- 分組查詢注意力 (GQA) 採用 1:4 比例壓縮 KV 快取,減少推論期間的記憶體分配。在只有 6 GB RAM 的手機上,這是能否順利運行的關鍵差異。
- RMSNorm 搭配可學習縮放而非 LayerNorm——每層稍微更快,在 CPU/NPU 硬體上數十億次運算累積下來效果顯著。
- Logit 軟截止穩定輸出概率,降低量化模型產生退化輸出的機率。當你在手機 NPU 上以 Q4_0 運行時,這種穩定性至關重要。
推論速度比較
Gemma 3 4B 與同類模型在不同硬體上的比較,全部使用 Q4_K_M:
| 硬體 | Gemma 3 4B | Qwen 2.5 3B | Phi-3.5 Mini 3.8B | Llama 3.2 3B |
|---|---|---|---|---|
| iPhone 15 Pro (ANE) | 28 t/s | 22 t/s | 19 t/s | 24 t/s |
| Pixel 8 Pro (GPU) | 22 t/s | 17 t/s | 15 t/s | 19 t/s |
| Raspberry Pi 5 (8GB, CPU) | 6.4 t/s | 5.1 t/s | 4.2 t/s | 5.5 t/s |
| M2 MacBook Air (GPU) | 48 t/s | 38 t/s | 33 t/s | 41 t/s |
| 瀏覽器 (WebLLM, Chrome) | 12 t/s | 9 t/s | 8 t/s | 10 t/s |
Gemma 3 在所有裝置端目標上比同等大小的模型快 15-30%。在 iPhone 的 Apple Neural Engine 上,優勢尤為明顯——Google 針對 Apple 的 ML 硬體優化了權重佈局。
記憶體占用
| 模型 | Q4_K_M 大小 | 峰值 RAM (2K 上下文) | 峰值 RAM (4K 上下文) |
|---|---|---|---|
| Gemma 3 4B | 2.5 GB | 3.2 GB | 3.8 GB |
| Qwen 2.5 3B | 2.0 GB | 2.8 GB | 3.5 GB |
| Phi-3.5 Mini 3.8B | 2.3 GB | 3.4 GB | 4.3 GB |
| Llama 3.2 3B | 2.0 GB | 2.9 GB | 3.6 GB |
Gemma 3 4B 的基礎大小略高於 3B 模型(因為參數更多),但其 KV 快取效率意味著在較長上下文長度下差距縮小。在 4K 上下文時,Gemma 使用的 RAM 比 Phi-3.5 Mini 少,儘管其參數多了 2 億個。
微調 4B 模型
VRAM 需求
| 配置 | VRAM |
|---|---|
| QLoRA (rank 16, 4-bit 基礎) | 6 GB |
| QLoRA (rank 32, 4-bit 基礎) | 8 GB |
| LoRA (rank 16, FP16 基礎) | 12 GB |
| 完整微調 (FP16) | 18 GB |
你可以在 RTX 3060 12GB、RTX 4060 8GB,或擁有 16 GB 統一記憶體的 M1 MacBook Pro 上以 QLoRA 微調 Gemma 3 4B。訓練速度很快——500 個範例在 rank 16 下通常在 12-18 分鐘內完成。
裝置端任務的資料集策略
裝置端任務有特定限制,應該塑造你的訓練資料:
簡短輸入,簡潔輸出。 在裝置端,每個 token 都有延遲和記憶體成本。訓練模型產生最小化的結構化輸出:
{"instruction": "Classify intent", "input": "Where's my order?", "output": "order_status"}
{"instruction": "Classify intent", "input": "I want to cancel", "output": "cancellation"}
{"instruction": "Classify intent", "input": "How do I change my payment method?", "output": "account_settings"}而非:
{"instruction": "Classify the customer's intent from the following message", "input": "Where's my order?", "output": "The customer's intent is to check their order status. Category: order_status"}冗長版本在輸入(較長的指令)和輸出(沒人要求的解釋)兩方面都浪費了 token。在以 28 t/s 生成的手機上,每個不必要的 token 都增加 36ms 的延遲。
針對延遲敏感模式進行優化。 如果模型需要在 200ms 內回應,你的訓練輸出應該少於 15 個 token。相應地設計你的任務格式。單標籤分類(1 個 token 輸出)是裝置端的理想選擇。簡短的 JSON 物件(5-10 個 token)是可接受的。段落長度的生成不適合延遲敏感的裝置端使用。
包含真實裝置使用中的邊緣案例。 行動用戶的輸入方式與桌面用戶不同——更多錯字、更多縮寫、更多非正式語言。在訓練資料中加入混亂的真實輸入:
{"instruction": "Classify intent", "input": "cant login pls help", "output": "authentication"}
{"instruction": "Classify intent", "input": "where tf is my package", "output": "order_status"}
{"instruction": "Classify intent", "input": "refudn pls", "output": "refund"}訓練配置
Gemma 3 4B 裝置端微調的建議設定:
| 參數 | 值 | 備註 |
|---|---|---|
| LoRA rank | 16 | 足夠用於分類/擷取 |
| 學習率 | 2e-4 | 標準值 |
| Epochs | 5-6 | 小模型需要更多訓練輪次 |
| Batch size | 8 | 較小的模型允許較大的批次 |
| 最大序列長度 | 512 | 裝置端任務保持簡短 |
| Warmup ratio | 0.1 | 稍高以提高穩定性 |
將最大序列長度設為 512 而非預設的 2048,可以顯著加快訓練速度,並產生針對裝置端使用典型的短輸入優化的模型。如果你的裝置端任務涉及較長的文件,可根據需要增加到 1024 或 2048。
GGUF 匯出與行動裝置量 化
微調後,匯出為 GGUF 格式。你選擇的量化等級取決於你的部署目標:
| 量化 | 模型大小 | 品質損失 | 最適合 |
|---|---|---|---|
| Q4_0 | 2.1 GB | 3-4% | 最小體積,記憶體受限裝置 |
| Q4_K_M | 2.5 GB | 1.5-2% | 良好平衡,大多數行動部署 |
| Q5_K_M | 2.9 GB | 0.5-1% | 較高品質,有 4 GB 以上可用 RAM 的裝置 |
| Q8_0 | 4.2 GB | 低於 0.5% |