AndroidbenchmarksSnapdragonTensorExynoson-device AIllama.cpp
Android LLM 效能基準:Snapdragon 對比 Tensor
使用 llama.cpp 實測 1B 與 3B 模型在 Snapdragon、Tensor、Exynos 和 Dimensity 手機上的 token 速度,以及每個層級所需的 RAM。
Edward Xi Yang
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 碎片化可透過分層方式管理: