Android LLM 效能基準:Snapdragon 對比 Tensor
使用 llama.cpp 實測 1B 與 3B 模型在 Snapdragon、Tensor、Exynos 和 Dimensity 手機上的 token 速度,以及每個層級所需的 RAM。
Android 的晶片組多樣性對裝置端 AI 來說既是挑戰也是機會。不像 iOS 只需針對少數 A 系列晶片,Android 涵蓋了 Qualcomm Snapdragon、Google Tensor、Samsung Exynos 和 MediaTek Dimensity,分布在數百款裝置型號上。
好消息是:旗艦和近期中階 Android 裝置以可用的速度運行 1-3B 參數模型。只要你瞄準正確的層級,碎片化是可以管理的。
晶片組版圖
旗艦(2023-2026)
| 晶片組 | 範例裝置 | RAM | GPU |
|---|---|---|---|
| Snapdragon 8 Gen 3 | Galaxy S24, OnePlus 12 | 8-12GB | Adreno 750 |
| Snapdragon 8 Elite | Galaxy S25, OnePlus 13 | 12-16GB | Adreno 830 |
| Tensor G3 | Pixel 8, 8 Pro | 12GB | Mali-G715 |
| Tensor G4 | Pixel 9, 9 Pro | 12-16GB | Mali-G715 |
| Exynos 2400 | Galaxy S24(國際版) | 8-12GB | Xclipse 940 |
| Dimensity 9300 | 各品牌旗艦 | 8-16GB | Immortalis-G720 |
中階(2024-2026)
| 晶片組 | 範例裝置 | RAM | GPU |
|---|---|---|---|
| Snapdragon 7+ Gen 3 | 2024+ 中階 | 8-12GB | Adreno 732 |
| Snapdragon 7 Gen 3 | 2024+ 中階 | 6-8GB | Adreno 720 |
| Dimensity 8300 | 2024+ 中階 | 8-12GB | Mali-G615 |
| Tensor G2 | Pixel 7 系列 | 8GB | Mali-G710 |
入門(2024-2026)
| 晶片組 | 範例裝置 | RAM | GPU |
|---|---|---|---|
| Snapdragon 6 Gen 3 | 2024+ 入門 | 4-6GB | Adreno 710 |
| Dimensity 7300 | 2024+ 入門 | 6-8GB | Mali-G615 |
| Helio G99 | 入門裝置 | 4-6GB | Mali-G57 |
基準測試結果
所有基準測試使用 llama.cpp 搭配 CPU 推理(多執行緒)以及可用時的 Vulkan GPU 加速。GGUF Q4_K_M 量化,2048 上下文長度。
1B 參數模型(約 600MB GGUF Q4)
| 晶片組 | CPU (tok/s) | GPU/Vulkan (tok/s) | 記憶體 |
|---|---|---|---|
| SD 8 Elite | 35-45 | 45-55 | ~800MB |
| SD 8 Gen 3 | 30-40 | 40-50 | ~800MB |
| SD 8 Gen 2 | 25-35 | 35-45 | ~800MB |
| Tensor G4 | 28-35 | 35-42 | ~800MB |
| Tensor G3 | 25-32 | 30-38 | ~800MB |
| Exynos 2400 | 25-35 | 32-42 | ~800MB |
| SD 7+ Gen 3 | 22-28 | 28-35 | ~800MB |
| SD 7 Gen 3 | 18-25 | 22-30 | ~800MB |
| Dimensity 8300 | 20-28 | 25-33 | ~800MB |
| SD 6 Gen 3 | 12-18 | 15-22 | ~800MB |
過去 2-3 年的每款旗艦和中階晶片組都能以每秒 20 token 以上的速度運行 1B 模型。即使入門級的 Snapdragon 6 Gen 3 也能提供可用的效能。
3B 參數模型(約 1.7GB GGUF Q4)
| 晶片組 | CPU (tok/s) | GPU/Vulkan (tok/s) | 記憶體 |
|---|---|---|---|
| SD 8 Elite | 18-25 | 22-30 | ~2.2GB |
| SD 8 Gen 3 | 15-22 | 20-28 | ~2.2GB |
| SD 8 Gen 2 | 12-18 | 16-22 | ~2.2GB |
| Tensor G4 | 14-20 | 18-24 | ~2.2GB |
| Tensor G3 | 12-16 | 15-20 | ~2.2GB |
| Exynos 2400 | 12-18 | 16-22 | ~2.2GB |
| SD 7+ Gen 3 | 10-14 | 13-18 | ~2.2GB |
| SD 7 Gen 3 | 7-11 | 9-14 | ~2.2GB |
| SD 6 Gen 3 | 4-7 | 5-9 | ~2.2GB |
3B 模型在旗艦裝置上運行良好(搭配 GPU 達 15+ tok/s)。中高階裝置(SD 7+ Gen 3、Dimensity 8300)可用。中低階和入門裝置難以達到舒適聊天的 10 tok/s 門檻。
Vulkan GPU 加速
Vulkan GPU 加速是 Android 上快速裝置端推理的關鍵。相比純 CPU 推理,大多數裝置的提升幅度在 20-40%:
- Snapdragon 8 Gen 3:搭配 Vulkan 提升 30-35%
- Tensor G4:提升 25-30%
- Exynos 2400:提升 20-30%
- 中階 Snapdragon 7:提升 20-25%
llama.cpp 透過 n_gpu_layers 參數啟用 Vulkan 加速。將其設定為模型的完整層數即可將所有運算卸載到 GPU。
碎片化策略
Android 碎片化可透過分層方式管理:
第 1 層:1B 模型(4GB+ RAM)
涵蓋 85% 以上的在用 Android 裝置。包括過去 3-4 年的所有智慧型手機、過去 2 年的大多數入門裝置。
- 模型大小:約 600MB(Q4_K_M)
- RAM 需求:推理時 800MB
- 速度:根據晶片組 12-55 tok/s
- 適合:分類、自動完成、智慧建議、短回應
第 2 層:3B 模型(8GB+ RAM)
涵蓋過去 2-3 年的旗艦和中高階裝置。在已開發市場大約 40-50% 的在用 Android 裝置,且逐年增長。
- 模型大小:約 1.7GB(Q4_K_M)
- RAM 需求:推理時 2.2GB
- 速度:在支援的裝置上 10-30 tok/s
- 適合:聊天、摘要、內容生成、複雜任務
運行時偵測
在運行時偵測可用 RAM 和晶片組以選擇適當的模型:
fun selectModelTier(): ModelTier {
val memInfo = ActivityManager.MemoryInfo()
val activityManager = getSystemService(ACTIVITY_SERVICE) as ActivityManager
activityManager.getMemoryInfo(memInfo)
val totalRamGb = memInfo.totalMem / (1024 * 1024 * 1024)
return when {
totalRamGb >= 8 -> ModelTier.THREE_B
totalRamGb >= 4 -> ModelTier.ONE_B
else -> ModelTier.NONE // 裝置條件太受限
}
}溫度和電池影響
溫度節流
Android 裝置在持續推理期間比 iPhone 更容易出現溫度節流。節流行為因廠商而異:
- Samsung:積極節流,持續負載 3-5 分鐘後速度降低 20-40%
- Pixel:適度節流,5-7 分鐘後降低 15-25%
- OnePlus/電競手機:較為寬鬆,降低 10-20%
電池消耗
運行推理大約消耗:
- 1B 模型:生成時 2-3W
- 3B 模型:生成時 3-5W
作為參考,典型手機電池容量為 4,000-5,500 mAh。3B 模型持續生成大約每分鐘消耗 1% 電量。對於典型使用模式(每小時幾次短互動),電池影響可以忽略不計。
最佳化
- 使用與裝置效能核心數量匹配的 CPU 執行緒數(通常為 4)
- 不使用時卸載模型以消除閒置功耗
- 對於背景任務(分類、標記),批次處理比逐次呼叫更省電
對開發者的意義
-
1B 模型是普遍可行的。 以 1B 為目標以獲得廣泛覆蓋。在你的領域上微調以在此大小下最大化品質。
-
3B 模型適合旗艦裝置。 如果你的使用者群偏向較新的裝置(付費應用程式中常見),3B 提供明顯更好的生成品質。
-
Vulkan 很重要。 務必啟用 GPU 加速。20-40% 的速度提升是免費的效能。
-
偵測並適應。 使用運行時 RAM 偵測來提供正確的模型層級。不要在 4GB 裝置上強制使用 3B 模型。
-
微調,不只是縮小。 在你的領域資料上微調的 1B 模型,在你的特定任務上優於通用 3B。像 Ertas 這樣的平台讓這變得容易:上傳資料、使用 LoRA 訓練、匯出 GGUF、部署。
Android 生態系統擁有硬體。推理引擎(llama.cpp)處理了晶片組的多樣性。缺少的部分是適合你使用場景的正確模型。
Ship AI that runs on your users' devices.
Free plan with 30 credits/mo, no card required. Paid plans from $10/mo USD.
Keep reading
Android 應用程式的 AI:ML Kit、雲端 API 與裝置端 LLM 比較
Android 應用程式的三條 AI 路徑。Google ML Kit 用於常見任務,雲端 API 提供完整 LLM 能力,裝置端模型透過 llama.cpp 實現成本與隱私。為 Kotlin 開發者提供的實用比較。
llama.cpp Android 整合:Kotlin 與 Vulkan 指南
將 llama.cpp 整合到 Android 應用程式,使用 Kotlin。涵蓋 JNI 繫結、Vulkan GPU 加速、模型載入、記憶體管理與裝置測試。
LLM 真的能在 iPhone 上運行嗎?效能基準與實際表現
透過 llama.cpp 在 iPhone 上運行 LLM 的真實基準資料。從 iPhone 12 到 iPhone 16 Pro 各機型的 token 生成速度、記憶體使用量和溫度表現。