
移动端量化指南: Q4、Q5 和 Q8 在真实设备上的表现
GGUF 量化级别移动端部署实用指南。Q4、Q5 和 Q8 如何影响 iPhone 和 Android 设备上的模型大小、速度、质量和内存使用。
量化是让 LLM 能在手机上运行的关键。一个 3B 参数模型在全精度(FP16)下占 6GB。量化到 Q4 后只需 1.7GB。模型大致相同,只是存储效率更高。
但"大致相同"隐藏了重要的细微差别。不同的量化级别在大小和速度与质量之间进行权衡。为你的移动应用选择正确的级别需要了解这些在真实硬件上的折衷。
量化做了什么
LLM 权重以数字形式存储。全精度使用每个权重 16 位(FP16)。量化减少每个权重的位数,从而缩小模型:
| 格式 | 每权重位数 | 3B 模型大小 | 相对质量 |
|---|---|---|---|
| FP16 | 16 | ~6GB | 100%(基准) |
| Q8_0 | 8 | ~3.2GB | ~99.5% |
| Q6_K | 6 | ~2.5GB | ~99% |
| Q5_K_M | 5 | ~2.1GB | ~98.5% |
| Q4_K_M | 4 | ~1.7GB | ~97.5% |
| Q4_0 | 4 | ~1.6GB | ~96% |
| Q3_K_M | 3 | ~1.4GB | ~93% |
| Q2_K | 2 | ~1.1GB | ~85% |
"_K_M" 后缀表示 k-quant 中等质量,这 是 llama.cpp 中的一种量化方法,根据各层的重要性对不同层应用不同的位宽。这比均匀量化更好地保留了质量。
最佳选择: Q4_K_M
对于移动端部署, Q4_K_M 是标准选择。原因如下:
大小: 比 FP16 大约小 4 倍。3B 模型只需 1.7GB,完全在移动应用的存储预算之内。
质量: 约为 FP16 质量的 97.5%,在大多数任务上退化几乎不可测量。对于模型经过微调的领域特定任务,微调数据会补偿任何量化损失。
速度: 更小的权重意味着推理期间使用更少的内存带宽。Q4 模型通常比更高精度版本运行更快,因为内存瓶颈减小了。
兼容性: 1B 适配 4GB+ RAM 设备, 3B 适配 6GB+ RAM 设备。覆盖了绝大多数活跃智能手机。
量化级别在真实设备上的对比
3B 模型, iPhone 15 Pro (A17 Pro, 8GB RAM)
| 量化 | 大小 | Token/秒 | 内存使用 | 质量(困惑度) |
|---|---|---|---|---|
| Q8_0 | 3.2GB | 14-18 | 4.0GB | 8.12 |
| Q6_K | 2.5GB | 16-20 | 3.2GB | 8.18 |
| Q5_K_M | 2.1GB | 17-22 | 2.7GB | 8.25 |
| Q4_K_M | 1.7GB | 18-25 | 2.2GB | 8.38 |
| Q4_0 | 1.6GB | 19-26 | 2.1GB | 8.52 |
| Q3_K_M | 1.4GB | 20-27 | 1.9GB | 9.05 |
| Q2_K | 1.1GB | 22-29 | 1.5GB | 11.4 |
困惑度越低越好。Q4_K_M 到 Q8_0 之间的质量范围很窄(8.12-8.38)。Q4 以下,质量明显下降。Q3 以下,退化显著。
3B 模型, Galaxy S24 (骁龙 8 Gen 3, 8GB RAM)
| 量化 | 大小 | Token/秒 (Vulkan) | 内存使用 |
|---|---|---|---|
| Q8_0 | 3.2GB | 16-20 | 4.0GB |
| Q5_K_M | 2.1GB | 20-25 | 2.7GB |
| Q4_K_M | 1.7GB | 22-28 | 2.2GB |
| Q3_K_M | 1.4GB | 24-30 | 1.9GB |
1B 模型, iPhone 14 (A15, 6GB RAM)
| 量化 | 大小 | Token/秒 | 内存使用 |
|---|---|---|---|
| Q8_0 | 1.1GB | 20-26 | 1.4GB |
| Q5_K_M | 750MB | 23-30 | 1.0GB |
| Q4_K_M | 600MB | 25-32 | 800MB |
| Q3_K_M | 500MB | 27-34 | 700MB |
何时使用各级别
Q4_K_M(默认选择)
除非有特定理由,否则使用此级别。大小、速度和质量之间的最佳整体平衡。移动端部署的标准。
- 适用于: 所有发布 GGUF 模型的移动应用
- 设备要求: 4GB+(1B)或 6GB+(3B)
Q5_K_M(质量优先)
当质量至关重要且你的目标设备有空间容纳更大文件时使用。相比 Q4_K_M 的质量提升很小但在需要精确措辞的任务上可以测量到。
- 适用于: 医疗、法律或金融应用,词语级准确性很重要
- 设备要求: 6GB+(1B)或 8GB+(3B)
- 大小增加: 比 Q4_K_M 增加约 25%
Q8_0(最高质量)
仅在 RAM 充裕的旗舰设备上使用。质量几乎与 FP16 相同。速度较慢,内存使用较高。
- 适用于: 测试和基准测试,非典型生产部署
- 设备要求: 8GB+(1B)或 12GB+(3B)
- 大小增加: 比 Q4_K_M 增加约 90%
Q3_K_M(大小优先)
当你需要将模型挤进受限设备时使用。质量明显下降,但对于简单任务(分类、是/否、短回答),可能是可接受的。
- 适用于: 入门级设备,或在通常只能放 1B Q4 的空间放入 3B 模型
- 质量风险: 在细微任务上有明显退化
- 大小节省: 比 Q4_K_M 减少约 18%
Q2_K(不推荐)
严重的质量退化。模型经常生成不连贯或不正确的输出。不适合生产使用。
微调与量化
微调在全精度(FP16 或 BF16)下进行。量化在训练后作为导出步骤应用。工作流程:
- 在你的训练数据上使用 LoRA 微调模型(全精度)
- 将 LoRA 适配器合并到基础模型中
- 按目标级别量化为 GGUF(大多数情况下使用 Q4_K_M)
- 在你的评估集上测试量化后的模型
Ertas 等平台端到端处理此流程。你上传训练数据,选择基础模型,训练,然后直接以你选择的量化级别导出为 GGUF。
量化对微调模型影响更大吗?
略微。微调后的模型在权重中打包了更多信息(领域特定知识)。激进量化(Q3 及以下)可能会丢失部分特定知识。
实际中, Q4_K_M 很好地保留了微调后的准确性。在领域特定基准上, Q4_K_M 和 FP16 之间的质量差异通常不到 2 个百分点。Q3_K_M 可能显示 3-5 个点的退化。
实用建议
- 默认选择 Q4_K_M。 它成为标准是有原因的。先用此级别测试。
- 先微调再优化量化。 微调后的 Q4 模型在领域任务上优于未调优的 Q8 模型。
- 在你的任务上测试,而非通用基准。 困惑度是代理指标。真正重要的是你的模型在你选择的量化级别下,在你特定评估集上的准确性。
- 每个模型大小只提供一个量化级别。 不要让用户在 Q4 和 Q5 之间选择。发布 Q4_K_M 以实现广泛兼容。如果你同时支持 1B 和 3B,那就有足够的选择性了。
- 测量真实场景性能。 在量化后的模型上运行你的评估套件。如果准确率与 FP16 相差 2% 以内,就可以发布。
Ship AI that runs on your users' devices.
Free plan with 30 credits/mo, no card required. Paid plans from $25/mo USD.
Ship AI that runs on your users' devices.
Free plan with 30 credits/mo, no card required. Paid plans from $25/mo USD.
Keep reading

Gemma 3移动端: 微调与端侧部署
如何在移动端使用Google的Gemma 3模型。模型选择、LoRA微调、GGUF导出,以及通过llama.cpp在iOS和Android上的部署。

Llama 3.2移动应用: 微调与端侧部署
使用Meta Llama 3.2 1B和3B模型构建移动应用的完整指南。涵盖LoRA微调、GGUF导出以及通过llama.cpp在iOS和Android上的部署。

LLM 真的能在 iPhone 上运行吗? 基准测试与实际表现
通过 llama.cpp 在 iPhone 上运行 LLM 的真实基准数据。从 iPhone 12 到 iPhone 16 Pro 各机型的 token 生成速度、内存使用和热量表现。